F(SkinToneEnhancement, 1),
F(TotalColorCorrection, VAProcTotalColorCorrectionCount),
F(HVSNoiseReduction, 0),
- F(HighDynamicRangeToneMapping, 1),
+ F(HighDynamicRangeToneMapping, VAProcHighDynamicRangeMetadataTypeCount),
#if VA_CHECK_VERSION (1, 12, 0)
F(3DLUT, 16),
#endif
VAProcFilterCapDeinterlacing deint[VAProcDeinterlacingCount];
VAProcFilterCapColorBalance cb[VAProcColorBalanceCount];
VAProcFilterCapTotalColorCorrection cc[VAProcTotalColorCorrectionCount];
- VAProcFilterCapHighDynamicRange hdr;
+ VAProcFilterCapHighDynamicRange
+ hdr[VAProcHighDynamicRangeMetadataTypeCount];
#if VA_CHECK_VERSION (1, 12, 0)
VAProcFilterCap3DLUT lut[16];
#endif
break;
}
case VAProcFilterHighDynamicRangeToneMapping:{
- const VAProcFilterCapHighDynamicRange *caps = &filter->caps.hdr;
- if (caps->metadata_type == VAProcHighDynamicRangeMetadataHDR10
- && (caps->caps_flag & VA_TONE_MAPPING_HDR_TO_SDR)) {
- 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));
+ guint j;
+ for (j = 0; j < filter->num_caps; j++) {
+ const VAProcFilterCapHighDynamicRange *caps = &filter->caps.hdr[j];
+ if (caps->metadata_type == VAProcHighDynamicRangeMetadataHDR10
+ && (caps->caps_flag & VA_TONE_MAPPING_HDR_TO_SDR)) {
+ 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: