Mercurial > libavcodec.hg
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; |