[FFmpeg-devel] [PATCH] avcodec/aacenc: set pce value by options pce
Hendrik Leppkes
h.leppkes at gmail.com
Fri Nov 2 12:13:01 EET 2018
On Fri, Nov 2, 2018 at 10:17 AM Steven Liu <lq at chinaffmpeg.org> wrote:
>
> fix ticket: 7504
>
> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> ---
> libavcodec/aacenc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
> index 4d0abb107f..26175bdb39 100644
> --- a/libavcodec/aacenc.c
> +++ b/libavcodec/aacenc.c
> @@ -973,7 +973,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
> /* Channel map and unspecified bitrate guessing */
> s->channels = avctx->channels;
>
> - s->needs_pce = 1;
> + s->needs_pce = s->options.pce;
> for (i = 0; i < FF_ARRAY_ELEMS(aac_normal_chan_layouts); i++) {
> if (avctx->channel_layout == aac_normal_chan_layouts[i]) {
> s->needs_pce = s->options.pce;
This doesn't seem correct. PCE should be used if you feed the encode a
channel layout thats not supported without PCE - and the loop just
below your changed line will turn PCE off (or rather defer to the user
option) if a layout is used that doesn't need PCE.
If you just blindly turn PCE off, you'll cause endless regressions
for uncommon channel layouts.
- Hendrik
More information about the ffmpeg-devel
mailing list