mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.34k stars 2.91k forks source link

Dimensions are incorrect since Shinchiro build 20230910 (be92223) #12373

Closed Jules-A closed 1 year ago

Jules-A commented 1 year ago

Important Information

Provide following Information:

1 2

Reproduction steps

Reproducible with -no-config but here's mine: mpv.conf.txt

Literally just play any video that's below native res.

Expected behavior

Detect correct native resolution and scale to the correct dimensions.

Actual behavior

Dimensions are completely off causing it to switch to different shader profiles and seems to increase GPU usage a bit. I'm not sure but there may be other consequences like reduced image quality.

Log file

mpv.log.txt

Obegg commented 1 year ago

Uh wait, you are right, I didn't even notice it. I have the same issue. (I didn't use --no-config) image

Jules-A commented 1 year ago

Prior version: 1 2

It was detecting the native video resolutions correctly before, no idea out "output resolution" as that wasn't tracked in osd before.

EDIT: Scaled resolution is correct I guess since I'm watching at 1400 height (1440p with Windows taskbar always visible with no-borders).

kasper93 commented 1 year ago

Works as expected this are true native dimensions of the video frame.

You can control this by --vd-apply-cropping.

Incidentally it will be changed to default for unrelated issue with sampling in certain cases. See: https://github.com/mpv-player/mpv/pull/12367

Jules-A commented 1 year ago

Works as expected this are true native dimensions of the video frame.

I really don't get it but okay... Currently my profiles are based on height:

[720-1080p]
profile-desc=Shaders for 720/1080p
profile-cond=height <= 1080
profile-cond=height > 540
dscale=catmull_rom
glsl-shaders="~~/shaders/ravu-zoom-ar-r3g.hook;~~/shaders/nlmeans_light3.glsl;~~/shaders/FSRCNNX_x2_16-0-4-12.glsl;~~/shaders/CAS4.glsl;~~/shaders/Anime4K_Thin_HQ5.glsl;~~/shaders/KrigBilateral.glsl"

But simply using height appears to use the native pre-cropped values, is that also correct?

EDIT: Ah, with vd-apply-cropping, the native resolution is correct again.

kasper93 commented 1 year ago

There are two types of params. video-params that show frame size out of the decoder and video-out-params that show frame size after crop: decoder, container (soon) or manual.

It depends what you want to do. And also mentioned --vd-apply-cropping changes frame size out of the decoder, because we directing it to apply decoder crop or not.