Jump to content

4k dropping frames


Mbedford

Recommended Posts

PrincessClevage

And add deinterlace=no to hdr profile

Still dropping with:

 

## VIDEO ##

hwdec=auto

opengl-pbo

scale=ewa_lanczossharp

cscale=ewa_lanczos

dither-depth=auto

deinterlace=no

saturation=5

brightness=3

contrast=-3

deinterlace=no

hwdec-codecs=all

gamma=14

 

 

## SUBTITLES ##

sub-create-cc-track=yes

sub-pos=9

 

## AUDIO ##

audio-stream-silence=yes

audio-exclusive=yes

 

## AUTO-PROFILES ##

[interlaced]profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va

copyvf=bwdif

deinterlace=yes

 

[720p]

profile-desc=cond:p["video-params/w"]==1280

deinterlace=no

 

[HDR]

profile-desc=cond:p["video-params/primaries"]=="bt.2020"

dither-depth=auto

deband=yes

deinterlace=no

deband-iterations=1

contrast=-6

saturation=4

brightness=6

gamma=08b5f683c6e869b621d83c13d1272ae9c.jpg

Link to comment
Share on other sites

sooty234

A few adjustments....

## VIDEO ##
hwdec=auto
hwdec-codecs=all
opengl-pbo=yes
scale=spline36
cscale=spline36
sigmoid-upscaling=yes
dither-depth=auto
saturation=5
brightness=3
contrast=-3
gamma=14
deinterlace=no

## SUBTITLES ##
sub-create-cc-track=yes
sub-pos=90

## AUDIO ##
audio-stream-silence=yes
audio-exclusive=yes

## AUTO-PROFILES ##

[Interlaced]
profile-desc=cond:p["video-frame-info/interlaced"]
hwdec=d3d11va-copy
vf=bwdif


[720p]
profile-desc=cond:p["video-params/w"]==1280
deinterlace=no

[HDR]
profile-desc=cond:p["video-params/primaries"]=="bt.2020"
dither-depth=no
deband=yes
deband-iterations=1
contrast=-6
saturation=4
brightness=6
And add this at the top:
target-trc=pq
That will help correct some underlying gamma errors (and let you use display-sync without color errors). You may need to adjust your contrast, brightness and saturation configs.

 

And make sure you have the latest Nvidia driver, so that opengl-pbo works optimally.

 

Are you using refresh rate switching? If yes, try disabling it and set your TV to 29Hz. And see if that makes a difference.

 

You should leave the scalers as I've written them, to allow the second pass when scaling.

Edited by sooty234
Link to comment
Share on other sites

PrincessClevage

A few adjustments....

## VIDEO ##
hwdec=auto
hwdec-codecs=all
opengl-pbo=yes
scale=spline36
cscale=spline36
sigmoid-upscaling=yes
dither-depth=auto
saturation=5
brightness=3
contrast=-3
gamma=14
deinterlace=no

## SUBTITLES ##
sub-create-cc-track=yes
sub-pos=90

## AUDIO ##
audio-stream-silence=yes
audio-exclusive=yes

## AUTO-PROFILES ##

[Interlaced]profile-desc=cond:p["video-frame-info/interlaced"]
hwdec=d3d11va-copy
vf=bwdif


[720p]
profile-desc=cond:p["video-params/w"]==1280
deinterlace=no

[HDR]
profile-desc=cond:p["video-params/primaries"]=="bt.2020"
dither-depth=no
deband=yes
deband-iterations=1
contrast=-6
saturation=4
brightness=6
And add this at the top:
target-trc=pq
That will help correct some underlying gamma errors (and let you use display-sync without color errors). You made need to adjust your contrast, brightness and saturation configs.

 

And make sure you have the latest Nvidia driver, so that opengl-pbo works optimally.

 

Are you using refresh rate switching? If yes, try disabling it and set your TV to 29Hz. And see if that makes a difference.

 

You should leave the scalers as I've written them, to allow the second pass when scaling.

Still dropping with:

 

## VIDEO ##

hwdec=auto

hwdec-codecs=all

opengl-pbo=yes

scale=spline36

cscale=spline36

sigmoid-upscaling=yes

dither-depth=auto

saturation=5

brightness=3

contrast=-3

gamma=14

deinterlace=no

 

 

## SUBTITLES ##

sub-create-cc-track=yes

sub-pos=90

 

## AUDIO ##

audio-stream-silence=yes

audio-exclusive=yes

 

## AUTO-PROFILES ##

 

[interlaced]profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va-copy

vf=bwdif

 

 

[720p]

profile-desc=cond:p["video-params/w"]==1280

deinterlace=no

 

[HDR]

profile-desc=cond:p["video-params/primaries"]=="bt.2020"

dither-depth=no

deband=yes

deband-iterations=1

contrast=-6

saturation=4

brightness=6

target-trc=pq

 

4b42db1d5e3647808a481fabfa24b5c6.jpg

Link to comment
Share on other sites

sooty234

Judging by that it's using d3d11va-copy, I'd say you're auto-profiles script isn't being used. Which means you're deinterlacing everything, and that would cause frame dropping. Make sure your script is in the correct place and isn't in conflict. Don't put it in the Theater folder structure.

 

And put target-trc=pq at the top in ## video ##

 

Edit

 

Actually, my bad. I didn't catch this. In the [interlaced] profile, profile should start on the next line below [interlaced]

Edited by sooty234
Link to comment
Share on other sites

PrincessClevage

Judging by that it's using d3d11va-copy, I'd say you're auto-profiles script isn't being used. Which means you're deinterlacing everything, and that would cause frame dropping. Make sure your script is in the correct place and isn't in conflict. Don't put it in the Theater folder structure.

 

And put target-trc=pq at the top in ## video ##

 

Edit

 

Actually, my bad. I didn't catch this. In the [interlaced] profile, profile should start on the next line below [interlaced]

Thanks nice pickup, I have adjusted and now using d3d11va but still dropping frames with:

 

## VIDEO ##

hwdec=auto

hwdec-codecs=all

opengl-pbo=yes

scale=spline36

cscale=spline36

sigmoid-upscaling=yes

dither-depth=auto

saturation=5

brightness=3

contrast=-3

gamma=14

deinterlace=no

target-trc=pq

 

 

## SUBTITLES ##

sub-create-cc-track=yes

sub-pos=90

 

## AUDIO ##

audio-stream-silence=yes

audio-exclusive=yes

 

## AUTO-PROFILES ##

 

[interlaced]

profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va-copy

vf=bwdif

 

 

[720p]

profile-desc=cond:p["video-params/w"]==1280

deinterlace=no

 

[HDR]

profile-desc=cond:p["video-params/primaries"]=="bt.2020"

dither-depth=no

deband=yes

deband-iterations=1

contrast=-6

saturation=4

brightness=6

319a68ce5ddd8009b96e41c0d96df69f.jpg

Link to comment
Share on other sites

sooty234

Did you try not using refresh rate switching, and setting your display to 29Hz? And you have deinterlacing set to 'no' in Theatrer?

Edited by sooty234
Link to comment
Share on other sites

PrincessClevage

Did you try not using refresh rate switching, and setting your display to 29Hz? And you have deinterlacing set to 'no' in Theatrer?

Nice 1, setting deinterlace =no In ET Gui config fixed the issue. By the way my graphics is hard set to 24fps and I don’t use frame rate switching as I have not been able to get it to work reliably.

Thanks again for the support and tips!

Link to comment
Share on other sites

sooty234

Did you have it on 'auto'? I wonder if that's broken, and deinterlacing is always activated? I always turn it off.

Link to comment
Share on other sites

PrincessClevage

Did you have it on 'auto'? I wonder if that's broken, and deinterlacing is always activated? I always turn it off.

i actually had it set to yes in ET Gui
Link to comment
Share on other sites

  • 2 weeks later...
PrincessClevage

Hi Sooty,

Just wanted to check if I have interlaced profiles set correctly. Since turning off deinterlace to fix the 4K dropping frames the live tv (interlaced I believe ) can see horizontal lines through some of the fast moving pictures. Below is live tv input and my mpv.conf

550aa0488b71d89430cc68a086ba2336.jpg

 

## VIDEO ##

target-trc=pq

target-prim=bt.2020

hwdec=auto

opengl-pbo

scale=ewa_lanczossharp

cscale=ewa_lanczos

deband-iterations=1

deband-grain=0

dither-depth=auto

deinterlace=no

saturation=5

brightness=2

contrast=-2

deinterlace=no

hwdec-codecs=all

gamma=14

 

 

## SUBTITLES ##

sub-create-cc-track=yes

sub-pos=9

 

## AUDIO ##

audio-stream-silence=yes

audio-exclusive=yes

 

## AUTO-PROFILES ##

[interlaced]

profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va

copyvf=bwdif

deinterlace=yes

 

[720p]

profile-desc=cond:p["video-params/w"]==1280

deinterlace=no

 

[HDR]

profile-desc=cond:p["video-params/primaries"]=="bt.2020"

dither-depth=auto

deband=yes

deinterlace=no

deband-iterations=1

contrast=-6

saturation=4

brightness=6

gamma=0

Link to comment
Share on other sites

sooty234

Looks like you've reverted back to your old config. Your Interlaced profile is mixed up. You've got two different deinterlacers and one line is written incorrectly. Try using the config from post #29 for deinterlacing.

Edited by sooty234
Link to comment
Share on other sites

sooty234

[interlaced]

profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va-copy

vf=bwdif

 

 

Or if you just want to use the standard deinterlacer

 

 

[interlaced]

profile-desc=cond:p["video-frame-info/interlaced"]

hwdec=d3d11va

deinterlace=yes

Link to comment
Share on other sites

sooty234

And you could actually remove the Interlaced profile and just set auto in Theater. I believe that works correctly, now.

Link to comment
Share on other sites

PrincessClevage

And you could actually remove the Interlaced profile and just set auto in Theater. I believe that works correctly, now.

Thanks I will give it a try
Link to comment
Share on other sites

IndianaGeorge

And you could actually remove the Interlaced profile and just set auto in Theater. I believe that works correctly, now.

Copied/Pasted from mpc.io/manual/stable (italics/bold mine):

 

--deinterlace=<yes|no>

Enable or disable interlacing (default: no). Interlaced video shows ugly comb-like artifacts, which are visible on fast movement. Enabling this typically inserts the yadif video filter in order to deinterlace the video, or lets the video output apply deinterlacing if supported.

This behaves exactly like the deinterlace input property (usually mapped to d).

Keep in mind that this will conflict with manually inserted deinterlacing filters, unless you take care. (Since mpv 0.27.0, even the hardware deinterlace filters will conflict. Also since that version, --deinterlace=auto was removed, which used to mean that the default interlacing option of possibly inserted video filters was used.)

Note that this will make video look worse if it's not actually interlaced.

Link to comment
Share on other sites

sooty234

Copied/Pasted from mpc.io/manual/stable (italics/bold mine):

 

--deinterlace=<yes|no>

Enable or disable interlacing (default: no). Interlaced video shows ugly comb-like artifacts, which are visible on fast movement. Enabling this typically inserts the yadif video filter in order to deinterlace the video, or lets the video output apply deinterlacing if supported.

This behaves exactly like the deinterlace input property (usually mapped to d).

Keep in mind that this will conflict with manually inserted deinterlacing filters, unless you take care. (Since mpv 0.27.0, even the hardware deinterlace filters will conflict. Also since that version, --deinterlace=auto was removed, which used to mean that the default interlacing option of possibly inserted video filters was used.)

Note that this will make video look worse if it's not actually interlaced.

 

And your point is??? 

 

The first thing to understand is that an 'auto" config can be and is achieved by using auto-profiles. Which is what is what she and I have been using.

 

The second thing to understand is that Luke has written into the config of Theater to apply deinterlacing when the server had denoted the video to be interlaced. And having re-tested the Theater auto-deinterlacing setting, it works as expected. 

Link to comment
Share on other sites

sooty234

So ET deinterlace =auto doesn’t work correctly?

 

It does. How do you have everything configured?

 

Don't listen to that guy.

Edited by sooty234
Link to comment
Share on other sites

IndianaGeorge

So ET deinterlace =auto doesn’t work correctly?

My post was copied/pasted straight from the current mpv version manual.  Check  it out yourself.

Link to comment
Share on other sites

sooty234

My post was copied/pasted straight from the current mpv version manual.  Check  it out yourself.

 

Yeah, I've read it, extensively. You don't fully understand how to use mpv.

Link to comment
Share on other sites

IndianaGeorge

Yeah, I've read it, extensively. You don't fully understand how to use mpv.

Maybe the mpv devs don't know how to use their own program?  I don't know what upset you, I just presented something I thought was useful.

Link to comment
Share on other sites

sooty234

Using auto-profiles, this is what it looks like:

[   1.832][v][auto_profiles] Re-evaluate auto profile Interlaced 
[   1.832][i][auto_profiles] Applying profile Interlaced 
[   1.832][d][vo/gpu] Resizing texture: 2133x1208
[   1.832][d][cplayer] Run command: apply-profile, flags=64, args=[name="Interlaced"]
[   1.832][v][cplayer] Applying profile 'Interlaced'...
[   1.832][v][cplayer] Setting option 'hwdec' = 'd3d11va-copy' (flags = 4)
[   1.833][v][decode_wrapper/vd] Looking at hwdec mpeg2video-d3d11va-copy...
[   1.870][v][decode_wrapper/vd] Trying hardware decoding via mpeg2video-d3d11va-copy.
[   1.870][v][cplayer] Setting option 'vf' = 'bwdif' (flags = 4)
[   1.873][v][vf] User filter list:
[   1.873][v][vf]   bwdif (bwdif.00)
[   1.874][v][decode_wrapper/vd] Pixel formats supported by decoder: cuda dxva2_vld d3d11va_vld d3d11 yuv420p
[   1.874][v][decode_wrapper/vd] Codec profile: Main (0x4)
[   1.874][v][decode_wrapper/vd] Requesting pixfmt 'd3d11' from decoder.
[   1.874][d][ffmpeg/video] mpeg2video: Decoder GUIDs reported as supported:
[   1.874][d][ffmpeg/video] mpeg2video: {86695f12-340e-4f04-9fd3-9253dd327460} 103 106
[   1.874][d][ffmpeg/video] mpeg2video: {ee27417f-5e28-4e65-beea-1d26b508adc9} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {6f3ec719-3735-42cc-8063-65cc3cb36616} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {1b81bea4-a0c7-11d3-b984-00c04f2e73c5} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {1b81bea3-a0c7-11d3-b984-00c04f2e73c5} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {32fcfe3f-de46-4a49-861b-ac71110649d5} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {d79be8da-0cf1-4c81-b82a-69a4e236f43d} 103 106
[   1.875][d][ffmpeg/video] mpeg2video: {f9aaccbb-c2b6-4cfc-8779-5707b1760552} 103 106
[   1.876][d][ffmpeg/video] mpeg2video: {1b81be68-a0c7-11d3-b984-00c04f2e73c5} 103 106
[   1.876][d][ffmpeg/video] mpeg2video: {5b11d51b-2f4c-4452-bcc3-09f2a1160cc0} 103 106
[   1.876][d][ffmpeg/video] mpeg2video: {107af0e0-ef1a-4d19-aba8-67a163073d13} 103 104 106
[   1.876][d][ffmpeg/video] mpeg2video: {20bb8b0a-97aa-4571-8e99-64e60606c1a6} 103 104 106
[   1.876][d][ffmpeg/video] mpeg2video: {15df9b21-06c4-47f1-841e-a67c97d7f312} 103 106
[   1.877][d][ffmpeg/video] mpeg2video: {efd64d74-c9e8-41d7-a5e9-e9b0e39fa319} 103 106
[   1.877][d][ffmpeg/video] mpeg2video: {ed418a9f-010d-4eda-9ae3-9a65358d8d2e} 103 106
[   1.877][d][ffmpeg/video] mpeg2video: {9947ec6f-689b-11dc-a320-0019dbbc4184} 103 106
[   1.877][d][ffmpeg/video] mpeg2video: {33fcfe41-de46-4a49-861b-ac71110649d5} 103 106 107
[   1.877][d][ffmpeg/video] mpeg2video: {463707f8-a1d0-4585-876d-83aa6d60b89e} 103 106
[   1.878][d][ffmpeg/video] mpeg2video: {a4c749ef-6ecf-48aa-8448-50a7a1165ff7} 103 104 106
[   1.878][d][ffmpeg/video] mpeg2video: {dda19dc7-93b5-49f5-a9b3-2bda28a2ce6e} 103 104 106
[   1.878][d][ffmpeg/video] mpeg2video: {6affd11e-1d96-42b1-a215-93a31f09a53d} 103 106
[   1.878][d][ffmpeg/video] mpeg2video: {914c84a3-4078-4fa9-984c-e2f262cb5c9c} 103 106
[   1.878][d][ffmpeg/video] mpeg2video: {8a1a1031-29bc-46d0-a007-e9b092ca6767} 103 106
[   1.911][v][decode_wrapper/vd] Decoder format: 720x576 [64:45] nv12 auto/auto/auto/limited/auto CL=mpeg2/4/h264
[   1.911][v][vf] [in] 720x576 [64:45] nv12 bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   1.911][v][vf] [userdeint] 720x576 [64:45] nv12 bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   1.911][v][vf] [bwdif] 720x576 [64:45] nv12 bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   1.911][d][ffmpeg] mpv_src_default_in: w:720 h:576 pixfmt:nv12 tb:1/1000000 fr:25/1 sar:64/45
[   1.911][d][ffmpeg] auto_scaler_0: w:iw h:ih flags:'bilinear' interl:0
[   1.911][d][ffmpeg] filter: auto-inserting filter 'auto_scaler_0' between the filter 'mpv_src_default_in' and the filter 'filter'
[   1.912][d][ffmpeg] auto_scaler_0: w:720 h:576 fmt:nv12 sar:64/45 -> w:720 h:576 fmt:yuv420p sar:64/45 flags:0x2
[   1.936][d][cplayer] starting video playback
[   1.936][v][lavf] queuing seek to 65172.617778
[   1.936][v][lavf] cached range 0: 65172.247533 <-> 65422.457778 (bof=1, eof=0)
[   1.936][v][lavf] ...using this range for in-cache seek.
[   1.936][v][lavf] seeking stream 0 (video) to packet 65172.617778/65172.497778
[   1.936][v][lavf] seeking stream 1 (audio) to packet 65172.607533/65172.607533
[   1.936][v][lavf] seeking stream 2 (sub) to nothing
[   1.936][v][lavf] seeking stream 3 (sub) to nothing
[   1.939][v][cplayer] hr-seek, skipping to 0.400000
[   1.942][d][ffmpeg] mpv_src_default_in: tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:(null)
[   1.942][d][ffmpeg] filter: auto-inserting filter 'auto_resampler_0' between the filter 'mpv_src_default_in' and the filter 'filter'
[   1.942][d][ffmpeg] auto_resampler_0: ch:2 chl:stereo fmt:s16p r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz
[   2.159][v][decode_wrapper/vd] Decoder format: 720x576 [64:45] nv12 auto/auto/auto/limited/auto CL=mpeg2/4/h264
[   2.159][d][ffmpeg] mpv_src_default_in: w:720 h:576 pixfmt:nv12 tb:1/1000000 fr:25/1 sar:64/45
[   2.160][d][ffmpeg] auto_scaler_0: w:iw h:ih flags:'bilinear' interl:0
[   2.160][d][ffmpeg] filter: auto-inserting filter 'auto_scaler_0' between the filter 'mpv_src_default_in' and the filter 'filter'
[   2.160][d][ffmpeg] auto_scaler_0: w:720 h:576 fmt:nv12 sar:64/45 -> w:720 h:576 fmt:yuv420p sar:64/45 flags:0x2
[   2.162][v][vf] [autorotate] 720x576 [64:45] yuv420p bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   2.162][v][vf] [convert] 720x576 [64:45] yuv420p bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   2.162][v][vf] [out] 720x576 [64:45] yuv420p bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   2.163][i][cplayer] VO: [gpu] 720x576 => 1024x576 yuv420p
[   2.163][v][cplayer] VO: Description: Shader-based GPU Renderer
[   2.163][v][vo/gpu] reconfig to 720x576 [64:45] yuv420p bt.601/bt.601-625/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[   2.163][d][vo/gpu] screen size: 3840x2040
[   2.164][v][vo/gpu] Resize: 2133x1208
[   2.164][v][vo/gpu] Window size: 2133x1208 (Borders: l=0 t=0 r=0 b=0)
[   2.164][v][vo/gpu] Video source: 720x576 (64:45)
[   2.164][v][vo/gpu] Video display: (0, 0) 720x576 -> (0, 4) 2133x1199
[   2.164][v][vo/gpu] Video scale: 2.962500/2.081597
[   2.164][v][vo/gpu] OSD borders: l=0 t=4 r=0 b=5
[   2.164][v][vo/gpu] Video borders: l=0 t=4 r=0 b=5
[   2.164][v][vo/gpu] Reported display depth: 10
[   2.164][v][vo/gpu] Texture for plane 0: 720x576
[   2.165][v][vo/gpu] Texture for plane 1: 360x288
[   2.165][v][vo/gpu] Texture for plane 2: 360x288
[   2.165][v][vo/gpu] Testing FBO format rgba16hf
[   2.165][d][vo/gpu] Resizing texture: 16x16
[   2.165][v][vo/gpu] Using FBO format rgba16hf.
[   2.167][d][vo/gpu] Resizing texture: 360x288
[   2.169][v][vo/gpu/d3d11] shaderc compile status 'success' (0 errors, 0 warnings)
[   2.172][v][vo/gpu/d3d11] Compiled a vertex shader in 4709us
[   2.172][v][vo/gpu/d3d11] shaderc: 2258us, SPIRV-Cross: 150us, D3DCompile: 2301us
[   2.172][d][vo/gpu/d3d11] GLSL source:
[   2.172][d][vo/gpu/d3d11] [  1] #version 450
[   2.172][d][vo/gpu/d3d11] [  2] #define tex1D texture
[   2.172][d][vo/gpu/d3d11] [  3] #define tex3D texture
[   2.172][d][vo/gpu/d3d11] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   2.172][d][vo/gpu/d3d11] [  5] layout(location=0) in vec2 vertex_position;
[   2.172][d][vo/gpu/d3d11] [  6] layout(location=1) in vec2 vertex_texcoord0;
[   2.172][d][vo/gpu/d3d11] [  7] layout(location=1) out vec2 texcoord0;
[   2.172][d][vo/gpu/d3d11] [  8] layout(location=2) in vec2 vertex_texcoord1;
[   2.172][d][vo/gpu/d3d11] [  9] layout(location=2) out vec2 texcoord1;
[   2.172][d][vo/gpu/d3d11] [ 10] void main() {
[   2.172][d][vo/gpu/d3d11] [ 11] gl_Position = vec4(vertex_position, 1.0, 1.0);
[   2.172][d][vo/gpu/d3d11] [ 12] texcoord0 = vertex_texcoord0;
[   2.172][d][vo/gpu/d3d11] [ 13] texcoord1 = vertex_texcoord1;
[   2.172][d][vo/gpu/d3d11] [ 14] }
[   2.172][d][vo/gpu/d3d11] HLSL source:
[   2.172][d][vo/gpu/d3d11] [  1] static float4 gl_Position;
[   2.172][d][vo/gpu/d3d11] [  2] static float2 _18;
[   2.172][d][vo/gpu/d3d11] [  3] static float2 _27;
[   2.172][d][vo/gpu/d3d11] [  4] static float2 _28;
[   2.172][d][vo/gpu/d3d11] [  5] static float2 _30;
[   2.172][d][vo/gpu/d3d11] [  6] static float2 _31;
[   2.172][d][vo/gpu/d3d11] [  7] 
[   2.172][d][vo/gpu/d3d11] [  8] struct SPIRV_Cross_Input
[   2.172][d][vo/gpu/d3d11] [  9] {
[   2.172][d][vo/gpu/d3d11] [ 10]     float2 _18 : TEXCOORD0;
[   2.172][d][vo/gpu/d3d11] [ 11]     float2 _28 : TEXCOORD1;
[   2.172][d][vo/gpu/d3d11] [ 12]     float2 _31 : TEXCOORD2;
[   2.172][d][vo/gpu/d3d11] [ 13] };
[   2.172][d][vo/gpu/d3d11] [ 14] 
[   2.172][d][vo/gpu/d3d11] [ 15] struct SPIRV_Cross_Output
[   2.172][d][vo/gpu/d3d11] [ 16] {
[   2.172][d][vo/gpu/d3d11] [ 17]     float2 _27 : TEXCOORD1;
[   2.172][d][vo/gpu/d3d11] [ 18]     float2 _30 : TEXCOORD2;
[   2.172][d][vo/gpu/d3d11] [ 19]     float4 gl_Position : SV_Position;
[   2.172][d][vo/gpu/d3d11] [ 20] };
[   2.172][d][vo/gpu/d3d11] [ 21] 
[   2.172][d][vo/gpu/d3d11] [ 22] void vert_main()
[   2.172][d][vo/gpu/d3d11] [ 23] {
[   2.172][d][vo/gpu/d3d11] [ 24]     gl_Position = float4(_18, 1.0f, 1.0f);
[   2.172][d][vo/gpu/d3d11] [ 25]     _27 = _28;
[   2.172][d][vo/gpu/d3d11] [ 26]     _30 = _31;
[   2.172][d][vo/gpu/d3d11] [ 27]     gl_Position.y = -gl_Position.y;
[   2.172][d][vo/gpu/d3d11] [ 28] }
[   2.172][d][vo/gpu/d3d11] [ 29] 
[   2.172][d][vo/gpu/d3d11] [ 30] SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
[   2.172][d][vo/gpu/d3d11] [ 31] {
[   2.172][d][vo/gpu/d3d11] [ 32]     _18 = stage_input._18;
[   2.172][d][vo/gpu/d3d11] [ 33]     _28 = stage_input._28;
[   2.172][d][vo/gpu/d3d11] [ 34]     _31 = stage_input._31;
[   2.172][d][vo/gpu/d3d11] [ 35]     vert_main();
[   2.173][d][vo/gpu/d3d11] [ 36]     SPIRV_Cross_Output stage_output;
[   2.173][d][vo/gpu/d3d11] [ 37]     stage_output.gl_Position = gl_Position;
[   2.173][d][vo/gpu/d3d11] [ 38]     stage_output._27 = _27;
[   2.173][d][vo/gpu/d3d11] [ 39]     stage_output._30 = _30;
[   2.173][d][vo/gpu/d3d11] [ 40]     return stage_output;
[   2.173][d][vo/gpu/d3d11] [ 41] }
[   2.174][v][vo/gpu/d3d11] shaderc compile status 'success' (0 errors, 0 warnings)
[   2.177][v][vo/gpu/d3d11] Compiled a fragment shader in 5263us
[   2.177][v][vo/gpu/d3d11] shaderc: 2200us, SPIRV-Cross: 133us, D3DCompile: 2930us
[   2.177][d][vo/gpu/d3d11] GLSL source:
[   2.177][d][vo/gpu/d3d11] [  1] #version 450
[   2.177][d][vo/gpu/d3d11] [  2] #define tex1D texture
[   2.177][d][vo/gpu/d3d11] [  3] #define tex3D texture
[   2.177][d][vo/gpu/d3d11] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   2.177][d][vo/gpu/d3d11] [  5] layout(location=0) out vec4 out_color;
[   2.177][d][vo/gpu/d3d11] [  6] layout(location=1) in vec2 texcoord0;
[   2.177][d][vo/gpu/d3d11] [  7] layout(location=2) in vec2 texcoord1;
[   2.177][d][vo/gpu/d3d11] [  8] layout(std140, binding=0) uniform UBO {
[   2.177][d][vo/gpu/d3d11] [  9] layout(offset=0) vec2 texture_size0;
[   2.177][d][vo/gpu/d3d11] [ 10] layout(offset=16) mat2 texture_rot0;
[   2.177][d][vo/gpu/d3d11] [ 11] layout(offset=48) vec2 texture_off0;
[   2.177][d][vo/gpu/d3d11] [ 12] layout(offset=56) vec2 pixel_size0;
[   2.177][d][vo/gpu/d3d11] [ 13] layout(offset=64) vec2 texture_size1;
[   2.177][d][vo/gpu/d3d11] [ 14] layout(offset=80) mat2 texture_rot1;
[   2.177][d][vo/gpu/d3d11] [ 15] layout(offset=112) vec2 texture_off1;
[   2.177][d][vo/gpu/d3d11] [ 16] layout(offset=120) vec2 pixel_size1;
[   2.177][d][vo/gpu/d3d11] [ 17] };
[   2.177][d][vo/gpu/d3d11] [ 18] layout(binding=0) uniform sampler2D texture0;
[   2.177][d][vo/gpu/d3d11] [ 19] layout(binding=1) uniform sampler2D texture1;
[   2.177][d][vo/gpu/d3d11] [ 20] void main() {
[   2.177][d][vo/gpu/d3d11] [ 21] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[   2.177][d][vo/gpu/d3d11] [ 22] // merging plane 1 ...
[   2.177][d][vo/gpu/d3d11] [ 23] color.r = 1.000000 * vec4(texture(texture0, texcoord0)).r;
[   2.177][d][vo/gpu/d3d11] [ 24] // merging plane 2 ... into 1
[   2.178][d][vo/gpu/d3d11] [ 25] color.g = 1.000000 * vec4(texture(texture1, texcoord1)).r;
[   2.178][d][vo/gpu/d3d11] [ 26] out_color = color;
[   2.178][d][vo/gpu/d3d11] [ 27] }
[   2.178][d][vo/gpu/d3d11] HLSL source:
[   2.178][d][vo/gpu/d3d11] [  1] Texture2D<float4> _16 : register(t0);
[   2.178][d][vo/gpu/d3d11] [  2] SamplerState __16_sampler : register(s0);
[   2.178][d][vo/gpu/d3d11] [  3] Texture2D<float4> _34 : register(t1);
[   2.178][d][vo/gpu/d3d11] [  4] SamplerState __34_sampler : register(s1);
[   2.178][d][vo/gpu/d3d11] [  5] 
[   2.178][d][vo/gpu/d3d11] [  6] static float2 _20;
[   2.178][d][vo/gpu/d3d11] [  7] static float2 _36;
[   2.178][d][vo/gpu/d3d11] [  8] static float4 _49;
[   2.178][d][vo/gpu/d3d11] [  9] 
[   2.178][d][vo/gpu/d3d11] [ 10] struct SPIRV_Cross_Input
[   2.178][d][vo/gpu/d3d11] [ 11] {
[   2.178][d][vo/gpu/d3d11] [ 12]     float2 _20 : TEXCOORD1;
[   2.178][d][vo/gpu/d3d11] [ 13]     float2 _36 : TEXCOORD2;
[   2.178][d][vo/gpu/d3d11] [ 14] };
[   2.178][d][vo/gpu/d3d11] [ 15] 
[   2.178][d][vo/gpu/d3d11] [ 16] struct SPIRV_Cross_Output
[   2.178][d][vo/gpu/d3d11] [ 17] {
[   2.178][d][vo/gpu/d3d11] [ 18]     float4 _49 : SV_Target0;
[   2.178][d][vo/gpu/d3d11] [ 19] };
[   2.178][d][vo/gpu/d3d11] [ 20] 
[   2.178][d][vo/gpu/d3d11] [ 21] void frag_main()
[   2.178][d][vo/gpu/d3d11] [ 22] {
[   2.178][d][vo/gpu/d3d11] [ 23]     float4 _56 = float4(0.0f, 0.0f, 0.0f, 1.0f);
[   2.178][d][vo/gpu/d3d11] [ 24]     _56.x = _16.Sample(__16_sampler, _20).x;
[   2.178][d][vo/gpu/d3d11] [ 25]     float4 _58 = _56;
[   2.178][d][vo/gpu/d3d11] [ 26]     _58.y = _34.Sample(__34_sampler, _36).x;
[   2.178][d][vo/gpu/d3d11] [ 27]     _49 = _58;
[   2.178][d][vo/gpu/d3d11] [ 28] }
[   2.178][d][vo/gpu/d3d11] [ 29] 
[   2.178][d][vo/gpu/d3d11] [ 30] SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
[   2.178][d][vo/gpu/d3d11] [ 31] {
[   2.178][d][vo/gpu/d3d11] [ 32]     _20 = stage_input._20;
[   2.178][d][vo/gpu/d3d11] [ 33]     _36 = stage_input._36;
[   2.178][d][vo/gpu/d3d11] [ 34]     frag_main();
[   2.178][d][vo/gpu/d3d11] [ 35]     SPIRV_Cross_Output stage_output;
[   2.178][d][vo/gpu/d3d11] [ 36]     stage_output._49 = _49;
[   2.178][d][vo/gpu/d3d11] [ 37]     return stage_output;

And here's what happens if you use 'auto' in Theater:

[   0.817][v][vo/gpu] Video source: 720x576 (64:45)
[   0.817][v][vo/gpu] Video display: (0, 0) 720x576 -> (0, 4) 2133x1199
[   0.817][v][vo/gpu] Video scale: 2.962500/2.081597
[   0.817][v][vo/gpu] OSD borders: l=0 t=4 r=0 b=5
[   0.817][v][vo/gpu] Video borders: l=0 t=4 r=0 b=5
[   0.817][v][vo/gpu] Reported display depth: 10
[   0.817][v][vo/gpu] Testing FBO format rgba16hf
[   0.817][d][vo/gpu] Resizing texture: 16x16
[   0.817][v][vo/gpu] Using FBO format rgba16hf.
[   0.817][d][vo/gpu] Resizing texture: 720x576
[   0.904][v][vo/gpu/d3d11] shaderc compile status 'success' (0 errors, 0 warnings)
[   0.907][v][vo/gpu/d3d11] Compiled a vertex shader in 89015us
[   0.907][v][vo/gpu/d3d11] shaderc: 86433us, SPIRV-Cross: 465us, D3DCompile: 2117us
[   0.907][d][vo/gpu/d3d11] GLSL source:
[   0.907][d][vo/gpu/d3d11] [  1] #version 450
[   0.907][d][vo/gpu/d3d11] [  2] #define tex1D texture
[   0.907][d][vo/gpu/d3d11] [  3] #define tex3D texture
[   0.907][d][vo/gpu/d3d11] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.907][d][vo/gpu/d3d11] [  5] layout(location=0) in vec2 vertex_position;
[   0.907][d][vo/gpu/d3d11] [  6] layout(location=1) in vec2 vertex_texcoord0;
[   0.907][d][vo/gpu/d3d11] [  7] layout(location=1) out vec2 texcoord0;
[   0.907][d][vo/gpu/d3d11] [  8] void main() {
[   0.907][d][vo/gpu/d3d11] [  9] gl_Position = vec4(vertex_position, 1.0, 1.0);
[   0.907][d][vo/gpu/d3d11] [ 10] texcoord0 = vertex_texcoord0;
[   0.907][d][vo/gpu/d3d11] [ 11] }
[   0.907][d][vo/gpu/d3d11] HLSL source:
[   0.907][d][vo/gpu/d3d11] [  1] static float4 gl_Position;
[   0.907][d][vo/gpu/d3d11] [  2] static float2 _18;
[   0.907][d][vo/gpu/d3d11] [  3] static float2 _27;
[   0.907][d][vo/gpu/d3d11] [  4] static float2 _28;
[   0.907][d][vo/gpu/d3d11] [  5] 
[   0.907][d][vo/gpu/d3d11] [  6] struct SPIRV_Cross_Input
[   0.907][d][vo/gpu/d3d11] [  7] {
[   0.907][d][vo/gpu/d3d11] [  8]     float2 _18 : TEXCOORD0;
[   0.907][d][vo/gpu/d3d11] [  9]     float2 _28 : TEXCOORD1;
[   0.907][d][vo/gpu/d3d11] [ 10] };
[   0.907][d][vo/gpu/d3d11] [ 11] 
[   0.907][d][vo/gpu/d3d11] [ 12] struct SPIRV_Cross_Output
[   0.907][d][vo/gpu/d3d11] [ 13] {
[   0.907][d][vo/gpu/d3d11] [ 14]     float2 _27 : TEXCOORD1;
[   0.907][d][vo/gpu/d3d11] [ 15]     float4 gl_Position : SV_Position;
[   0.907][d][vo/gpu/d3d11] [ 16] };
[   0.907][d][vo/gpu/d3d11] [ 17] 
[   0.907][d][vo/gpu/d3d11] [ 18] void vert_main()
[   0.907][d][vo/gpu/d3d11] [ 19] {
[   0.907][d][vo/gpu/d3d11] [ 20]     gl_Position = float4(_18, 1.0f, 1.0f);
[   0.907][d][vo/gpu/d3d11] [ 21]     _27 = _28;
[   0.907][d][vo/gpu/d3d11] [ 22]     gl_Position.y = -gl_Position.y;
[   0.908][d][vo/gpu/d3d11] [ 23] }
[   0.908][d][vo/gpu/d3d11] [ 24] 
[   0.908][d][vo/gpu/d3d11] [ 25] SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
[   0.908][d][vo/gpu/d3d11] [ 26] {
[   0.908][d][vo/gpu/d3d11] [ 27]     _18 = stage_input._18;
[   0.908][d][vo/gpu/d3d11] [ 28]     _28 = stage_input._28;
[   0.908][d][vo/gpu/d3d11] [ 29]     vert_main();
[   0.908][d][vo/gpu/d3d11] [ 30]     SPIRV_Cross_Output stage_output;
[   0.908][d][vo/gpu/d3d11] [ 31]     stage_output.gl_Position = gl_Position;
[   0.908][d][vo/gpu/d3d11] [ 32]     stage_output._27 = _27;
[   0.908][d][vo/gpu/d3d11] [ 33]     return stage_output;
[   0.908][d][vo/gpu/d3d11] [ 34] }
[   0.915][v][vo/gpu/d3d11] shaderc compile status 'success' (0 errors, 0 warnings)
[   0.933][v][vo/gpu/d3d11] Compiled a fragment shader in 25650us
[   0.933][v][vo/gpu/d3d11] shaderc: 8429us, SPIRV-Cross: 873us, D3DCompile: 16348us
[   0.933][d][vo/gpu/d3d11] GLSL source:
[   0.933][d][vo/gpu/d3d11] [  1] #version 450
[   0.933][d][vo/gpu/d3d11] [  2] #define tex1D texture
[   0.933][d][vo/gpu/d3d11] [  3] #define tex3D texture
[   0.933][d][vo/gpu/d3d11] [  4] #define LUT_POS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x))
[   0.933][d][vo/gpu/d3d11] [  5] layout(location=0) out vec4 out_color;
[   0.933][d][vo/gpu/d3d11] [  6] layout(location=1) in vec2 texcoord0;
[   0.933][d][vo/gpu/d3d11] [  7] layout(std140, binding=0) uniform UBO {
[   0.933][d][vo/gpu/d3d11] [  8] layout(offset=0) float random;
[   0.933][d][vo/gpu/d3d11] [  9] layout(offset=8) vec2 texture_size0;
[   0.933][d][vo/gpu/d3d11] [ 10] layout(offset=16) mat2 texture_rot0;
[   0.933][d][vo/gpu/d3d11] [ 11] layout(offset=48) vec2 texture_off0;
[   0.933][d][vo/gpu/d3d11] [ 12] layout(offset=56) vec2 pixel_size0;
[   0.933][d][vo/gpu/d3d11] [ 13] };
[   0.933][d][vo/gpu/d3d11] [ 14] layout(binding=0) uniform sampler2D texture0;
[   0.933][d][vo/gpu/d3d11] [ 15] #define HOOKED_raw texture0
[   0.933][d][vo/gpu/d3d11] [ 16] #define HOOKED_pos texcoord0
[   0.933][d][vo/gpu/d3d11] [ 17] #define HOOKED_size texture_size0
[   0.933][d][vo/gpu/d3d11] [ 18] #define HOOKED_rot texture_rot0
[   0.933][d][vo/gpu/d3d11] [ 19] #define HOOKED_off texture_off0
[   0.933][d][vo/gpu/d3d11] [ 20] #define HOOKED_pt pixel_size0
[   0.933][d][vo/gpu/d3d11] [ 21] #define HOOKED_map texmap0
[   0.933][d][vo/gpu/d3d11] [ 22] #define HOOKED_mul 1.000000
[   0.933][d][vo/gpu/d3d11] [ 23] #define HOOKED_tex(pos) (HOOKED_mul * vec4(texture(HOOKED_raw, pos)).rgba)
[   0.933][d][vo/gpu/d3d11] [ 24] #define HOOKED_texOff(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off))
[   0.933][d][vo/gpu/d3d11] [ 25] #define LUMA_raw texture0
[   0.933][d][vo/gpu/d3d11] [ 26] #define LUMA_pos texcoord0
[   0.933][d][vo/gpu/d3d11] [ 27] #define LUMA_size texture_size0
[   0.933][d][vo/gpu/d3d11] [ 28] #define LUMA_rot texture_rot0
[   0.933][d][vo/gpu/d3d11] [ 29] #define LUMA_off texture_off0
[   0.933][d][vo/gpu/d3d11] [ 30] #define LUMA_pt pixel_size0
[   0.933][d][vo/gpu/d3d11] [ 31] #define LUMA_map texmap0
[   0.933][d][vo/gpu/d3d11] [ 32] #define LUMA_mul 1.000000
[   0.933][d][vo/gpu/d3d11] [ 33] #define LUMA_tex(pos) (LUMA_mul * vec4(texture(LUMA_raw, pos)).rgba)
[   0.933][d][vo/gpu/d3d11] [ 34] #define LUMA_texOff(off) LUMA_tex(LUMA_pos + LUMA_pt * vec2(off))
[   0.933][d][vo/gpu/d3d11] [ 35] float mod289(float x) { return x - floor(x * 1.0/289.0) * 289.0; }
[   0.934][d][vo/gpu/d3d11] [ 36] float permute(float x) {
[   0.934][d][vo/gpu/d3d11] [ 37] return mod289( mod289(34.0*x + 1.0) * (fract(x) + 1.0) );
[   0.934][d][vo/gpu/d3d11] [ 38] }
[   0.934][d][vo/gpu/d3d11] [ 39] float rand(float x) { return fract(x * 1.0/41.0); }
[   0.934][d][vo/gpu/d3d11] [ 40] vec4 average(float range, inout float h) {
[   0.934][d][vo/gpu/d3d11] [ 41] float dist = rand(h) * range; h = permute(h);
[   0.934][d][vo/gpu/d3d11] [ 42] float dir = rand(h) * 6.2831853; h = permute(h);
[   0.934][d][vo/gpu/d3d11] [ 43] vec2 o = dist * vec2(cos(dir), sin(dir));
[   0.934][d][vo/gpu/d3d11] [ 44] vec4 ref[4];
[   0.934][d][vo/gpu/d3d11] [ 45] ref[0] = HOOKED_texOff(vec2( o.x, o.y));
[   0.934][d][vo/gpu/d3d11] [ 46] ref[1] = HOOKED_texOff(vec2(-o.y, o.x));
[   0.934][d][vo/gpu/d3d11] [ 47] ref[2] = HOOKED_texOff(vec2(-o.x, -o.y));
[   0.934][d][vo/gpu/d3d11] [ 48] ref[3] = HOOKED_texOff(vec2( o.y, -o.x));
[   0.934][d][vo/gpu/d3d11] [ 49] return (ref[0] + ref[1] + ref[2] + ref[3])*0.25;
[   0.934][d][vo/gpu/d3d11] [ 50] }
[   0.934][d][vo/gpu/d3d11] [ 51] void main() {
[   0.934][d][vo/gpu/d3d11] [ 52] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[   0.934][d][vo/gpu/d3d11] [ 53] {
[   0.934][d][vo/gpu/d3d11] [ 54] vec3 _m = vec3(HOOKED_pos, random) + vec3(1.0);
[   0.934][d][vo/gpu/d3d11] [ 55] float h = permute(permute(permute(_m.x)+_m.y)+_m.z);
[   0.934][d][vo/gpu/d3d11] [ 56] color = HOOKED_tex(HOOKED_pos);
[   0.934][d][vo/gpu/d3d11] [ 57] vec4 avg, diff;
[   0.934][d][vo/gpu/d3d11] [ 58] avg = average(16.000000, h);
[   0.934][d][vo/gpu/d3d11] [ 59] diff = abs(color - avg);
[   0.934][d][vo/gpu/d3d11] [ 60] color = mix(avg, color, greaterThan(diff, vec4(0.003906)));
[   0.934][d][vo/gpu/d3d11] [ 61] vec3 noise;
[   0.934][d][vo/gpu/d3d11] [ 62] noise.x = rand(h); h = permute(h);
[   0.934][d][vo/gpu/d3d11] [ 63] noise.y = rand(h); h = permute(h);
[   0.934][d][vo/gpu/d3d11] [ 64] noise.z = rand(h); h = permute(h);
[   0.934][d][vo/gpu/d3d11] [ 65] color.xyz += 0.000000 * (noise - vec3(0.5));
[   0.934][d][vo/gpu/d3d11] [ 66] }
[   0.934][d][vo/gpu/d3d11] [ 67] color.g = 0.000000;
[   0.934][d][vo/gpu/d3d11] [ 68] color.b = 0.000000;
[   0.934][d][vo/gpu/d3d11] [ 69] color.a = 1.000000;
[   0.934][d][vo/gpu/d3d11] [ 70] out_color = color;
[   0.934][d][vo/gpu/d3d11] [ 71] }
[   0.934][d][vo/gpu/d3d11] HLSL source:
[   0.934][d][vo/gpu/d3d11] [  1] cbuffer _100_102 : register(b0)
[   0.934][d][vo/gpu/d3d11] [  2] {
[   0.934][d][vo/gpu/d3d11] [  3]     float _102_m0 : packoffset(c0);
[   0.934][d][vo/gpu/d3d11] [  4]     float2 _102_m1 : packoffset(c0.z);
[   0.934][d][vo/gpu/d3d11] [  5]     row_major float2x2 _102_m2 : packoffset(c1);
[   0.934][d][vo/gpu/d3d11] [  6]     float2 _102_m3 : packoffset(c3);
[   0.934][d][vo/gpu/d3d11] [  7]     float2 _102_m4 : packoffset(c3.z);
[   0.934][d][vo/gpu/d3d11] [  8] };
[   0.934][d][vo/gpu/d3d11] [  9] 
[   0.934][d][vo/gpu/d3d11] [ 10] Texture2D<float4> _94 : register(t0);
[   0.934][d][vo/gpu/d3d11] [ 11] SamplerState __94_sampler : register(s0);
[   0.934][d][vo/gpu/d3d11] [ 12] 
[   0.934][d][vo/gpu/d3d11] [ 13] static float2 _97;
[   0.935][d][vo/gpu/d3d11] [ 14] static float4 _314;
[   0.935][d][vo/gpu/d3d11] [ 15] 
[   0.935][d][vo/gpu/d3d11] [ 16] struct SPIRV_Cross_Input
[   0.935][d][vo/gpu/d3d11] [ 17] {
[   0.935][d][vo/gpu/d3d11] [ 18]     float2 _97 : TEXCOORD1;
[   0.935][d][vo/gpu/d3d11] [ 19] };
[   0.935][d][vo/gpu/d3d11] [ 20] 
[   0.935][d][vo/gpu/d3d11] [ 21] struct SPIRV_Cross_Output
[   0.935][d][vo/gpu/d3d11] [ 22] {
[   0.935][d][vo/gpu/d3d11] [ 23]     float4 _314 : SV_Target0;
[   0.935][d][vo/gpu/d3d11] [ 24] };
[   0.935][d][vo/gpu/d3d11] [ 25] 
[   0.935][d][vo/gpu/d3d11] [ 26] void frag_main()
[   0.935][d][vo/gpu/d3d11] [ 27] {
[   0.935][d][vo/gpu/d3d11] [ 28]     float3 _230 = float3(_97, _102_m0) + 1.0f.xxx;
[   0.935][d][vo/gpu/d3d11] [ 29]     float _234 = _230.x;
[   0.935][d][vo/gpu/d3d11] [ 30]     float _322 = (34.0f * _234) + 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 31]     float _327 = (_322 - (floor(_322 * 0.00346020772121846675872802734375f) * 289.0f)) * (frac(_234) + 1.0f);
[   0.935][d][vo/gpu/d3d11] [ 32]     float _238 = (_327 - (floor(_327 * 0.00346020772121846675872802734375f) * 289.0f)) + _230.y;
[   0.935][d][vo/gpu/d3d11] [ 33]     float _353 = (34.0f * _238) + 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 34]     float _358 = (_353 - (floor(_353 * 0.00346020772121846675872802734375f) * 289.0f)) * (frac(_238) + 1.0f);
[   0.935][d][vo/gpu/d3d11] [ 35]     float _244 = (_358 - (floor(_358 * 0.00346020772121846675872802734375f) * 289.0f)) + _230.z;
[   0.935][d][vo/gpu/d3d11] [ 36]     float _384 = (34.0f * _244) + 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 37]     float _389 = (_384 - (floor(_384 * 0.00346020772121846675872802734375f) * 289.0f)) * (frac(_244) + 1.0f);
[   0.935][d][vo/gpu/d3d11] [ 38]     float _408 = _389 - (floor(_389 * 0.00346020772121846675872802734375f) * 289.0f);
[   0.935][d][vo/gpu/d3d11] [ 39]     float4 _255 = _94.Sample(__94_sampler, _97) * 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 40]     float _553 = (34.0f * _408) + 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 41]     float _558 = (_553 - (floor(_553 * 0.00346020772121846675872802734375f) * 289.0f)) * (frac(_408) + 1.0f);
[   0.935][d][vo/gpu/d3d11] [ 42]     float _427 = frac((_558 - (floor(_558 * 0.00346020772121846675872802734375f) * 289.0f)) * 0.024390242993831634521484375f) * 6.283185482025146484375f;
[   0.935][d][vo/gpu/d3d11] [ 43]     float2 _436 = float2(cos(_427), sin(_427)) * (frac(_408 * 0.024390242993831634521484375f) * 16.0f);
[   0.935][d][vo/gpu/d3d11] [ 44]     float _442 = _436.x;
[   0.935][d][vo/gpu/d3d11] [ 45]     float _444 = _436.y;
[   0.935][d][vo/gpu/d3d11] [ 46]     float _465 = -_444;
[   0.935][d][vo/gpu/d3d11] [ 47]     float _488 = -_442;
[   0.935][d][vo/gpu/d3d11] [ 48]     float4 _540 = ((((_94.Sample(__94_sampler, _97 + (_102_m4 * _436)) * 1.0f) + (_94.Sample(__94_sampler, _97 + (_102_m4 * float2(_465, _442))) * 1.0f)) + (_94.Sample(__94_sampler, _97 + (_102_m4 * float2(_488, _465))) * 1.0f)) + (_94.Sample(__94_sampler, _97 + (_102_m4 * float2(_444, _488))) * 1.0f)) * 0.25f;
[   0.935][d][vo/gpu/d3d11] [ 49]     float4 _267 = abs(_255 - _540);
[   0.935][d][vo/gpu/d3d11] [ 50]     bool4 _275 = bool4(_267.x > 0.0039059999398887157440185546875f.xxxx.x, _267.y > 0.0039059999398887157440185546875f.xxxx.y, _267.z > 0.0039059999398887157440185546875f.xxxx.z, _267.w > 0.0039059999398887157440185546875f.xxxx.w);
[   0.935][d][vo/gpu/d3d11] [ 51]     float4 _276 = float4(_275.x ? _255.x : _540.x, _275.y ? _255.y : _540.y, _275.z ? _255.z : _540.z, _275.w ? _255.w : _540.w);
[   0.935][d][vo/gpu/d3d11] [ 52]     float4 _748 = float4(_276.x, _276.y, _276.z, _276.w);
[   0.935][d][vo/gpu/d3d11] [ 53]     _748.y = 0.0f;
[   0.935][d][vo/gpu/d3d11] [ 54]     float4 _750 = _748;
[   0.935][d][vo/gpu/d3d11] [ 55]     _750.z = 0.0f;
[   0.935][d][vo/gpu/d3d11] [ 56]     float4 _752 = _750;
[   0.935][d][vo/gpu/d3d11] [ 57]     _752.w = 1.0f;
[   0.935][d][vo/gpu/d3d11] [ 58]     _314 = _752;
[   0.935][d][vo/gpu/d3d11] [ 59] }
[   0.935][d][vo/gpu/d3d11] [ 60] 
[   0.935][d][vo/gpu/d3d11] [ 61] SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
[   0.935][d][vo/gpu/d3d11] [ 62] {
[   0.935][d][vo/gpu/d3d11] [ 63]     _97 = stage_input._97;
[   0.935][d][vo/gpu/d3d11] [ 64]     frag_main();
[   0.935][d][vo/gpu/d3d11] [ 65]     SPIRV_Cross_Output stage_output;
[   0.936][d][vo/gpu/d3d11] [ 66]     stage_output._314 = _314;
[   0.936][d][vo/gpu/d3d11] [ 67]     return stage_output;
[   0.936][d][vo/gpu/d3d11] [ 68] }

They look very similar, right? That repeated structure is the continual cycle of deinterlacing. IT WORKS!

Link to comment
Share on other sites

sooty234

Maybe the mpv devs don't know how to use their own program?  I don't know what upset you, I just presented something I thought was useful.

 

Your information is specific to using mpv in and of itself, with no scripts and profiles. If you read the manual more thoroughly, and poke around github to see what else the mpv devs made for mpv, you will learn more. Here's the auto-profiles script, written by the main mpv developer. And here're links to profiles, auto-profiles, and the properties that can be used in those profiles.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...