On 7/7/2025 10:19 AM, Nicolas Gaullier wrote:
ff_adts_header_parse() gets the object_type from only 2 bits. See also 696ea1c2236842572df88d573e24a39be3f19c98.Introduced in 64bb91fd3b5a00a8849531c7e8dd207f2a626096. Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> --- libavcodec/aac_ac3_parser.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c index e10ce13a3b..b49ce0277c 100644 --- a/libavcodec/aac_ac3_parser.c +++ b/libavcodec/aac_ac3_parser.c @@ -147,15 +147,14 @@ get_next: } else { #if CONFIG_AAC_PARSER AACADTSHeaderInfo hdr; - GetBitContext gb;- init_get_bits8(&gb, buf, buf_size);if (buf_size < AV_AAC_ADTS_HEADER_SIZE || - ff_adts_header_parse(&gb, &hdr) < 0) + ff_adts_header_parse_buf(buf, &hdr) < 0) return i;avctx->profile = hdr.object_type - 1;- s1->key_frame = (avctx->profile == AV_PROFILE_AAC_USAC) ? get_bits1(&gb) : 1; + /* ADTS does not support USAC */ + s1->key_frame = 1; bit_rate = hdr.bit_rate; #endif }
This isn't dead code. It just moves the getbitcontext creation to the wrapper function ff_adts_header_parse_buf().
Also, the buffer needs AV_INPUT_BUFFER_PADDING_SIZE of padding bytes, so maybe use a zeroed local buffer while at it and memcpy AV_AAC_ADTS_HEADER_SIZE bytes to it, then pass that.
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".