This is at odds with the YUV matrix negotiation API, in which such dynamic changes in YUV encoding are no longer easily possible. There is also no really strong motivating reason to do this, since the choice of YUV matrix is essentially arbitrary and not actually related to the Dolby Vision decoding process.
Unified · Split
| @@ -888,7 +888,6 @@ static int output_frame(AVFilterContext *ctx, int64_t pts) · 887 unmodified lines | |||
| 888 | if (s->apply_dovi && av_frame_get_side_data(ref, AV_FRAME_DATA_DOVI_METADATA)) { | 888 | if (s->apply_dovi && av_frame_get_side_data(ref, AV_FRAME_DATA_DOVI_METADATA)) { |
| 889 | /* Output of dovi reshaping is always BT.2020+PQ, so infer the correct | 889 | /* Output of dovi reshaping is always BT.2020+PQ, so infer the correct |
| 890 | * output colorspace defaults */ | 890 | * output colorspace defaults */ |
| 891 | out->colorspace = AVCOL_SPC_BT2020_NCL; | ||
| 892 | out->color_primaries = AVCOL_PRI_BT2020; | 891 | out->color_primaries = AVCOL_PRI_BT2020; |
| 893 | out->color_trc = AVCOL_TRC_SMPTE2084; | 892 | out->color_trc = AVCOL_TRC_SMPTE2084; |
| 894 | } | 893 | } |