Mercurial > libavcodec.hg
comparison cook.c @ 3090:19260d5b8c39 libavcodec
Small cosmetics and better variable names.
author | banan |
---|---|
date | Mon, 06 Feb 2006 11:03:37 +0000 |
parents | 0b546eab515d |
children | 0284d5b34916 |
comparison
equal
deleted
inserted
replaced
3089:072dbc669253 | 3090:19260d5b8c39 |
---|---|
88 int bit_rate; | 88 int bit_rate; |
89 int sample_rate; | 89 int sample_rate; |
90 int samples_per_channel; | 90 int samples_per_channel; |
91 int samples_per_frame; | 91 int samples_per_frame; |
92 int subbands; | 92 int subbands; |
93 int numvector_bits; | 93 int log2_numvector_size; |
94 int numvector_size; //1 << numvector_bits; | 94 int numvector_size; //1 << log2_numvector_size; |
95 int js_subband_start; | 95 int js_subband_start; |
96 int total_subbands; | 96 int total_subbands; |
97 int num_vectors; | 97 int num_vectors; |
98 int bits_per_subpacket; | 98 int bits_per_subpacket; |
99 /* states */ | 99 /* states */ |
696 memset(&category, 0, 128*sizeof(int)); | 696 memset(&category, 0, 128*sizeof(int)); |
697 memset(&quant_value_table, 0, 102*sizeof(int)); | 697 memset(&quant_value_table, 0, 102*sizeof(int)); |
698 memset(&category_index, 0, 128*sizeof(int)); | 698 memset(&category_index, 0, 128*sizeof(int)); |
699 | 699 |
700 decode_envelope(q, quant_index_table); | 700 decode_envelope(q, quant_index_table); |
701 q->num_vectors = get_bits(&q->gb,q->numvector_bits); | 701 q->num_vectors = get_bits(&q->gb,q->log2_numvector_size); |
702 dequant_envelope(q, quant_index_table, quant_value_table); | 702 dequant_envelope(q, quant_index_table, quant_value_table); |
703 categorize(q, quant_index_table, category, category_index); | 703 categorize(q, quant_index_table, category, category_index); |
704 expand_category(q, category, category_index); | 704 expand_category(q, category, category_index); |
705 decode_vectors(q, category, quant_value_table, mlt_buffer); | 705 decode_vectors(q, category, quant_value_table, mlt_buffer); |
706 } | 706 } |
952 * | 952 * |
953 * @param q pointer to the COOKContext | 953 * @param q pointer to the COOKContext |
954 * @param inbuffer pointer to the inbuffer | 954 * @param inbuffer pointer to the inbuffer |
955 * @param sub_packet_size subpacket size | 955 * @param sub_packet_size subpacket size |
956 * @param outbuffer pointer to the outbuffer | 956 * @param outbuffer pointer to the outbuffer |
957 * @param pos the subpacket number in the frame | |
958 */ | 957 */ |
959 | 958 |
960 | 959 |
961 static int decode_subpacket(COOKContext *q, uint8_t *inbuffer, | 960 static int decode_subpacket(COOKContext *q, uint8_t *inbuffer, |
962 int sub_packet_size, int16_t *outbuffer) { | 961 int sub_packet_size, int16_t *outbuffer) { |
1117 | 1116 |
1118 *data_size = decode_subpacket(q, buf, avctx->block_align, data); | 1117 *data_size = decode_subpacket(q, buf, avctx->block_align, data); |
1119 | 1118 |
1120 return avctx->block_align; | 1119 return avctx->block_align; |
1121 } | 1120 } |
1121 | |
1122 #ifdef COOKDEBUG | 1122 #ifdef COOKDEBUG |
1123 static void dump_cook_context(COOKContext *q, COOKextradata *e) | 1123 static void dump_cook_context(COOKContext *q, COOKextradata *e) |
1124 { | 1124 { |
1125 //int i=0; | 1125 //int i=0; |
1126 #define PRINT(a,b) av_log(NULL,AV_LOG_ERROR," %s = %d\n", a, b); | 1126 #define PRINT(a,b) av_log(NULL,AV_LOG_ERROR," %s = %d\n", a, b); |
1138 PRINT("samples_per_frame",q->samples_per_frame); | 1138 PRINT("samples_per_frame",q->samples_per_frame); |
1139 PRINT("subbands",q->subbands); | 1139 PRINT("subbands",q->subbands); |
1140 PRINT("random_state",q->random_state); | 1140 PRINT("random_state",q->random_state); |
1141 PRINT("mlt_size",q->mlt_size); | 1141 PRINT("mlt_size",q->mlt_size); |
1142 PRINT("js_subband_start",q->js_subband_start); | 1142 PRINT("js_subband_start",q->js_subband_start); |
1143 PRINT("numvector_bits",q->numvector_bits); | 1143 PRINT("log2_numvector_size",q->log2_numvector_size); |
1144 PRINT("numvector_size",q->numvector_size); | 1144 PRINT("numvector_size",q->numvector_size); |
1145 PRINT("total_subbands",q->total_subbands); | 1145 PRINT("total_subbands",q->total_subbands); |
1146 } | 1146 } |
1147 #endif | 1147 #endif |
1148 | |
1148 /** | 1149 /** |
1149 * Cook initialization | 1150 * Cook initialization |
1150 * | 1151 * |
1151 * @param avctx pointer to the AVCodecContext | 1152 * @param avctx pointer to the AVCodecContext |
1152 */ | 1153 */ |
1189 q->subbands = e->subbands; | 1190 q->subbands = e->subbands; |
1190 q->bits_per_subpacket = avctx->block_align * 8; | 1191 q->bits_per_subpacket = avctx->block_align * 8; |
1191 | 1192 |
1192 /* Initialize default data states. */ | 1193 /* Initialize default data states. */ |
1193 q->js_subband_start = 0; | 1194 q->js_subband_start = 0; |
1194 q->numvector_bits = 5; | 1195 q->log2_numvector_size = 5; |
1195 q->total_subbands = q->subbands; | 1196 q->total_subbands = q->subbands; |
1196 | 1197 |
1197 /* Initialize version-dependent variables */ | 1198 /* Initialize version-dependent variables */ |
1198 av_log(NULL,AV_LOG_DEBUG,"e->cookversion=%x\n",e->cookversion); | 1199 av_log(NULL,AV_LOG_DEBUG,"e->cookversion=%x\n",e->cookversion); |
1199 switch (e->cookversion) { | 1200 switch (e->cookversion) { |
1222 q->js_subband_start = e->js_subband_start; | 1223 q->js_subband_start = e->js_subband_start; |
1223 q->joint_stereo = 1; | 1224 q->joint_stereo = 1; |
1224 q->js_vlc_bits = e->js_vlc_bits; | 1225 q->js_vlc_bits = e->js_vlc_bits; |
1225 } | 1226 } |
1226 if (q->samples_per_channel > 256) { | 1227 if (q->samples_per_channel > 256) { |
1227 q->numvector_bits++; // q->numvector_bits = 6 | 1228 q->log2_numvector_size = 6 |
1228 } | 1229 } |
1229 if (q->samples_per_channel > 512) { | 1230 if (q->samples_per_channel > 512) { |
1230 q->numvector_bits++; // q->numvector_bits = 7 | 1231 q->log2_numvector_size = 7 |
1231 } | 1232 } |
1232 break; | 1233 break; |
1233 case MC_COOK: | 1234 case MC_COOK: |
1234 av_log(NULL,AV_LOG_ERROR,"MC_COOK not supported!\n"); | 1235 av_log(NULL,AV_LOG_ERROR,"MC_COOK not supported!\n"); |
1235 return -1; | 1236 return -1; |
1240 break; | 1241 break; |
1241 } | 1242 } |
1242 | 1243 |
1243 /* Initialize variable relations */ | 1244 /* Initialize variable relations */ |
1244 q->mlt_size = q->samples_per_channel; | 1245 q->mlt_size = q->samples_per_channel; |
1245 q->numvector_size = (1 << q->numvector_bits); | 1246 q->numvector_size = (1 << q->log2_numvector_size); |
1246 | 1247 |
1247 /* Generate tables */ | 1248 /* Generate tables */ |
1248 init_rootpow2table(q); | 1249 init_rootpow2table(q); |
1249 init_pow2table(q); | 1250 init_pow2table(q); |
1250 init_gain_table(q); | 1251 init_gain_table(q); |