On Mon, Dec 10, 2012 at 5:48 AM, Jindřich Makovička <makov...@gmail.com> wrote:
> Hi,
>
> this is a backport of a patch from FFMPEG, which silences error
> messages for AAC streams padded with zeros. These messages are emitted
> for each AAC packet and can easily make hundreds of megabytes per day
> if logged.
>
> A sample stream produced by an encoder from Cisco is available at
> geraldine.fjfi.cvut.cz/~makovicka/aac-sample.ts .
>

Any idea what function this padding is serving? They padding inside
the SBR layer with a reserved extension id rather than inside the AAC
layer where one is reserved explicitly for padding. It only ever seems
to have 6 to 9 bits (plus 2 for the extension type). If it is only
size calculation being one byte too large (SBR extensions are sized in
whole bytes, so the last fractional bytes is dropped automatically)
can we reflect that in the comment.

In my opinion, for these sorts of messages what we really need is an
av_log_once().

--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -926,7 +926,9 @@ static void read_sbr_extension(AACContext *ac,
SpectralBandReplication *sbr,
         }
         break;
     default:
-        av_log_missing_feature(ac->avctx, "Reserved SBR extensions", 1);
+        // some files contain 0-padding
+        if (bs_extension_id || *num_bits_left > 16 || show_bits(gb,
*num_bits_left))

Can you explain

+            av_log_missing_feature(ac->avctx, "Reserved SBR
extensions are", 1);
         skip_bits_long(gb, *num_bits_left); // bs_fill_bits
         *num_bits_left = 0;
         break;
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to