It turns out mpv doesn't tag at all when doing conversions, so we just re-tag here and hope for the best. This should be improved, but there are many different code paths when conversion can happen, so for now revert to previous behavior.
Unified · Split
| @@ -960,10 +960,8 @@ void mp_image_params_guess_csp(struct mp_image_params *params) · 959 unmodified lines | |||
| 960 | if (params->color.transfer == PL_COLOR_TRC_UNKNOWN) | 960 | if (params->color.transfer == PL_COLOR_TRC_UNKNOWN) |
| 961 | params->color.transfer = PL_COLOR_TRC_BT_1886; | 961 | params->color.transfer = PL_COLOR_TRC_BT_1886; |
| 962 | } else if (forced_csp == PL_COLOR_SYSTEM_RGB) { | 962 | } else if (forced_csp == PL_COLOR_SYSTEM_RGB) { |
| 963 | if (params->repr.sys == PL_COLOR_SYSTEM_UNKNOWN) | 963 | params->repr.sys = PL_COLOR_SYSTEM_RGB; |
| 964 | params->repr.sys = PL_COLOR_SYSTEM_RGB; | 964 | params->repr.levels = PL_COLOR_LEVELS_FULL; |
| 965 | if (params->repr.levels == PL_COLOR_LEVELS_UNKNOWN) | ||
| 966 | params->repr.levels = PL_COLOR_LEVELS_FULL; | ||
| 967 | 965 | ||
| 968 | // The majority of RGB content is either sRGB or (rarely) some other | 966 | // The majority of RGB content is either sRGB or (rarely) some other |
| 969 | // color space which we don't even handle, like AdobeRGB or | 967 | // color space which we don't even handle, like AdobeRGB or |