From: James Almer <jamrial@gmail.com> Date: Thu, 29 Nov 2018 01:49:06 +0000 (-0300) Subject: avcodec/libdav1d: read profile from the sequence header referenced by the ouput picture X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/0fca2f60dac7a294719919ca32813e9fde19cc66 avcodec/libdav1d: read profile from the sequence header referenced by the ouput picture Signed-off-by: James Almer <jamrial@gmail.com> --- diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index ed2262d..9a24a3e 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -84,14 +84,6 @@ static const enum AVPixelFormat pix_fmt[][2] = { [DAV1D_PIXEL_LAYOUT_I444] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P10 }, }; -// TODO: Update once 12bit support is added. -static const int profile[] = { - [DAV1D_PIXEL_LAYOUT_I400] = FF_PROFILE_AV1_MAIN, - [DAV1D_PIXEL_LAYOUT_I420] = FF_PROFILE_AV1_MAIN, - [DAV1D_PIXEL_LAYOUT_I422] = FF_PROFILE_AV1_PROFESSIONAL, - [DAV1D_PIXEL_LAYOUT_I444] = FF_PROFILE_AV1_HIGH, -}; - static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) { Libdav1dContext *dav1d = c->priv_data; @@ -156,7 +148,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) frame->linesize[1] = p.stride[1]; frame->linesize[2] = p.stride[1]; - c->profile = profile[p.p.layout]; + c->profile = p.seq_hdr->profile; frame->format = c->pix_fmt = pix_fmt[p.p.layout][p.p.bpc == 10]; frame->width = p.p.w; frame->height = p.p.h;