xref: /aosp_15_r20/external/libgsm/src/gsm_option.c (revision 8ec969cea971fe25ff2d3933a5a9f8504f8e86c9)
1*8ec969ceSTreehugger Robot /*
2*8ec969ceSTreehugger Robot  * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
3*8ec969ceSTreehugger Robot  * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
4*8ec969ceSTreehugger Robot  * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
5*8ec969ceSTreehugger Robot  */
6*8ec969ceSTreehugger Robot 
7*8ec969ceSTreehugger Robot /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_option.c,v 1.3 1996/07/02 09:59:05 jutta Exp $ */
8*8ec969ceSTreehugger Robot 
9*8ec969ceSTreehugger Robot #include "private.h"
10*8ec969ceSTreehugger Robot 
11*8ec969ceSTreehugger Robot #include "gsm.h"
12*8ec969ceSTreehugger Robot #include "proto.h"
13*8ec969ceSTreehugger Robot 
14*8ec969ceSTreehugger Robot int gsm_option P3((r, opt, val), gsm r, int opt, int * val)
15*8ec969ceSTreehugger Robot {
16*8ec969ceSTreehugger Robot 	int 	result = -1;
17*8ec969ceSTreehugger Robot 
18*8ec969ceSTreehugger Robot 	switch (opt) {
19*8ec969ceSTreehugger Robot 	case GSM_OPT_LTP_CUT:
20*8ec969ceSTreehugger Robot #ifdef 	LTP_CUT
21*8ec969ceSTreehugger Robot 		result = r->ltp_cut;
22*8ec969ceSTreehugger Robot 		if (val) r->ltp_cut = *val;
23*8ec969ceSTreehugger Robot #endif
24*8ec969ceSTreehugger Robot 		break;
25*8ec969ceSTreehugger Robot 
26*8ec969ceSTreehugger Robot 	case GSM_OPT_VERBOSE:
27*8ec969ceSTreehugger Robot #ifndef	NDEBUG
28*8ec969ceSTreehugger Robot 		result = r->verbose;
29*8ec969ceSTreehugger Robot 		if (val) r->verbose = *val;
30*8ec969ceSTreehugger Robot #endif
31*8ec969ceSTreehugger Robot 		break;
32*8ec969ceSTreehugger Robot 
33*8ec969ceSTreehugger Robot 	case GSM_OPT_FAST:
34*8ec969ceSTreehugger Robot 
35*8ec969ceSTreehugger Robot #if	defined(FAST) && defined(USE_FLOAT_MUL)
36*8ec969ceSTreehugger Robot 		result = r->fast;
37*8ec969ceSTreehugger Robot 		if (val) r->fast = !!*val;
38*8ec969ceSTreehugger Robot #endif
39*8ec969ceSTreehugger Robot 		break;
40*8ec969ceSTreehugger Robot 
41*8ec969ceSTreehugger Robot 	case GSM_OPT_FRAME_CHAIN:
42*8ec969ceSTreehugger Robot 
43*8ec969ceSTreehugger Robot #ifdef WAV49
44*8ec969ceSTreehugger Robot 		result = r->frame_chain;
45*8ec969ceSTreehugger Robot 		if (val) r->frame_chain = *val;
46*8ec969ceSTreehugger Robot #endif
47*8ec969ceSTreehugger Robot 		break;
48*8ec969ceSTreehugger Robot 
49*8ec969ceSTreehugger Robot 	case GSM_OPT_FRAME_INDEX:
50*8ec969ceSTreehugger Robot 
51*8ec969ceSTreehugger Robot #ifdef WAV49
52*8ec969ceSTreehugger Robot 		result = r->frame_index;
53*8ec969ceSTreehugger Robot 		if (val) r->frame_index = *val;
54*8ec969ceSTreehugger Robot #endif
55*8ec969ceSTreehugger Robot 		break;
56*8ec969ceSTreehugger Robot 
57*8ec969ceSTreehugger Robot 	case GSM_OPT_WAV49:
58*8ec969ceSTreehugger Robot 
59*8ec969ceSTreehugger Robot #ifdef WAV49
60*8ec969ceSTreehugger Robot 		result = r->wav_fmt;
61*8ec969ceSTreehugger Robot 		if (val) r->wav_fmt = !!*val;
62*8ec969ceSTreehugger Robot #endif
63*8ec969ceSTreehugger Robot 		break;
64*8ec969ceSTreehugger Robot 
65*8ec969ceSTreehugger Robot 	default:
66*8ec969ceSTreehugger Robot 		break;
67*8ec969ceSTreehugger Robot 	}
68*8ec969ceSTreehugger Robot 	return result;
69*8ec969ceSTreehugger Robot }
70