mpv-player / mpv

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

After changes to SUBBITMAP_RGBA (9e2c0b8 and eca78ee), interpolation causes frame drops #9702

Closed ereinstein closed 2 years ago

ereinstein commented 2 years ago

Important Information

Provide following Information:

Reproduction steps

  1. start video with --no-config --interpolation --video-sync=display-resample

Expected behavior

Frame timings should rise but still be in a reasonable frame which allows for stutterless watching which was possible just a few hours ago. The watched video is the same.

Actual behavior

Frame timings skyrocket, and frames are being delayed and dropped en masse.

Log file

log.txt

ereinstein commented 2 years ago

Some more experimenting revealed that this isn't necessarily a problem with --interpolation. mpv seems to just need longer to render frames. I ran my usual setup without interpolation and got a small number of frame drops because the timings are very close to the cut-off point of 1s/144 ≈ 0.0069s. Previously, I would only ever get frame drops when my system got a hiccup.

haasn commented 2 years ago

Problem started occurring after the two commits, 9e2c0b8 and eca78ee

That's impossible, renaming an enum can't degrade performance

ereinstein commented 2 years ago

That sounds indeed weird then. Can you see something in the logs as to why this decrease in performance happened? I'd be glad to hear any other ideas you have as well.

ereinstein commented 2 years ago

I don't know if it has something to do with the fact that I had to recompile mpv because of the newest commit 1ba0547bfbe08b6b0a84760730d4ddaeea9f1d0d or something else but the problem magically resolved itself. I had manually rebuilt the package even before that commit as well just to be sure but it didn't help out back then.

I guess these are the features of running a bleeding edge system.

ereinstein commented 2 years ago

I suppose so as well. This exact thing had happened on GNOME Wayland in the past. Since I switched to KDE X11, it worked flawlessly though. My guess is that somehow the window manager or whatever tells mpv which refresh rate to sync to, messes up transmitting the correct refresh rate.

ereinstein commented 2 years ago
DisplayPort-1 connected primary 2560x1440+1920+0 (0x5a) normal (normal left inverted right x axis y axis) 597mm x 336mm
        Identifier: 0x55
        Timestamp:  11777
        Subpixel:   unknown
        Gamma:      1.0:1.0:1.0
        Brightness: 1.0
        Clones:    
        CRTC:       0
        CRTCs:      0 1 2 3 4 5
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter: 
        EDID: 
                00ffffffffffff00220e783600000000
                1d1e0104a53c22783b0c95ab554ca024
                0d5054a54b00d1c0a9c081c0d100b300
                95008100a940565e00a0a0a029503020
                350055502100001a000000fd003090df
                df3c010a202020202020000000fc0048
                5020583237690a2020202020000000ff
                00434e4b3032393131335a0a202001f6
                02031bf14b101f041303120211013f40
                2309070783010000e2006be8e40050a0
                a067500820980455502100001a87bc00
                50a0a055500820780055502100001a4c
                6b0050a0a03050082028085550210000
                1a5a8780a070384d4030203500555021
                00001a023a801871382d40582c450055
                502100001e00000000000000000000cb
        GAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        GAMMA_LUT: 0 
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
                0 1 
        DEGAMMA_LUT: 0 
                range: (0, 65535)
        TearFree: on 
                supported: off, on, auto
        subconnector: Native 
                supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
        HDCP Content Type: HDCP Type0 
                supported: HDCP Type0, HDCP Type1
        Content Protection: Undesired 
                supported: Undesired, Desired, Enabled
        vrr_capable: 1 
                range: (0, 1)
        max bpc: 8 
                range: (8, 16)
        underscan vborder: 0 
                range: (0, 128)
        underscan hborder: 0 
                range: (0, 128)
        underscan: off 
                supported: off, on, auto
        scaling mode: None 
                supported: None, Full, Center, Full aspect
        link-status: Good 
                supported: Good, Bad
        CONNECTOR_ID: 101 
                supported: 101
        non-desktop: 0 
                range: (0, 1)
  2560x1440 (0x59) 241.500MHz +HSync -VSync +preferred
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.79KHz
        v: height 1440 start 1443 end 1448 total 1481           clock  59.95Hz
  2560x1440 (0x5a) 586.000MHz +HSync -VSync *current
        h: width  2560 start 2568 end 2600 total 2640 skew    0 clock 221.97KHz
        v: height 1440 start 1465 end 1473 total 1543           clock 143.86Hz
  2560x1440 (0x5b) 482.630MHz +HSync -VSync
        h: width  2560 start 2568 end 2600 total 2640 skew    0 clock 182.81KHz
        v: height 1440 start 1447 end 1455 total 1525           clock 119.88Hz
  2560x1440 (0x5c) 274.680MHz +HSync -VSync
        h: width  2560 start 2568 end 2600 total 2640 skew    0 clock 104.05KHz
        v: height 1440 start 1474 end 1482 total 1488           clock  69.92Hz
  1920x1200 (0x5d) 193.250MHz -HSync +VSync
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock  74.56KHz
        v: height 1200 start 1203 end 1209 total 1245           clock  59.88Hz
  1920x1080 (0x5e) 346.500MHz +HSync -VSync
        h: width  1920 start 1968 end 2000 total 2080 skew    0 clock 166.59KHz
        v: height 1080 start 1083 end 1088 total 1157           clock 143.98Hz
  1920x1080 (0x5f) 297.000MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 135.00KHz
        v: height 1080 start 1084 end 1089 total 1125           clock 120.00Hz
  1920x1080 (0x60) 297.000MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock 112.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock 100.00Hz
  1920x1080 (0x61) 296.703MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 134.87KHz
        v: height 1080 start 1084 end 1089 total 1125           clock 119.88Hz
  1920x1080 (0x62) 148.500MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
  1920x1080 (0x63) 148.500MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz
  1920x1080 (0x64) 148.352MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
  1600x1200 (0x65) 162.000MHz +HSync +VSync
        h: width  1600 start 1664 end 1856 total 2160 skew    0 clock  75.00KHz
        v: height 1200 start 1201 end 1204 total 1250           clock  60.00Hz
  1680x1050 (0x66) 146.250MHz -HSync +VSync
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
        v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz
  1600x900 (0x67) 108.000MHz +HSync +VSync
        h: width  1600 start 1624 end 1704 total 1800 skew    0 clock  60.00KHz
        v: height  900 start  901 end  904 total 1000           clock  60.00Hz
  1280x1024 (0x68) 135.000MHz +HSync +VSync
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock  79.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  75.02Hz
  1440x900 (0x69) 106.500MHz -HSync +VSync
        h: width  1440 start 1520 end 1672 total 1904 skew    0 clock  55.93KHz
        v: height  900 start  903 end  909 total  934           clock  59.89Hz
  1280x800 (0x6a) 83.500MHz -HSync +VSync
        h: width  1280 start 1352 end 1480 total 1680 skew    0 clock  49.70KHz
        v: height  800 start  803 end  809 total  831           clock  59.81Hz
  1280x720 (0x6b) 74.250MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
        v: height  720 start  725 end  730 total  750           clock  60.00Hz
  1280x720 (0x6c) 74.250MHz +HSync +VSync
        h: width  1280 start 1720 end 1760 total 1980 skew    0 clock  37.50KHz
        v: height  720 start  725 end  730 total  750           clock  50.00Hz
  1280x720 (0x6d) 74.176MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
        v: height  720 start  725 end  730 total  750           clock  59.94Hz
  1024x768 (0x6e) 78.750MHz +HSync +VSync
        h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
        v: height  768 start  769 end  772 total  800           clock  75.03Hz
  1024x768 (0x6f) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x70) 49.500MHz +HSync +VSync
        h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
        v: height  600 start  601 end  604 total  625           clock  75.00Hz
  800x600 (0x71) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  720x576 (0x72) 27.000MHz -HSync -VSync
        h: width   720 start  732 end  796 total  864 skew    0 clock  31.25KHz
        v: height  576 start  581 end  586 total  625           clock  50.00Hz
  720x480 (0x73) 27.027MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
        v: height  480 start  489 end  495 total  525           clock  60.00Hz
  720x480 (0x74) 27.000MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
        v: height  480 start  489 end  495 total  525           clock  59.94Hz
  640x480 (0x75) 31.500MHz -HSync -VSync
        h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
        v: height  480 start  481 end  484 total  500           clock  75.00Hz
  640x480 (0x76) 25.200MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
        v: height  480 start  490 end  492 total  525           clock  60.00Hz
  640x480 (0x77) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz
  720x400 (0x78) 28.320MHz -HSync +VSync
        h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
        v: height  400 start  412 end  414 total  449           clock  70.08Hz
DisplayPort-2 connected 1920x1080+0+360 (0x62) normal (normal left inverted right x axis y axis) 510mm x 290mm
        Identifier: 0x56
        Timestamp:  11777
        Subpixel:   unknown
        Gamma:      1.0:1.0:1.0
        Brightness: 1.0
        Clones:    
        CRTC:       1
        CRTCs:      0 1 2 3 4 5
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter: 
        EDID: 
                00ffffffffffff001e6d935a01010101
                0817010380331d78ea6275a3554fa027
                125054210800714081c0810081809500
                9040a9c0b300023a801871382d40582c
                4500fe221100001e000000fd00383d1e
                530f000a202020202020000000fc0032
                334d4233350a202020202020000000ff
                000a2020202020202020202020200112
                02031df14a900403011412051f101323
                0907078301000065030c001000023a80
                1871382d40582c4500fe221100001e01
                1d8018711c1620582c2500fe22110000
                9e011d007251d01e206e285500fe2211
                00001e8c0ad08a20e02d10103e9600fe
                22110000180000000000000000000000
                000000000000000000000000000000e6
        GAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096 
                range: (0, -1)
        GAMMA_LUT: 0 
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
                0 1 
        DEGAMMA_LUT: 0 
                range: (0, 65535)
        TearFree: on 
                supported: off, on, auto
        subconnector: Native 
                supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
        HDCP Content Type: HDCP Type0 
                supported: HDCP Type0, HDCP Type1
        Content Protection: Undesired 
                supported: Undesired, Desired, Enabled
        vrr_capable: 0 
                range: (0, 1)
        max bpc: 8 
                range: (8, 16)
        underscan vborder: 0 
                range: (0, 128)
        underscan hborder: 0 
                range: (0, 128)
        underscan: off 
                supported: off, on, auto
        scaling mode: None 
                supported: None, Full, Center, Full aspect
        link-status: Good 
                supported: Good, Bad
        CONNECTOR_ID: 106 
                supported: 106
        non-desktop: 0 
                range: (0, 1)
  1920x1080 (0x62) 148.500MHz +HSync +VSync *current +preferred
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
  1920x1080 (0x63) 148.500MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz
  1920x1080 (0x64) 148.352MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
  1680x1050 (0x79) 119.000MHz +HSync -VSync
        h: width  1680 start 1728 end 1760 total 1840 skew    0 clock  64.67KHz
        v: height 1050 start 1053 end 1059 total 1080           clock  59.88Hz
  1400x1050 (0x7a) 101.000MHz +HSync -VSync
        h: width  1400 start 1448 end 1480 total 1560 skew    0 clock  64.74KHz
        v: height 1050 start 1053 end 1057 total 1080           clock  59.95Hz
  1600x900 (0x67) 108.000MHz +HSync +VSync
        h: width  1600 start 1624 end 1704 total 1800 skew    0 clock  60.00KHz
        v: height  900 start  901 end  904 total 1000           clock  60.00Hz
  1280x1024 (0x7b) 108.000MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
  1440x900 (0x7c) 88.750MHz +HSync -VSync
        h: width  1440 start 1488 end 1520 total 1600 skew    0 clock  55.47KHz
        v: height  900 start  903 end  909 total  926           clock  59.90Hz
  1280x800 (0x7d) 71.000MHz +HSync -VSync
        h: width  1280 start 1328 end 1360 total 1440 skew    0 clock  49.31KHz
        v: height  800 start  803 end  809 total  823           clock  59.91Hz
  1280x720 (0x6b) 74.250MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
        v: height  720 start  725 end  730 total  750           clock  60.00Hz
  1280x720 (0x6c) 74.250MHz +HSync +VSync
        h: width  1280 start 1720 end 1760 total 1980 skew    0 clock  37.50KHz
        v: height  720 start  725 end  730 total  750           clock  50.00Hz
  1280x720 (0x6d) 74.176MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
        v: height  720 start  725 end  730 total  750           clock  59.94Hz
  1024x768 (0x6f) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x71) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  720x576 (0x72) 27.000MHz -HSync -VSync
        h: width   720 start  732 end  796 total  864 skew    0 clock  31.25KHz
        v: height  576 start  581 end  586 total  625           clock  50.00Hz
  720x480 (0x73) 27.027MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
        v: height  480 start  489 end  495 total  525           clock  60.00Hz
  720x480 (0x74) 27.000MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
        v: height  480 start  489 end  495 total  525           clock  59.94Hz
  640x480 (0x76) 25.200MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
        v: height  480 start  490 end  492 total  525           clock  60.00Hz
  640x480 (0x77) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz

This is the relevant output of xrandr --verbose for both monitors. The EDID you want is probably this one:

00ffffffffffff00220e783600000000
1d1e0104a53c22783b0c95ab554ca024
0d5054a54b00d1c0a9c081c0d100b300
95008100a940565e00a0a0a029503020
350055502100001a000000fd003090df
df3c010a202020202020000000fc0048
5020583237690a2020202020000000ff
00434e4b3032393131335a0a202001f6
02031bf14b101f041303120211013f40
2309070783010000e2006be8e40050a0
a067500820980455502100001a87bc00
50a0a055500820780055502100001a4c
6b0050a0a03050082028085550210000
1a5a8780a070384d4030203500555021
00001a023a801871382d40582c450055
502100001e00000000000000000000cb