]> git.sesse.net Git - ffmpeg/commitdiff
avformat/ivfenc: move bsf insertion to the init function
authorJames Almer <jamrial@gmail.com>
Sun, 10 May 2020 13:50:47 +0000 (10:50 -0300)
committerJames Almer <jamrial@gmail.com>
Mon, 11 May 2020 22:41:59 +0000 (19:41 -0300)
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
libavformat/ivfenc.c

index 0ce4a85171f86d1103e90ee1550b14d3036bb91c..0951f56c92a8a5aaf71b62918047a5784186a9f2 100644 (file)
@@ -43,6 +43,16 @@ static int ivf_init(AVFormatContext *s)
         return AVERROR(EINVAL);
     }
 
+    if (par->codec_id == AV_CODEC_ID_VP9) {
+        int ret = ff_stream_add_bitstream_filter(s->streams[0], "vp9_superframe", NULL);
+        if (ret < 0)
+            return ret;
+    } else if (par->codec_id == AV_CODEC_ID_AV1) {
+        int ret = ff_stream_add_bitstream_filter(s->streams[0], "av1_metadata", "td=insert");
+        if (ret < 0)
+            return ret;
+    }
+
     return 0;
 }
 
@@ -100,19 +110,6 @@ static int ivf_write_trailer(AVFormatContext *s)
     return 0;
 }
 
-static int ivf_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt)
-{
-    int ret = 1;
-    AVStream *st = s->streams[pkt->stream_index];
-
-    if (st->codecpar->codec_id == AV_CODEC_ID_VP9)
-        ret = ff_stream_add_bitstream_filter(st, "vp9_superframe", NULL);
-    else if (st->codecpar->codec_id == AV_CODEC_ID_AV1)
-        ret = ff_stream_add_bitstream_filter(st, "av1_metadata", "td=insert");
-
-    return ret;
-}
-
 static const AVCodecTag codec_ivf_tags[] = {
     { AV_CODEC_ID_VP8,  MKTAG('V', 'P', '8', '0') },
     { AV_CODEC_ID_VP9,  MKTAG('V', 'P', '9', '0') },
@@ -131,6 +128,5 @@ AVOutputFormat ff_ivf_muxer = {
     .write_header = ivf_write_header,
     .write_packet = ivf_write_packet,
     .write_trailer = ivf_write_trailer,
-    .check_bitstream = ivf_check_bitstream,
     .codec_tag    = (const AVCodecTag* const []){ codec_ivf_tags, 0 },
 };