diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2022-08-06 20:06:50 +0200 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2022-08-06 22:23:07 +0200 |
commit | 611f8435341bf928e8b129a16657be5792571780 (patch) | |
tree | 29cfffdfccea25c069f12d31e5167dfb77441369 /libavfilter | |
parent | 5e7eaabb42071ac7890daeeba53badfc53845137 (diff) | |
download | ffmpeg-611f8435341bf928e8b129a16657be5792571780.tar.gz |
avfilter/vsrc_ddagrab: set sRGB color information on output frames
According to MSDN, all integer pixel formats contains sRGB compliant
pixel data, so set the color information on our output frames
accordingly.
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vsrc_ddagrab.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavfilter/vsrc_ddagrab.c b/libavfilter/vsrc_ddagrab.c index 5300d46fc1..ce36716281 100644 --- a/libavfilter/vsrc_ddagrab.c +++ b/libavfilter/vsrc_ddagrab.c @@ -983,6 +983,18 @@ static int ddagrab_request_frame(AVFilterLink *outlink) frame->sample_aspect_ratio = (AVRational){1, 1}; + if (desc.Format == DXGI_FORMAT_B8G8R8A8_UNORM || + desc.Format == DXGI_FORMAT_R10G10B10A2_UNORM) { + // According to MSDN, all integer formats contain sRGB image data + frame->color_range = AVCOL_RANGE_JPEG; + frame->color_primaries = AVCOL_PRI_BT709; + frame->color_trc = AVCOL_TRC_IEC61966_2_1; + frame->colorspace = AVCOL_SPC_RGB; + } else { + ret = AVERROR_BUG; + goto fail; + } + av_frame_unref(dda->last_frame); ret = av_frame_ref(dda->last_frame, frame); if (ret < 0) |