1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-10-06 05:47:18 +02:00

avcodec/libdav1d: also consider user defined color information when selectiog pix_fmt

Fixes issue #20624.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2025-09-28 20:42:16 -03:00
parent 9b709532d5
commit 009e4a1c20

View File

@@ -143,15 +143,17 @@ static void libdav1d_init_params(AVCodecContext *c, const Dav1dSequenceHeader *s
c->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
break;
}
if (seq->color_description_present) {
c->colorspace = (enum AVColorSpace) seq->mtrx;
c->color_primaries = (enum AVColorPrimaries) seq->pri;
c->color_trc = (enum AVColorTransferCharacteristic) seq->trc;
c->color_range = seq->color_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG;
}
if (seq->layout == DAV1D_PIXEL_LAYOUT_I444 &&
seq->mtrx == DAV1D_MC_IDENTITY &&
seq->pri == DAV1D_COLOR_PRI_BT709 &&
seq->trc == DAV1D_TRC_SRGB)
c->colorspace == AVCOL_SPC_RGB &&
c->color_primaries == AVCOL_PRI_BT709 &&
c->color_trc == AVCOL_TRC_IEC61966_2_1)
c->pix_fmt = pix_fmt_rgb[seq->hbd];
else
c->pix_fmt = pix_fmt[seq->layout][seq->hbd];