diff mbox series

[FFmpeg-devel,2/2] avformat/flvenc: add extract_extradata bsf for new video codecs

Message ID tencent_B4ADD238C5C015B63C686E00816B867F1A0A@qq.com
State Accepted
Commit e1d6b3cb5a271ac7fce35d4a96b9ab45a251c6d5
Headers show
Series [FFmpeg-devel,1/2] avcodec/mediacodecdec: fix return EAGAIN after EOF | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Zhao Zhili Nov. 18, 2023, 8:03 a.m. UTC
From: Zhao Zhili <zhilizhao@tencent.com>

When encoders don't support global header like MediaCodec, FLV
muxer needs to add extract_extradata bsf automatically. The codec
list doesn't include VP9 since it's not supported by
extract_extradata.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
 libavformat/flvenc.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Liu Steven Nov. 18, 2023, 10:11 a.m. UTC | #1
> 在 2023年11月18日,16:03,Zhao Zhili <quinkblack@foxmail.com> 写道:
> 
> From: Zhao Zhili <zhilizhao@tencent.com>
> 
> When encoders don't support global header like MediaCodec, FLV
> muxer needs to add extract_extradata bsf automatically. The codec
> list doesn't include VP9 since it's not supported by
> extract_extradata.
> 
> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
> ---
> libavformat/flvenc.c | 2 ++
> 1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
> index f6d10f331c..874560fac1 100644
> --- a/libavformat/flvenc.c
> +++ b/libavformat/flvenc.c
> @@ -1072,6 +1072,8 @@ static int flv_check_bitstream(AVFormatContext *s, AVStream *st,
>     }
>     if (!st->codecpar->extradata_size &&
>             (st->codecpar->codec_id == AV_CODEC_ID_H264 ||
> +             st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
> +             st->codecpar->codec_id == AV_CODEC_ID_AV1 ||
>              st->codecpar->codec_id == AV_CODEC_ID_MPEG4))
>         return ff_stream_add_bitstream_filter(st, "extract_extradata", NULL);
>     return 1;
> -- 
> 2.34.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".



LGTM


Thanks
Steven
>
diff mbox series

Patch

diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index f6d10f331c..874560fac1 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -1072,6 +1072,8 @@  static int flv_check_bitstream(AVFormatContext *s, AVStream *st,
     }
     if (!st->codecpar->extradata_size &&
             (st->codecpar->codec_id == AV_CODEC_ID_H264 ||
+             st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
+             st->codecpar->codec_id == AV_CODEC_ID_AV1 ||
              st->codecpar->codec_id == AV_CODEC_ID_MPEG4))
         return ff_stream_add_bitstream_filter(st, "extract_extradata", NULL);
     return 1;