From: Niklas Haas <g...@haasn.dev> Not directly signalled by AV1, but we should still set this accordingly so that users will know what the original intended video characteristics and chroma resolution were. --- libavcodec/libdav1d.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 1aa2d1f3436..361b988825c 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -613,6 +613,8 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) if (p->frame_hdr->film_grain.present && (!dav1d->apply_grain || (c->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN))) { AVFilmGrainParams *fgp = av_film_grain_params_create_side_data(frame); + const AVPixFmtDescriptor *pixdesc = av_pix_fmt_desc_get(frame->format); + av_assert0(pixdesc); if (!fgp) { res = AVERROR(ENOMEM); goto fail; @@ -620,6 +622,14 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) fgp->type = AV_FILM_GRAIN_PARAMS_AV1; fgp->seed = p->frame_hdr->film_grain.data.seed; + fgp->width = frame->width; + fgp->height = frame->height; + fgp->color_range = frame->color_range; + fgp->color_primaries = frame->color_primaries; + fgp->color_trc = frame->color_trc; + fgp->color_space = frame->colorspace; + fgp->subsampling_x = pixdesc->log2_chroma_w; + fgp->subsampling_y = pixdesc->log2_chroma_h; fgp->codec.aom.num_y_points = p->frame_hdr->film_grain.data.num_y_points; fgp->codec.aom.chroma_scaling_from_luma = p->frame_hdr->film_grain.data.chroma_scaling_from_luma; fgp->codec.aom.scaling_shift = p->frame_hdr->film_grain.data.scaling_shift; -- 2.44.0 _______________________________________________ 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".