Re: Screenshot color wrong
Polyphem <[email protected]>
| Newsgroups | gmane.comp.video.mplayer.user |
|---|---|
| Message-ID | <[email protected]> |
I did some further testing. Desiered output imho would be Red-255 both on screen an screenshot. I used this PNG test-picture with a Red-255 block as reference (most right-hand 20px block on middle color band) https://drive.google.com/file/d/1jI7pa7LekmHSo1IB8Ja16ypkdRCQssrA/view?usp=sharing as background picture to create this test.mp4 https://drive.google.com/file/d/1qpbngZ441S64QA_ziM2h5O06q5RZrNOC/view?usp=sharing with following settings: H.264/AVC Color Profile > YUV Format: 4:2:0 Color Range: Compressed (16-235) Color Depth: 8 Bit Color Space: Automatic (ITU-R BT.709) then tested following player/driver combos and took red value of the reference block with on-screen color picker: mplayer.exe -vo direct3d -vf screenshot test.mp4 > On-Screen = Red-255 > Screenshot = Red-232 mplayer.exe -vo gl -vf screenshot test.mp4 > On-Screen = Red-232 > Screenshot = Red-232 vlc.exe with opengl output driver > On-Screen = Red-255 > Screenshot = Red-232 mpv --vo=gpu test.mp4 > On-Screen = Red-254 - Red-255 > Screenshot = Red-255 mpv.com --vo=gpu --vf=format=colorlevels=limited test.mp4 > On-Screen = Red-255 > Screenshot = Red-255 mpv.com --vo=gpu --vf=format=colorlevels=full test.mp4 > On-Screen = Red-240 > Screenshot = Red-255 https://mpv.io/manual/stable/#video-filters-%3Ccolorlevels%3E Available color ranges are: auto: automatic selection (normally limited range) (default) limited: limited range (16-235 for luma, 16-240 for chroma) full: full range (0-255 for both luma and chroma) PotPlayer (Windows) with OpenGl output driver > On-Screen = Red-255 > Screenshot = Red-255 Windows Media Player > On-Screen = Red-255 Additional readings found: https://kodi.wiki/view/Video_levels_and_color_space "When attempting to play limited TV video content on a PC that uses Full video levels (such is an HTPC), we can get undesirable results if we set our video levels incorrectly -- such as complete loss of shadow detail (aka crushed blacks) or conversely really washed out colors." "YCbCr to RGB color conversion" https://fiveko.com/tutorials/image-processing/color-space-conversion/ "Input is limited range, I want to output full range" https://superuser.com/questions/1405177/ffmpeg-how-to-handle-color-range-conversions It seems as some players do and some don't perform a "YCbCr to RGB" conversion for movies with limited / compressed color range (16-235) for either screen or screenshot. It would be great to have scale filter for screenshot (and maybe gl driver) to perform such a "YCbCr to RGB". MPlayer colors on screen (with gl) and screenshot are of for me. Compared to source videos with full color range the difference is visilbe as a red-shift for gl, no difference visible with vo=direct3d. Somehow "levelconv" param for gl sounds like the right switch, but changing it's value does not change output in any way. Are there other linux media players to benchmark here? Best Regards _______________________________________________ MPlayer-users mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users