vafilter: Increase the caps for HDR.

As they might be other medatadata types.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>
This commit is contained in:
Victor Manuel Jaquez Leal 2022-11-26 21:02:00 +01:00 committed by GStreamer Marge Bot
parent b25b1be70d
commit cccbf1f02d

View file

@ -442,7 +442,7 @@ static const struct VaFilterCapMap {
F(SkinToneEnhancement, 1), F(SkinToneEnhancement, 1),
F(TotalColorCorrection, VAProcTotalColorCorrectionCount), F(TotalColorCorrection, VAProcTotalColorCorrectionCount),
F(HVSNoiseReduction, 0), F(HVSNoiseReduction, 0),
F(HighDynamicRangeToneMapping, 1), F(HighDynamicRangeToneMapping, VAProcHighDynamicRangeMetadataTypeCount),
#if VA_CHECK_VERSION (1, 12, 0) #if VA_CHECK_VERSION (1, 12, 0)
F(3DLUT, 16), F(3DLUT, 16),
#endif #endif
@ -480,7 +480,8 @@ struct VaFilter
VAProcFilterCapDeinterlacing deint[VAProcDeinterlacingCount]; VAProcFilterCapDeinterlacing deint[VAProcDeinterlacingCount];
VAProcFilterCapColorBalance cb[VAProcColorBalanceCount]; VAProcFilterCapColorBalance cb[VAProcColorBalanceCount];
VAProcFilterCapTotalColorCorrection cc[VAProcTotalColorCorrectionCount]; VAProcFilterCapTotalColorCorrection cc[VAProcTotalColorCorrectionCount];
VAProcFilterCapHighDynamicRange hdr; VAProcFilterCapHighDynamicRange
hdr[VAProcHighDynamicRangeMetadataTypeCount];
#if VA_CHECK_VERSION (1, 12, 0) #if VA_CHECK_VERSION (1, 12, 0)
VAProcFilterCap3DLUT lut[16]; VAProcFilterCap3DLUT lut[16];
#endif #endif
@ -665,12 +666,16 @@ gst_va_filter_install_properties (GstVaFilter * self, GObjectClass * klass)
break; break;
} }
case VAProcFilterHighDynamicRangeToneMapping:{ case VAProcFilterHighDynamicRangeToneMapping:{
const VAProcFilterCapHighDynamicRange *caps = &filter->caps.hdr; guint j;
if (caps->metadata_type == VAProcHighDynamicRangeMetadataHDR10 for (j = 0; j < filter->num_caps; j++) {
&& (caps->caps_flag & VA_TONE_MAPPING_HDR_TO_SDR)) { const VAProcFilterCapHighDynamicRange *caps = &filter->caps.hdr[j];
g_object_class_install_property (klass, GST_VA_FILTER_PROP_HDR, if (caps->metadata_type == VAProcHighDynamicRangeMetadataHDR10
g_param_spec_boolean ("hdr-tone-mapping", "HDR tone mapping", && (caps->caps_flag & VA_TONE_MAPPING_HDR_TO_SDR)) {
"Enable HDR to SDR tone mapping", FALSE, common_flags)); g_object_class_install_property (klass, GST_VA_FILTER_PROP_HDR,
g_param_spec_boolean ("hdr-tone-mapping", "HDR tone mapping",
"Enable HDR to SDR tone mapping", FALSE, common_flags));
break;
}
} }
} }
default: default: