If p->colormatrix is 0 if not set by user, so it would always override _orig parameters with Dolby Vision ones and restore that erroneously.
Unified · Split
| @@ -84,7 +84,7 @@ static void set_params(struct vf_format_opts *p, struct mp_image_params *out, · 83 unmodified lines | |||
| 84 | out->light = MP_CSP_LIGHT_AUTO; | 84 | out->light = MP_CSP_LIGHT_AUTO; |
| 85 | } | 85 | } |
| 86 | } | 86 | } |
| 87 | if (p->colormatrix != PL_COLOR_SYSTEM_DOLBYVISION && !p->dovi) { | 87 | if (out->repr.sys != PL_COLOR_SYSTEM_DOLBYVISION) { |
| 88 | out->primaries_orig = out->color.primaries; | 88 | out->primaries_orig = out->color.primaries; |
| 89 | out->transfer_orig = out->color.transfer; | 89 | out->transfer_orig = out->color.transfer; |
| 90 | out->sys_orig = out->repr.sys; | 90 | out->sys_orig = out->repr.sys; |