James Almer:
> Signed-off-by: James Almer <jamr...@gmail.com>
> ---
>  libavformat/ivfenc.c | 24 ++++++++++--------------
>  1 file changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/libavformat/ivfenc.c b/libavformat/ivfenc.c
> index 0ce4a85171..0951f56c92 100644
> --- a/libavformat/ivfenc.c
> +++ b/libavformat/ivfenc.c
> @@ -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 },
>  };
> 
LGTM. (Would it actually make sense/be possible to replace st->codecpar
with the output codecparameters of the bsf if the bsf is initialized in
the init function, so that it is easier for the muxer to locate the
right codecparameters when writing the header?)

- Andreas
_______________________________________________
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".

Reply via email to