00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "private.h"
00010
00011 #include "gsm.h"
00012 #include "proto.h"
00013
00014 int gsm_option P3((r, opt, val), gsm r, int opt, int * val)
00015 {
00016 int result = -1;
00017
00018 switch (opt) {
00019 case GSM_OPT_LTP_CUT:
00020 #ifdef LTP_CUT
00021 result = r->ltp_cut;
00022 if (val) r->ltp_cut = *val;
00023 #endif
00024 break;
00025
00026 case GSM_OPT_VERBOSE:
00027 #ifndef NDEBUG
00028 result = r->verbose;
00029 if (val) r->verbose = *val;
00030 #endif
00031 break;
00032
00033 case GSM_OPT_FAST:
00034
00035 #if defined(FAST) && defined(USE_FLOAT_MUL)
00036 result = r->fast;
00037 if (val) r->fast = !!*val;
00038 #endif
00039 break;
00040
00041 case GSM_OPT_FRAME_CHAIN:
00042
00043 #ifdef WAV49
00044 result = r->frame_chain;
00045 if (val) r->frame_chain = *val;
00046 #endif
00047 break;
00048
00049 case GSM_OPT_FRAME_INDEX:
00050
00051 #ifdef WAV49
00052 result = r->frame_index;
00053 if (val) r->frame_index = *val;
00054 #endif
00055 break;
00056
00057 case GSM_OPT_WAV49:
00058
00059 #ifdef WAV49
00060 result = r->wav_fmt;
00061 if (val) r->wav_fmt = !!*val;
00062 #endif
00063 break;
00064
00065 default:
00066 break;
00067 }
00068 return result;
00069 }