comparison eac3dec.c @ 9891:7ad7d4094d1f libavcodec

Rename ff_log_missing_feature() to av_log_missing_feature().
author rbultje
date Mon, 29 Jun 2009 19:07:04 +0000
parents d23332ab364f
children 68de5143aa45
comparison
equal deleted inserted replaced
9890:956adcb2b00d 9891:7ad7d4094d1f
212 212
213 /* An E-AC-3 stream can have multiple independent streams which the 213 /* An E-AC-3 stream can have multiple independent streams which the
214 application can select from. each independent stream can also contain 214 application can select from. each independent stream can also contain
215 dependent streams which are used to add or replace channels. */ 215 dependent streams which are used to add or replace channels. */
216 if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) { 216 if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) {
217 ff_log_missing_feature(s->avctx, "Dependent substream decoding", 1); 217 av_log_missing_feature(s->avctx, "Dependent substream decoding", 1);
218 return AAC_AC3_PARSE_ERROR_FRAME_TYPE; 218 return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
219 } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) { 219 } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) {
220 av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n"); 220 av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n");
221 return AAC_AC3_PARSE_ERROR_FRAME_TYPE; 221 return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
222 } 222 }
224 /* The substream id indicates which substream this frame belongs to. each 224 /* The substream id indicates which substream this frame belongs to. each
225 independent stream has its own substream id, and the dependent streams 225 independent stream has its own substream id, and the dependent streams
226 associated to an independent stream have matching substream id's. */ 226 associated to an independent stream have matching substream id's. */
227 if (s->substreamid) { 227 if (s->substreamid) {
228 /* only decode substream with id=0. skip any additional substreams. */ 228 /* only decode substream with id=0. skip any additional substreams. */
229 ff_log_missing_feature(s->avctx, "Additional substreams", 1); 229 av_log_missing_feature(s->avctx, "Additional substreams", 1);
230 return AAC_AC3_PARSE_ERROR_FRAME_TYPE; 230 return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
231 } 231 }
232 232
233 if (s->bit_alloc_params.sr_code == EAC3_SR_CODE_REDUCED) { 233 if (s->bit_alloc_params.sr_code == EAC3_SR_CODE_REDUCED) {
234 /* The E-AC-3 specification does not tell how to handle reduced sample 234 /* The E-AC-3 specification does not tell how to handle reduced sample
235 rates in bit allocation. The best assumption would be that it is 235 rates in bit allocation. The best assumption would be that it is
236 handled like AC-3 DolbyNet, but we cannot be sure until we have a 236 handled like AC-3 DolbyNet, but we cannot be sure until we have a
237 sample which utilizes this feature. */ 237 sample which utilizes this feature. */
238 ff_log_missing_feature(s->avctx, "Reduced sampling rates", 1); 238 av_log_missing_feature(s->avctx, "Reduced sampling rates", 1);
239 return -1; 239 return -1;
240 } 240 }
241 skip_bits(gbc, 5); // skip bitstream id 241 skip_bits(gbc, 5); // skip bitstream id
242 242
243 /* volume control params */ 243 /* volume control params */
490 } 490 }
491 } 491 }
492 492
493 /* spectral extension attenuation data */ 493 /* spectral extension attenuation data */
494 if (parse_spx_atten_data) { 494 if (parse_spx_atten_data) {
495 ff_log_missing_feature(s->avctx, "Spectral extension attenuation", 1); 495 av_log_missing_feature(s->avctx, "Spectral extension attenuation", 1);
496 for (ch = 1; ch <= s->fbw_channels; ch++) { 496 for (ch = 1; ch <= s->fbw_channels; ch++) {
497 if (get_bits1(gbc)) { // channel has spx attenuation 497 if (get_bits1(gbc)) { // channel has spx attenuation
498 skip_bits(gbc, 5); // skip spx attenuation code 498 skip_bits(gbc, 5); // skip spx attenuation code
499 } 499 }
500 } 500 }
506 nblkstrtbits = (numblks - 1) * (4 + ceiling(log2(words_per_frame))) 506 nblkstrtbits = (numblks - 1) * (4 + ceiling(log2(words_per_frame)))
507 The spec does not say what this data is or what it's used for. 507 The spec does not say what this data is or what it's used for.
508 It is likely the offset of each block within the frame. */ 508 It is likely the offset of each block within the frame. */
509 int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2)); 509 int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2));
510 skip_bits_long(gbc, block_start_bits); 510 skip_bits_long(gbc, block_start_bits);
511 ff_log_missing_feature(s->avctx, "Block start info", 1); 511 av_log_missing_feature(s->avctx, "Block start info", 1);
512 } 512 }
513 513
514 /* syntax state initialization */ 514 /* syntax state initialization */
515 for (ch = 1; ch <= s->fbw_channels; ch++) { 515 for (ch = 1; ch <= s->fbw_channels; ch++) {
516 s->first_cpl_coords[ch] = 1; 516 s->first_cpl_coords[ch] = 1;