Hi,

On Tue, Apr 12, 2011 at 3:44 AM, Martin Storsjö <[email protected]> wrote:
> ---
>  libavcodec/libvo-aacenc.c |   18 ++++++++++--------
>  1 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/libavcodec/libvo-aacenc.c b/libavcodec/libvo-aacenc.c
> index 3c7dde7..7c1738d 100644
> --- a/libavcodec/libvo-aacenc.c
> +++ b/libavcodec/libvo-aacenc.c
> @@ -62,12 +62,6 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
>         return AVERROR_UNKNOWN;
>     }
>
> -    avctx->extradata_size = 2;
> -    avctx->extradata      = av_mallocz(avctx->extradata_size +
> -                                       FF_INPUT_BUFFER_PADDING_SIZE);
> -    if (!avctx->extradata)
> -        return AVERROR(ENOMEM);
> -
>     for (index = 0; index < 16; index++)
>         if (avctx->sample_rate == ff_mpeg4audio_sample_rates[index])
>             break;
> @@ -76,8 +70,16 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
>                                     avctx->sample_rate);
>         return AVERROR_NOTSUPP;
>     }
> -    avctx->extradata[0] = 0x02 << 3 | index >> 1;
> -    avctx->extradata[1] = (index & 0x01) << 7 | avctx->channels << 3;
> +    if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
> +        avctx->extradata_size = 2;
> +        avctx->extradata      = av_mallocz(avctx->extradata_size +
> +                                           FF_INPUT_BUFFER_PADDING_SIZE);
> +        if (!avctx->extradata)
> +            return AVERROR(ENOMEM);
> +
> +        avctx->extradata[0] = 0x02 << 3 | index >> 1;
> +        avctx->extradata[1] = (index & 0x01) << 7 | avctx->channels << 3;
> +    }
>     return 0;
>  }

This isn't really what the flag means. If it's data that can be
discarded at choice, then the flag can be ignored. Formats that don't
like it, simply don't set extradata.

The idea of the flag is that it creates extradata if set, and then not
interleave that same data in the bitstream, and if the flag is not
set, it interleaves that extradata in the bitstream instead. This
patch doesn't appear to do that, so then it's not necessary...

Ronald
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to