mpv
mpv copied to clipboard
[Question][gpu-next] Settings and future development for OLED displays and HDR content
When running the latest mpv with the latest libplacebo and using gpu-next, are there currently any settings which can improve the picture accuracy/quality on infinite contrast (OLED) displays for SDR converted to HDR by --inverse-tone-mapping and for native HDR content?
AFAIK mpv assumed the BT.1886 contrast to be 1000:1 until some recent changes, are there any similar assumptions in the code that can be changed to better suit OLED displays? Are there any plans to make those changes in the future and what kind of displays will mpv target by default?
One change which I still have planned is to treat native HDR content as being black scaled down to true black (0 nits) instead of using the values from the tagged mastering display minimum luminance. Incidentally, can you test this patch?
diff --git a/src/colorspace.c b/src/colorspace.c
index 46d900b6..2d0659df 100644
--- a/src/colorspace.c
+++ b/src/colorspace.c
@@ -417,6 +417,9 @@ reinfer_peaks:
space->hdr.max_luma = 1000;
}
+ if (space->transfer == PL_COLOR_TRC_PQ)
+ space->hdr.min_luma = 0; // XXX: hack
+
if (space->hdr.min_luma <= 0 || space->hdr.min_luma > 100) {
if (pl_color_transfer_is_hdr(space->transfer)) {
// Use a slightly nonzero black level, for the following reasons:
Submitted the above as libplacebo!293, by the way.
But, since you talk about inverse tone mapping, I'm not sure this is relevant. In inverse tone mapping mode, we should already be outputting the SDR content correctly scaled for a true black display. Is this not what you see?
Sorry for such a late reply. I see that the change has been merged, is there some specific examples I should test this on? During SDR -> HDR conversion everything seems fine, I was just wondering if something could be changed there as well