Commit 79bf20ab authored by Felix Paul Kühne's avatar Felix Paul Kühne Committed by Rémi Denis-Courmont

ffmpeg/contrib: fixed logic bug which failed compilation on Darwin. Needs review.

(cherry picked from commit 9fd3d36c)
Signed-off-by: default avatarRémi Denis-Courmont <remi@remlab.net>
parent fc04f9f2
Index: ffmpeg/libavcodec/ac3dec.c Index: ac3dec.c
=================================================================== ===================================================================
--- ffmpeg/libavcodec/ac3dec.c (révision 19328) --- ac3dec.c (revision 19357)
+++ ffmpeg/libavcodec/ac3dec.c (copie de travail) +++ ac3dec.c (working copy)
@@ -819,15 +819,99 @@ @@ -819,15 +819,100 @@
/* spectral extension strategy */ /* spectral extension strategy */
if (s->eac3 && (!blk || get_bits1(gbc))) { if (s->eac3 && (!blk || get_bits1(gbc))) {
...@@ -45,6 +45,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -45,6 +45,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
+ for (ch = 1; ch <= fbw_channels; ch++) { + for (ch = 1; ch <= fbw_channels; ch++) {
+ s->channel_in_spx[ch] = 0; + s->channel_in_spx[ch] = 0;
+ s->first_spx_coords[ch] = 1; + s->first_spx_coords[ch] = 1;
+ }
+ } + }
if (get_bits1(gbc)) { if (get_bits1(gbc)) {
av_log_missing_feature(s->avctx, "Spectral extension", 1); av_log_missing_feature(s->avctx, "Spectral extension", 1);
...@@ -104,7 +105,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -104,7 +105,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
/* coupling strategy */ /* coupling strategy */
if (s->eac3 ? s->cpl_strategy_exists[blk] : get_bits1(gbc)) { if (s->eac3 ? s->cpl_strategy_exists[blk] : get_bits1(gbc)) {
memset(bit_alloc_stages, 3, AC3_MAX_CHANNELS); memset(bit_alloc_stages, 3, AC3_MAX_CHANNELS);
@@ -863,9 +947,9 @@ @@ -863,9 +948,9 @@
s->phase_flags_in_use = get_bits1(gbc); s->phase_flags_in_use = get_bits1(gbc);
/* coupling frequency range */ /* coupling frequency range */
...@@ -116,7 +117,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -116,7 +117,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
if (cpl_start_subband >= cpl_end_subband) { if (cpl_start_subband >= cpl_end_subband) {
av_log(s->avctx, AV_LOG_ERROR, "invalid coupling range (%d >= %d)\n", av_log(s->avctx, AV_LOG_ERROR, "invalid coupling range (%d >= %d)\n",
cpl_start_subband, cpl_end_subband); cpl_start_subband, cpl_end_subband);
@@ -938,8 +1022,11 @@ @@ -938,8 +1023,11 @@
if (channel_mode == AC3_CHMODE_STEREO) { if (channel_mode == AC3_CHMODE_STEREO) {
if ((s->eac3 && !blk) || get_bits1(gbc)) { if ((s->eac3 && !blk) || get_bits1(gbc)) {
s->num_rematrixing_bands = 4; s->num_rematrixing_bands = 4;
...@@ -129,7 +130,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -129,7 +130,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
for(bnd=0; bnd<s->num_rematrixing_bands; bnd++) for(bnd=0; bnd<s->num_rematrixing_bands; bnd++)
s->rematrixing_flags[bnd] = get_bits1(gbc); s->rematrixing_flags[bnd] = get_bits1(gbc);
} else if (!blk) { } else if (!blk) {
@@ -964,6 +1051,8 @@ @@ -964,6 +1052,8 @@
int prev = s->end_freq[ch]; int prev = s->end_freq[ch];
if (s->channel_in_cpl[ch]) if (s->channel_in_cpl[ch])
s->end_freq[ch] = s->start_freq[CPL_CH]; s->end_freq[ch] = s->start_freq[CPL_CH];
...@@ -138,7 +139,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -138,7 +139,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
else { else {
int bandwidth_code = get_bits(gbc, 6); int bandwidth_code = get_bits(gbc, 6);
if (bandwidth_code > 60) { if (bandwidth_code > 60) {
@@ -1160,8 +1249,6 @@ @@ -1160,8 +1254,6 @@
/* TODO: generate enhanced coupling coordinates and uncouple */ /* TODO: generate enhanced coupling coordinates and uncouple */
...@@ -147,7 +148,7 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -147,7 +148,7 @@ Index: ffmpeg/libavcodec/ac3dec.c
/* recover coefficients if rematrixing is in use */ /* recover coefficients if rematrixing is in use */
if(s->channel_mode == AC3_CHMODE_STEREO) if(s->channel_mode == AC3_CHMODE_STEREO)
do_rematrixing(s); do_rematrixing(s);
@@ -1177,6 +1264,10 @@ @@ -1177,6 +1269,10 @@
s->dsp.int32_to_float_fmul_scalar(s->transform_coeffs[ch], s->fixed_coeffs[ch], gain, 256); s->dsp.int32_to_float_fmul_scalar(s->transform_coeffs[ch], s->fixed_coeffs[ch], gain, 256);
} }
...@@ -158,10 +159,10 @@ Index: ffmpeg/libavcodec/ac3dec.c ...@@ -158,10 +159,10 @@ Index: ffmpeg/libavcodec/ac3dec.c
/* downmix and MDCT. order depends on whether block switching is used for /* downmix and MDCT. order depends on whether block switching is used for
any channel in this block. this is because coefficients for the long any channel in this block. this is because coefficients for the long
and short transforms cannot be mixed. */ and short transforms cannot be mixed. */
Index: ffmpeg/libavcodec/ac3dec.h Index: ac3dec.h
=================================================================== ===================================================================
--- ffmpeg/libavcodec/ac3dec.h (révision 19328) --- ac3dec.h (revision 19357)
+++ ffmpeg/libavcodec/ac3dec.h (copie de travail) +++ ac3dec.h (working copy)
@@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
#define AC3_MAX_COEFS 256 #define AC3_MAX_COEFS 256
#define AC3_BLOCK_SIZE 256 #define AC3_BLOCK_SIZE 256
...@@ -206,10 +207,10 @@ Index: ffmpeg/libavcodec/ac3dec.h ...@@ -206,10 +207,10 @@ Index: ffmpeg/libavcodec/ac3dec.h
+void ff_eac3_apply_spectral_extension(AC3DecodeContext *s); +void ff_eac3_apply_spectral_extension(AC3DecodeContext *s);
+ +
#endif /* AVCODEC_AC3DEC_H */ #endif /* AVCODEC_AC3DEC_H */
Index: ffmpeg/libavcodec/eac3dec.c Index: eac3dec.c
=================================================================== ===================================================================
--- ffmpeg/libavcodec/eac3dec.c (révision 19328) --- eac3dec.c (revision 19357)
+++ ffmpeg/libavcodec/eac3dec.c (copie de travail) +++ eac3dec.c (working copy)
@@ -23,10 +23,6 @@ @@ -23,10 +23,6 @@
/* /*
* There are several features of E-AC-3 that this decoder does not yet support. * There are several features of E-AC-3 that this decoder does not yet support.
...@@ -339,10 +340,10 @@ Index: ffmpeg/libavcodec/eac3dec.c ...@@ -339,10 +340,10 @@ Index: ffmpeg/libavcodec/eac3dec.c
s->first_cpl_coords[ch] = 1; s->first_cpl_coords[ch] = 1;
} }
s->first_cpl_leak = 1; s->first_cpl_leak = 1;
Index: ffmpeg/libavcodec/ac3dec_data.c Index: ac3dec_data.c
=================================================================== ===================================================================
--- ffmpeg/libavcodec/ac3dec_data.c (révision 19328) --- ac3dec_data.c (revision 19357)
+++ ffmpeg/libavcodec/ac3dec_data.c (copie de travail) +++ ac3dec_data.c (working copy)
@@ -1127,6 +1127,51 @@ @@ -1127,6 +1127,51 @@
{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1 }; { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1 };
...@@ -395,10 +396,10 @@ Index: ffmpeg/libavcodec/ac3dec_data.c ...@@ -395,10 +396,10 @@ Index: ffmpeg/libavcodec/ac3dec_data.c
* Table of bin locations for rematrixing bands * Table of bin locations for rematrixing bands
* reference: Section 7.5.2 Rematrixing : Frequency Band Definitions * reference: Section 7.5.2 Rematrixing : Frequency Band Definitions
*/ */
Index: ffmpeg/libavcodec/ac3dec_data.h Index: ac3dec_data.h
=================================================================== ===================================================================
--- ffmpeg/libavcodec/ac3dec_data.h (révision 19328) --- ac3dec_data.h (revision 19357)
+++ ffmpeg/libavcodec/ac3dec_data.h (copie de travail) +++ ac3dec_data.h (working copy)
@@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@
extern const int16_t (* const ff_eac3_mantissa_vq[8])[6]; extern const int16_t (* const ff_eac3_mantissa_vq[8])[6];
extern const uint8_t ff_eac3_frm_expstr[32][6]; extern const uint8_t ff_eac3_frm_expstr[32][6];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment