haasn / libplacebo

Official mirror of libplacebo
http://libplacebo.org/
GNU Lesser General Public License v2.1
547 stars 69 forks source link

Greenish tint in the output #240

Closed Chipcraft closed 2 months ago

Chipcraft commented 8 months ago

Libplacebo filtering causes the output image to feature a greenish tint. In this case, libplacebo was used for cropping. Otherwise the same workflow, using lavfilter crop-filter instead of libplacebo does not illustrate this behavior.

Input: Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9] // HDR10 BL

libplacebo (master) - 34e019bfedaa5a64f268d8f9263db352c0a8f67f ffmpeg (master) - https://github.com/FFmpeg/FFmpeg/commit/34a47b97de9d90a28ead36ca200f6a19a08ce2df

Command w/ libplacebo:

ffmpeg -init_hw_device vulkan -i Input_BL.h265 -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf libplacebo=crop_w=3840:crop_h=1600:w=3840:h=1600 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 51 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le -loglevel verbose Placebo_Out.h265

Libplacebo

Command w/ lavfilter:

ffmpeg -init_hw_device vulkan -i Input_BL.h265 -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf crop=3840:1600:0:280 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 51 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le -loglevel verbose Lavfilter_Out.h265

Lavfilter

[libplacebo @ 000001aaf67ccc80] Initialized libplacebo v6.338.0-64-g34e019bf (API v342)
[graph 0 input from stream 0:0 @ 000001aaf67cdf00] w:3840 h:2160 pixfmt:yuv420p10le tb:1/1200000 fr:24000/1001 sar:1/1 csp:bt2020nc range:tv
[libplacebo @ 000001aaf67ccc80] Imported vulkan device properties:
[libplacebo @ 000001aaf67ccc80]     Device Name: Intel(R) Arc(TM) A380 Graphics
[libplacebo @ 000001aaf67ccc80]     Device ID: 8086:56a5
[libplacebo @ 000001aaf67ccc80]     Device UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00
[libplacebo @ 000001aaf67ccc80]     Driver version: 1953dc
[libplacebo @ 000001aaf67ccc80]     API version: 1.3.267
[libplacebo @ 000001aaf67ccc80] Restricting API version to 1.3.0... new version 1.3.0
[libplacebo @ 000001aaf67ccc80] Memory heaps supported by device:
[libplacebo @ 000001aaf67ccc80]     0: flags 0x1 size 5800M
[libplacebo @ 000001aaf67ccc80]     1: flags 0x0 size   31G
[libplacebo @ 000001aaf67ccc80]     2: flags 0x1 size  256M
[libplacebo @ 000001aaf67ccc80] Memory summary:     0 used     0 res     0 alloc, efficiency 100.00%, utilization 100.00%, max page:  362M
[libplacebo @ 000001aaf67ccc80] shaderc SPIR-V version 1.6 rev 1
[libplacebo @ 000001aaf67ccc80] Initialized SPIR-V compiler 'shaderc'
[libplacebo @ 000001aaf67ccc80] GPU information:
[libplacebo @ 000001aaf67ccc80]     GLSL version: 450 (vulkan)
[libplacebo @ 000001aaf67ccc80]       max_shmem_size:            32768
[libplacebo @ 000001aaf67ccc80]       max_group_threads:         1024
[libplacebo @ 000001aaf67ccc80]       max_group_size[0]:         1024
[libplacebo @ 000001aaf67ccc80]       max_group_size[1]:         1024
[libplacebo @ 000001aaf67ccc80]       max_group_size[2]:         64
[libplacebo @ 000001aaf67ccc80]       subgroup_size:             32
[libplacebo @ 000001aaf67ccc80]       min_gather_offset:         -32
[libplacebo @ 000001aaf67ccc80]       max_gather_offset:         31
[libplacebo @ 000001aaf67ccc80]     Limits:
[libplacebo @ 000001aaf67ccc80]       thread_safe:               1
[libplacebo @ 000001aaf67ccc80]       callbacks:                 1
[libplacebo @ 000001aaf67ccc80]       max_buf_size:              34292836352
[libplacebo @ 000001aaf67ccc80]       max_ubo_size:              134217724
[libplacebo @ 000001aaf67ccc80]       max_ssbo_size:             1073741820
[libplacebo @ 000001aaf67ccc80]       max_vbo_size:              6081740800
[libplacebo @ 000001aaf67ccc80]       max_mapped_size:           34292836352
[libplacebo @ 000001aaf67ccc80]       max_buffer_texels:         134217728
[libplacebo @ 000001aaf67ccc80]       align_host_ptr:            4096
[libplacebo @ 000001aaf67ccc80]       host_cached:               1
[libplacebo @ 000001aaf67ccc80]       max_tex_1d_dim:            16384
[libplacebo @ 000001aaf67ccc80]       max_tex_2d_dim:            16384
[libplacebo @ 000001aaf67ccc80]       max_tex_3d_dim:            2048
[libplacebo @ 000001aaf67ccc80]       blittable_1d_3d:           1
[libplacebo @ 000001aaf67ccc80]       buf_transfer:              1
[libplacebo @ 000001aaf67ccc80]       align_tex_xfer_pitch:      64
[libplacebo @ 000001aaf67ccc80]       align_tex_xfer_offset:     64
[libplacebo @ 000001aaf67ccc80]       max_variable_comps:        0
[libplacebo @ 000001aaf67ccc80]       max_constants:             18446744073709551615
[libplacebo @ 000001aaf67ccc80]       max_pushc_size:            256
[libplacebo @ 000001aaf67ccc80]       align_vertex_stride:       1
[libplacebo @ 000001aaf67ccc80]       max_dispatch[0]:           65536
[libplacebo @ 000001aaf67ccc80]       max_dispatch[1]:           65536
[libplacebo @ 000001aaf67ccc80]       max_dispatch[2]:           65536
[libplacebo @ 000001aaf67ccc80]       fragment_queues:           1
[libplacebo @ 000001aaf67ccc80]       compute_queues:            1
[libplacebo @ 000001aaf67ccc80]     External API interop:
[libplacebo @ 000001aaf67ccc80]       UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00
[libplacebo @ 000001aaf67ccc80]       PCI: 0000:00:00:0
[libplacebo @ 000001aaf67ccc80]       buf export caps: 0x2
[libplacebo @ 000001aaf67ccc80]       buf import caps: 0x12
[libplacebo @ 000001aaf67ccc80]       tex export caps: 0x2
[libplacebo @ 000001aaf67ccc80]       tex import caps: 0x12
[libplacebo @ 000001aaf67ccc80]       sync export caps: 0x2
[libplacebo @ 000001aaf67ccc80]       sync import caps: 0x0
[libplacebo @ 000001aaf67ccc80] Spent 76.898 ms translating SPIR-V
[libplacebo @ 000001aaf67ccc80] Spent 66.418 ms translating SPIR-V
[libplacebo @ 000001aaf67ccc80] Spent 18.677 ms generating shader LUT
[libplacebo @ 000001aaf67ccc80] Dithering to 10 bit depth
Chipcraft commented 8 months ago

The phenomenon appears to be hardware agnostic, the same effect occurs when the Vulkan filter device is AMD Hawk Point instead of Intel DG2.

1705766192498

[libplacebo @ 0000022e5adba3c0] Initialized libplacebo v6.338.0-64-g34e019bf (API v342)
[graph 0 input from stream 0:0 @ 0000022e75c54ec0] w:3840 h:2160 pixfmt:yuv420p10le tb:1/1200000 fr:24000/1001 sar:1/1 csp:bt2020nc range:tv
[libplacebo @ 0000022e5adba3c0] Imported vulkan device properties:
[libplacebo @ 0000022e5adba3c0]     Device Name: Radeon 7
[libplacebo @ 0000022e5adba3c0]     Device ID: 1002:15bf
[libplacebo @ 0000022e5adba3c0]     Device UUID: 00:00:00:00:0D:00:00:00:00:00:00:00:00:00:00:00
[libplacebo @ 0000022e5adba3c0]     Driver version: 80011b
[libplacebo @ 0000022e5adba3c0]     API version: 1.3.262
[libplacebo @ 0000022e5adba3c0] Restricting API version to 1.3.0... new version 1.3.0
[libplacebo @ 0000022e5adba3c0] Memory heaps supported by device:
[libplacebo @ 0000022e5adba3c0]     0: flags 0x3 size  256M
[libplacebo @ 0000022e5adba3c0]     1: flags 0x0 size   15G
[libplacebo @ 0000022e5adba3c0]     2: flags 0x3 size  256M
[libplacebo @ 0000022e5adba3c0] Memory summary:     0 used     0 res     0 alloc, efficiency 100.00%, utilization 100.00%, max page:   64M
[libplacebo @ 0000022e5adba3c0] shaderc SPIR-V version 1.6 rev 1
[libplacebo @ 0000022e5adba3c0] Initialized SPIR-V compiler 'shaderc'
[libplacebo @ 0000022e5adba3c0] GPU information:
[libplacebo @ 0000022e5adba3c0]     GLSL version: 450 (vulkan)
[libplacebo @ 0000022e5adba3c0]       max_shmem_size:            32768
[libplacebo @ 0000022e5adba3c0]       max_group_threads:         1024
[libplacebo @ 0000022e5adba3c0]       max_group_size[0]:         1024
[libplacebo @ 0000022e5adba3c0]       max_group_size[1]:         1024
[libplacebo @ 0000022e5adba3c0]       max_group_size[2]:         1024
[libplacebo @ 0000022e5adba3c0]       subgroup_size:             64
[libplacebo @ 0000022e5adba3c0]       min_gather_offset:         -32
[libplacebo @ 0000022e5adba3c0]       max_gather_offset:         31
[libplacebo @ 0000022e5adba3c0]     Limits:
[libplacebo @ 0000022e5adba3c0]       thread_safe:               1
[libplacebo @ 0000022e5adba3c0]       callbacks:                 1
[libplacebo @ 0000022e5adba3c0]       max_buf_size:              16438525952
[libplacebo @ 0000022e5adba3c0]       max_ubo_size:              4294967295
[libplacebo @ 0000022e5adba3c0]       max_ssbo_size:             4294967295
[libplacebo @ 0000022e5adba3c0]       max_vbo_size:              268435456
[libplacebo @ 0000022e5adba3c0]       max_mapped_size:           16438525952
[libplacebo @ 0000022e5adba3c0]       max_buffer_texels:         4294967295
[libplacebo @ 0000022e5adba3c0]       align_host_ptr:            4096
[libplacebo @ 0000022e5adba3c0]       host_cached:               1
[libplacebo @ 0000022e5adba3c0]       max_tex_1d_dim:            16384
[libplacebo @ 0000022e5adba3c0]       max_tex_2d_dim:            16384
[libplacebo @ 0000022e5adba3c0]       max_tex_3d_dim:            8192
[libplacebo @ 0000022e5adba3c0]       blittable_1d_3d:           1
[libplacebo @ 0000022e5adba3c0]       buf_transfer:              1
[libplacebo @ 0000022e5adba3c0]       align_tex_xfer_pitch:      1
[libplacebo @ 0000022e5adba3c0]       align_tex_xfer_offset:     4
[libplacebo @ 0000022e5adba3c0]       max_variable_comps:        0
[libplacebo @ 0000022e5adba3c0]       max_constants:             18446744073709551615
[libplacebo @ 0000022e5adba3c0]       max_pushc_size:            128
[libplacebo @ 0000022e5adba3c0]       align_vertex_stride:       1
[libplacebo @ 0000022e5adba3c0]       max_dispatch[0]:           4294967295
[libplacebo @ 0000022e5adba3c0]       max_dispatch[1]:           65535
[libplacebo @ 0000022e5adba3c0]       max_dispatch[2]:           65535
[libplacebo @ 0000022e5adba3c0]       fragment_queues:           1
[libplacebo @ 0000022e5adba3c0]       compute_queues:            2
[libplacebo @ 0000022e5adba3c0]     External API interop:
[libplacebo @ 0000022e5adba3c0]       UUID: 00:00:00:00:0D:00:00:00:00:00:00:00:00:00:00:00
[libplacebo @ 0000022e5adba3c0]       PCI: 0000:0d:00:0
[libplacebo @ 0000022e5adba3c0]       buf export caps: 0x6
[libplacebo @ 0000022e5adba3c0]       buf import caps: 0x16
[libplacebo @ 0000022e5adba3c0]       tex export caps: 0x6
[libplacebo @ 0000022e5adba3c0]       tex import caps: 0x16
[libplacebo @ 0000022e5adba3c0]       sync export caps: 0x6
[libplacebo @ 0000022e5adba3c0]       sync import caps: 0x0
[libplacebo @ 0000022e5adba3c0] Spent 11.836 ms allocating slab
[libplacebo @ 0000022e5adba3c0] Spent 72.801 ms translating SPIR-V
[libplacebo @ 0000022e5adba3c0] Spent 31.582 ms allocating slab
[libplacebo @ 0000022e5adba3c0] Spent 41.416 ms translating SPIR-V
[libplacebo @ 0000022e5adba3c0] Spent 10.844 ms generating shader LUT
[libplacebo @ 0000022e5adba3c0] Dithering to 10 bit depth
haasn commented 7 months ago

Does it happen for e.g. yuv420p, or just the 10-bit formats?

Chipcraft commented 7 months ago

Need to verify it using other samples however, it does not seem to affect 420P or even the 420P10 as long as it is SDR content (bt. 709).

Chipcraft commented 7 months ago

After testing on a different source, there is definitely a difference with 420P input as well.

Placebo (Crop):

https://www.nle-chipcraft.com/Git/CobraPLC.png

LAV (Crop):

https://www.nle-chipcraft.com/Git/CobraLAV.png

mightyhuhn commented 7 months ago

can you show me where the ycbcr -> RGB conversation code is there are already 3 colorspace i found and none had them in them AFAIK.

mpdn had a similar issue and i want to check a number.

haasn commented 7 months ago

Sorry, I'm still trying to get around to this; I should have the time later this week.

You can find the colormatrix generation code here: https://github.com/haasn/libplacebo/blob/master/src/colorspace.c#L1412

With test cases here: https://github.com/haasn/libplacebo/blob/master/src/tests/colorspace.c

Probably the simplest place to start would be to add more unit tests with hard-coded reference matrices, e.g. https://github.com/haasn/libplacebo/blob/master/src/tests/colorspace.c#L201

But, I highly suspect that the actual color matrices are correct, and the issue comes from someplace else.

haasn commented 7 months ago

It would be easier also if you could reproduce the problem on a static test pattern with known YCbCr values, such as smptebars

mightyhuhn commented 7 months ago

https://forum.doom9.org/showthread.php?p=1713449#post1713449 https://github.com/haasn/libplacebo/blob/master/src/colorspace.c#L1514C9-L1514C35 line 1514 cmid = 128 / 256. * scale; if this is about this according to the paper at hand it should be 255 this is to high for me if this even references to that. the other scale stuff is the usual 8 int mx 10 int max and 12 int max not 100000000.

i grab a ire test pattern later. the one i created on the fast has a general tint. well what ever maybe i'm lucky.

haasn commented 7 months ago

So for 8-bit we have:

Edit: Nvm, I see; the issue is about 128 vs 127.5? But that is clearly not the case here, as we use 128, not 127.5.

haasn commented 7 months ago

Furthermore, vo_gpu uses the exact same color matrices, so it shouldn't be a source of differences between vo_gpu and vo_gpu_next

mightyhuhn commented 7 months ago

don't waste your time to explain yourself to me. i just remember someone very competent had a similar issue.

Chipcraft commented 7 months ago

There seems to be a physical difference with the two pictures.

Used the minimum crop of 2 pix. to ensure that a crop of zero won't be optimized into a NOP.

LAV:

ffmpeg -init_hw_device vulkan -f lavfi -i smptebars=size=3840x2160 -vf crop=3840:2158:0:1 -frames:v 1 -pix_fmt rgb48be -compression_level 9 smpte-lav.png

smpte-lav

ffmpeg -init_hw_device vulkan -f lavfi -i smptehdbars=size=3840x2160 -vf crop=3840:2158:0:1 -frames:v 1 -pix_fmt rgb48be -compression_level 9 smptehd-lav.png

smptehd-lav

Placebo:

ffmpeg -init_hw_device vulkan -f lavfi -i smptebars=size=3840x2160 -vf libplacebo=crop_w=3840:crop_h=2158:crop_x=0:crop_y=1:w=3840:h=2158 -frames:v 1 -pix_fmt rgb48be -compression_level 9 smpte-plc.png

smpte-plc

ffmpeg -init_hw_device vulkan -f lavfi -i smptehdbars=size=3840x2160 -vf libplacebo=crop_w=3840:crop_h=2158:crop_x=0:crop_y=1:w=3840:h=2158 -frames:v 1 -pix_fmt rgb48be -compression_level 9 smptehd-plc.png

smptehd-plc

haasn commented 7 months ago

My own testing:

Generation

Exact bit values

So, zscale and libplacebo are a near match here (the difference is about 2^-12, which is below the human perceptibility threshold), and swscale is significantly different from both.

Reference computation

Using the exact numbers taken from the BT.601 specification, courtesy of https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion, and plugging in the actual 8-bit source YCbCr value (162, 44, 142), I get:

y = 162
cb = 44
cr = 142

(rd, gd, bd) = (yrgb + crr, yrgb - 0.114/0.587 * cbb - 0.299/0.587 * crr, yrgb + cbb)
    where yrgb = 255/219 * (y - 16)
          crr  = 255/224 * 1.402 * (cr - 128)
          cbb  = 255/224 * 1.772 * (cb - 128)

Evaluation

This is the MSE of each approach, versus the reference computation:

So we can see that swscale is the least accurate here. Intuitively, this is what we should expect - swscale uses exclusively 16-bit integer math, libplacebo uses 32-bit floating point math, and zscale probably uses a mix of 64-bit float math (for matrices) and 16-bit lookup tables.

Conclusion

I could find no bug in libplacebo when comparing the output of smptebars directly on 8-bit input values. So I suspect that the issue in the original post, which is far more dramatic than that, comes from someplace else. At the very least, this demonstrates that the color matrices in libplacebo are correct.

haasn commented 7 months ago

I tried repeating the same test with yuv420p10 input instead of yuv420p, just adding an extra -vf format=yuv420p10 to the beginning of the filter chain for each:

Same pattern - swscale differs (in this case by about 2^-8, a noticeable amount), zscale and libplacebo match.

haasn commented 7 months ago

Edit: My invocation was correct, I forgot to specify h=238, so I was doing scaling. This was going through the full linearization/sigmoidization path, which has limited precision. Disabling sigmoidization, or fixing the height expression, makes it instead output the far more reasonable value 11253.

Trying to recreate your original sample exactly:

Extracting Y/Cb/Cr planes from each:

I get these raw Y/Cb/Cr values:

Since none of the above operations should have modified the actual underlying YCbCr input value, we can use the original input as reference, which corresponds to 16-bit values (41472, 11264, 36352)

This gives us an MSE of:

So something fishy is definitely going on here. I will try eliminating parameters until we identify the root cause.

haasn commented 7 months ago

@Chipcraft can you share more details about the original input file? Maybe a log with -v debug would be more helpful.

Chipcraft commented 7 months ago

ffmpeg -init_hw_device vulkan -i Input_BL.h265 -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf libplacebo=crop_w=3840:crop_h=1600:w=3840:h=1600 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 51 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le -loglevel -frames:v 1 verbose Placebo_Out.h265

Debug log on the input ``` ffmpeg version N-113620-g3be80ce299 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev4, Built by MSYS2 project) configuration: --enable-libvpl --enable-nvenc --enable-libdav1d --enable-libaom --enable-libx264 --enable-libx265 --enable-libfdk_aac --enable-libopus --enable-libplacebo --enable-libvmaf --enable-libxml2 --enable-openssl --enable-gpl --enable-nonfree --cpu=x86-64-v3 --extra-libs=-lstdc++ libavutil 58. 36.101 / 58. 36.101 libavcodec 60. 39.100 / 60. 39.100 libavformat 60. 20.100 / 60. 20.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 17.100 / 9. 17.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Splitting the commandline. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'. Reading option '-i' ... matched as output url with argument 'Input_BL.h265'. Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list of bitstream filters) with argument 'hevc_metadata=chroma_sample_loc_type=2'. Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'libplacebo=crop_w=3840:crop_h=1600:w=3840:h=1600'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'hevc_qsv'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'veryslow'. Reading option '-scenario' ... matched as AVOption 'scenario' with argument 'archive'. Reading option '-profile:v' ... matched as option 'profile' (set profile) with argument 'main10'. Reading option '-level:v' ... matched as AVOption 'level:v' with argument '51'. Reading option '-tier' ... matched as AVOption 'tier' with argument 'high'. Reading option '-global_quality' ... matched as AVOption 'global_quality' with argument '14'. Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop'. Reading option '-g' ... matched as AVOption 'g' with argument '120'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'p010le'. Reading option '-frames:v' ... matched as option 'frames' (set the number of frames to output) with argument '1'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option 'Placebo_Out.h265' ... matched as output url. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Finished splitting the commandline. Parsing a group of options: global . Applying option init_hw_device (initialise hardware device) with argument vulkan. [AVHWDeviceContext @ 000001e10284ebc0] Supported validation layers: [AVHWDeviceContext @ 000001e10284ebc0] VK_LAYER_VALVE_steam_overlay [AVHWDeviceContext @ 000001e10284ebc0] VK_LAYER_VALVE_steam_fossilize [AVHWDeviceContext @ 000001e10284ebc0] Using instance extension VK_KHR_portability_enumeration [AVHWDeviceContext @ 000001e10284ebc0] GPU listing: [AVHWDeviceContext @ 000001e10284ebc0] 0: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 000001e10284ebc0] Device 0 selected: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 000001e10284ebc0] Queue families: [AVHWDeviceContext @ 000001e10284ebc0] 0: graphics compute transfer sparse (queues: 1) [AVHWDeviceContext @ 000001e10284ebc0] 1: compute (queues: 1) [AVHWDeviceContext @ 000001e10284ebc0] 2: transfer (queues: 1) [AVHWDeviceContext @ 000001e10284ebc0] 3: decode (queues: 2) [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_push_descriptor [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_sampler_ycbcr_conversion [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_EXT_descriptor_buffer [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_EXT_shader_atomic_float [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_EXT_external_memory_host [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_external_memory_win32 [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_external_semaphore_win32 [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_video_queue [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_video_decode_queue [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_video_decode_h264 [AVHWDeviceContext @ 000001e10284ebc0] Using device extension VK_KHR_video_decode_h265 [AVHWDeviceContext @ 000001e10284ebc0] Using device: Intel(R) Arc(TM) A380 Graphics [AVHWDeviceContext @ 000001e10284ebc0] Alignments: [AVHWDeviceContext @ 000001e10284ebc0] optimalBufferCopyRowPitchAlignment: 64 [AVHWDeviceContext @ 000001e10284ebc0] minMemoryMapAlignment: 64 [AVHWDeviceContext @ 000001e10284ebc0] nonCoherentAtomSize: 1 [AVHWDeviceContext @ 000001e10284ebc0] minImportedHostPointerAlignment: 4096 [AVHWDeviceContext @ 000001e10284ebc0] Using queue family 0 (queues: 1) for graphics [AVHWDeviceContext @ 000001e10284ebc0] Using queue family 1 (queues: 1) for compute [AVHWDeviceContext @ 000001e10284ebc0] Using queue family 2 (queues: 1) for transfers [AVHWDeviceContext @ 000001e10284ebc0] Using queue family 3 (queues: 2) for decode Applying option loglevel (set logging level) with argument debug. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url Input_BL.h265. Successfully parsed a group of options. Opening an input file: Input_BL.h265. [AVFormatContext @ 000001e100eee340] Opening 'Input_BL.h265' for reading [file @ 000001e100eee780] Setting default whitelist 'file,crypto,data' [hevc @ 000001e100eee340] Format hevc probed with size=2048 and score=51 [hevc @ 000001e100eee340] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Skipped PREFIX SEI 0 [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Skipped PREFIX SEI 6 [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [extract_extradata @ 000001e10284fb80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [extract_extradata @ 000001e10284fb80] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [extract_extradata @ 000001e10284fb80] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Skipped PREFIX SEI 0 [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Skipped PREFIX SEI 6 [hevc @ 000001e102861880] Decoding SEI Last message repeated 1 times [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Format yuv420p10le chosen by get_format(). Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e102861880] Decoded frame with POC 0. [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding VPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding SPS [hevc @ 000001e102861880] Main 10 profile bitstream [hevc @ 000001e102861880] Decoding VUI [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI [hevc @ 000001e102861880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e102861880] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e102861880] Decoding PPS [hevc @ 000001e102861880] Decoding SEI [hevc @ 000001e100eee340] Probe buffer size limit of 5000000 bytes reached [hevc @ 000001e100eee340] Stream #0: not enough frames to estimate rate; consider increasing probesize [hevc @ 000001e100eee340] After avformat_find_stream_info() pos: 5131264 bytes read:5144576 seeks:0 frames:6 Input #0, hevc, from 'Input_BL.h265': Duration: N/A, bitrate: N/A Stream #0:0, 6, 1/1200000: Video: hevc (Main 10), 1 reference frame, yuv420p10le(tv, bt2020nc/bt2020/smpte2084, topleft), 3840x2160 (0x0) [SAR 1:1 DAR 16:9], 0/1, 25 fps, 23.98 tbr, 1200k tbn Successfully opened the file. Parsing a group of options: output url Placebo_Out.h265. Applying option bsf:v (A comma-separated list of bitstream filters) with argument hevc_metadata=chroma_sample_loc_type=2. Applying option vf (alias for -filter:v (apply filters to video streams)) with argument libplacebo=crop_w=3840:crop_h=1600:w=3840:h=1600. Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument hevc_qsv. Applying option profile:v (set profile) with argument main10. Applying option pix_fmt (set pixel format) with argument p010le. Applying option frames:v (set the number of frames to output) with argument 1. Successfully parsed a group of options. Opening an output file: Placebo_Out.h265. [out#0/hevc @ 000001e100ee7a00] No explicit maps, mapping streams automatically... [vost#0:0/hevc_qsv @ 000001e109731d00] Created video stream from input stream 0:0 [h265_metadata_bsf @ 000001e10b69bf40] Setting 'chroma_sample_loc_type' to value '2' [AVFilterGraph @ 000001e100eed400] Setting 'crop_w' to value '3840' [AVFilterGraph @ 000001e100eed400] Setting 'crop_h' to value '1600' [AVFilterGraph @ 000001e100eed400] Setting 'w' to value '3840' [AVFilterGraph @ 000001e100eed400] Setting 'h' to value '1600' [libplacebo @ 000001e109818140] Initialized libplacebo v6.338.0-77-g3ba18d5d (API v342) detected 64 logical cores [hevc @ 000001e10981b3c0] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] Decoding VPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding SPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding VUI [hevc @ 000001e10981b3c0] Decoding PPS [hevc @ 000001e10981b3c0] Decoding VPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding SPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding VUI [hevc @ 000001e10981b3c0] Decoding PPS [file @ 000001e109716880] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> hevc (hevc_qsv)) [vost#0:0/hevc_qsv @ 000001e109731d00] Starting thread... [vf#0:0 @ 000001e10b69c040] Starting thread... [vist#0:0/hevc @ 000001e102852ec0] [dec:hevc @ 000001e1097bf240] Starting thread... [in#0/hevc @ 000001e100ee9840] Starting thread... Press [q] to stop, [?] for help [hevc @ 000001e10981b3c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 2 times [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 2 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e10981b3c0] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e10981b3c0] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e10981b3c0] Decoding VPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e10981b3c0] Decoding SPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding VUI [hevc @ 000001e10981b3c0] Decoding PPS [hevc @ 000001e10981b3c0] Decoding SEI Last message repeated 1 times [hevc @ 000001e10981b3c0] Skipped PREFIX SEI 0 [hevc @ 000001e10981b3c0] Decoding SEI Last message repeated 1 times [hevc @ 000001e10981b3c0] Skipped PREFIX SEI 6 [hevc @ 000001e10981b3c0] Decoding SEI Last message repeated 1 times [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e10981b3c0] Decoding VPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding SPS [hevc @ 000001e10981b3c0] Main 10 profile bitstream [hevc @ 000001e10981b3c0] Decoding VUI [hevc @ 000001e10981b3c0] Decoding PPS [hevc @ 000001e10981b3c0] Format yuv420p10le chosen by get_format(). Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1096459c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e1096459c0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1096459c0] Output frame with POC 0. [hevc @ 000001e1096f6a80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 2 times [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e1096f6a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e1096f6a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e1096f6a80] Decoding PPS [hevc @ 000001e1096f6a80] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1096f6a80] Output frame with POC 1. [hevc @ 000001e10981fc00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10981fc00] Decoding PPS [hevc @ 000001e10981fc00] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10981fc00] Output frame with POC 2. [hevc @ 000001e1099869c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 2 times [hevc @ 000001e1099869c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 3 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e1099869c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e1099869c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 3 times [hevc @ 000001e1099869c0] Decoding PPS [hevc @ 000001e1099869c0] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1099869c0] Output frame with POC 3. [hevc @ 000001e109a37a80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109a37a80] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109a37a80] Output frame with POC 4. [hevc @ 000001e109ae8b80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109ae8b80] Decoding PPS [hevc @ 000001e109ae8b80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109ae8b80] Output frame with POC 5. [hevc @ 000001e10978db40] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e10978db40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e10978db40] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10978db40] Output frame with POC 6. [hevc @ 000001e10b7fe9c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10b7fe9c0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e10b7fe9c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b7fe9c0] Output frame with POC 7. [hevc @ 000001e10b8afa80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10b8afa80] Decoding PPS [hevc @ 000001e10b8afa80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e109b8eb00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding VPS [hevc @ 000001e109b8eb00] Main 10 profile bitstream [hevc @ 000001e109b8eb00] Decoding SPS [hevc @ 000001e109b8eb00] Main 10 profile bitstream [hevc @ 000001e109b8eb00] Decoding VUI [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Last message repeated 1 times [hevc @ 000001e109b8eb00] Skipped PREFIX SEI 0 [hevc @ 000001e109b8eb00] Decoding SEI Last message repeated 1 times [hevc @ 000001e109b8eb00] Skipped PREFIX SEI 6 [hevc @ 000001e109b8eb00] Decoding SEI Last message repeated 1 times [hevc @ 000001e109b8eb00] Decoding VPS [hevc @ 000001e109b8eb00] Main 10 profile bitstream Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b8afa80] Output frame with POC 8. [hevc @ 000001e10b960880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] Decoding SPS [hevc @ 000001e109b8eb00] Main 10 profile bitstream [hevc @ 000001e10b960880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] Decoding VUI [hevc @ 000001e10b960880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e10b960880] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 4 times [hevc @ 000001e10b960880] Decoding PPS [hevc @ 000001e10b960880] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 8(RASL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b960880] Output frame with POC 9. [hevc @ 000001e10ba11680] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10ba11680] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10ba11680] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10ba11680] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10ba11680] Decoding PPS [hevc @ 000001e10ba11680] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 8(RASL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10ba11680] Output frame with POC 10. [hevc @ 000001e109730d00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109730d00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109730d00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109730d00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109730d00] Decoding PPS [hevc @ 000001e109730d00] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109730d00] Output frame with POC 11. [hevc @ 000001e109731100] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 4 times [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109731100] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc @ 000001e109731100] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 2 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109731100] Output frame with POC 12. [hevc @ 000001e109812bc0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109812bc0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109812bc0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109812bc0] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109812bc0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109812bc0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109812bc0] Output frame with POC 13. [hevc @ 000001e1098133c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1098133c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1098133c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1098133c0] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e1098133c0] Decoding PPS [hevc @ 000001e1098133c0] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1098133c0] Output frame with POC 14. [hevc @ 000001e10981b3c0] Decoded frame with POC 0. [hevc @ 000001e10981b3c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981b3c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10981b3c0] Decoding PPS [hevc @ 000001e10981b3c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10981b3c0] Output frame with POC 15. [hevc @ 000001e1096459c0] Decoded frame with POC 3. [AVFilterGraph @ 000001e124aa1e40] Setting 'crop_w' to value '3840' [AVFilterGraph @ 000001e124aa1e40] Setting 'crop_h' to value '1600' [AVFilterGraph @ 000001e124aa1e40] Setting 'w' to value '3840' [AVFilterGraph @ 000001e124aa1e40] Setting 'h' to value '1600' [hevc @ 000001e1096459c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e1096459c0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096459c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [libplacebo @ 000001e109703580] Initialized libplacebo v6.338.0-77-g3ba18d5d (API v342) [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'video_size' to value '3840x2160' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'pix_fmt' to value '62' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'time_base' to value '1/1200000' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'colorspace' to value '9' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'range' to value '1' [graph 0 input from stream 0:0 @ 000001e116a1ef00] Setting 'frame_rate' to value '24000/1001' [graph 0 input from stream 0:0 @ 000001e116a1ef00] w:3840 h:2160 pixfmt:yuv420p10le tb:1/1200000 fr:24000/1001 sar:1/1 csp:bt2020nc range:tv [format @ 000001e10cc32bc0] Setting 'pix_fmts' to value 'p010le' [libplacebo @ 000001e109703580] Imported vulkan device properties: [libplacebo @ 000001e109703580] Device Name: Intel(R) Arc(TM) A380 Graphics [libplacebo @ 000001e109703580] Device ID: 8086:56a5 [libplacebo @ 000001e109703580] Device UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 000001e109703580] Driver version: 19544a [libplacebo @ 000001e109703580] API version: 1.3.271 [libplacebo @ 000001e109703580] Restricting API version to 1.3.0... new version 1.3.0 [libplacebo @ 000001e109703580] Memory heaps supported by device: [libplacebo @ 000001e109703580] 0: flags 0x1 size 5800M [libplacebo @ 000001e109703580] 1: flags 0x0 size 31G [libplacebo @ 000001e109703580] 2: flags 0x1 size 256M [libplacebo @ 000001e109703580] Memory types supported by device: [libplacebo @ 000001e109703580] 0: flags 0x1 heap 0 [libplacebo @ 000001e109703580] 1: flags 0x6 heap 1 [libplacebo @ 000001e109703580] 2: flags 0xe heap 1 [libplacebo @ 000001e109703580] 3: flags 0x7 heap 2 [libplacebo @ 000001e109703580] Memory summary: 0 used 0 res 0 alloc, efficiency 100.00%, utilization 100.00%, max page: 362M [libplacebo @ 000001e109703580] shaderc SPIR-V version 1.6 rev 1 [libplacebo @ 000001e109703580] Initialized SPIR-V compiler 'shaderc' [libplacebo @ 000001e109703580] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 000001e109703580] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not exportable [libplacebo @ 000001e109703580] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not importable [libplacebo @ 000001e109703580] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 000001e109703580] Tex caps for VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) unsupported: VK_ERROR_FORMAT_NOT_SUPPORTED Last message repeated 1 times [libplacebo @ 000001e109703580] Minimum texel alignment: 48 [libplacebo @ 000001e109703580] GPU information: [libplacebo @ 000001e109703580] GLSL version: 450 (vulkan) [libplacebo @ 000001e109703580] max_shmem_size: 32768 [libplacebo @ 000001e109703580] max_group_threads: 1024 [libplacebo @ 000001e109703580] max_group_size[0]: 1024 [libplacebo @ 000001e109703580] max_group_size[1]: 1024 [libplacebo @ 000001e109703580] max_group_size[2]: 64 [libplacebo @ 000001e109703580] subgroup_size: 32 [libplacebo @ 000001e109703580] min_gather_offset: -32 [libplacebo @ 000001e109703580] max_gather_offset: 31 [libplacebo @ 000001e109703580] Limits: [libplacebo @ 000001e109703580] thread_safe: 1 [libplacebo @ 000001e109703580] callbacks: 1 [libplacebo @ 000001e109703580] max_buf_size: 34290857984 [libplacebo @ 000001e109703580] max_ubo_size: 134217724 [libplacebo @ 000001e109703580] max_ssbo_size: 1073741820 [libplacebo @ 000001e109703580] max_vbo_size: 6081740800 [libplacebo @ 000001e109703580] max_mapped_size: 34290857984 [libplacebo @ 000001e109703580] max_buffer_texels: 134217728 [libplacebo @ 000001e109703580] align_host_ptr: 4096 [libplacebo @ 000001e109703580] host_cached: 1 [libplacebo @ 000001e109703580] max_tex_1d_dim: 16384 [libplacebo @ 000001e109703580] max_tex_2d_dim: 16384 [libplacebo @ 000001e109703580] max_tex_3d_dim: 2048 [libplacebo @ 000001e109703580] blittable_1d_3d: 1 [libplacebo @ 000001e109703580] buf_transfer: 1 [libplacebo @ 000001e109703580] align_tex_xfer_pitch: 64 [libplacebo @ 000001e109703580] align_tex_xfer_offset: 64 [libplacebo @ 000001e109703580] max_variable_comps: 0 [libplacebo @ 000001e109703580] max_constants: 18446744073709551615 [libplacebo @ 000001e109703580] max_pushc_size: 256 [libplacebo @ 000001e109703580] align_vertex_stride: 1 [libplacebo @ 000001e109703580] max_dispatch[0]: 65536 [libplacebo @ 000001e109703580] max_dispatch[1]: 65536 [libplacebo @ 000001e109703580] max_dispatch[2]: 65536 [libplacebo @ 000001e109703580] fragment_queues: 1 [libplacebo @ 000001e109703580] compute_queues: 1 [libplacebo @ 000001e109703580] External API interop: [libplacebo @ 000001e109703580] UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 000001e109703580] PCI: 0000:00:00:0 [libplacebo @ 000001e109703580] buf export caps: 0x2 [libplacebo @ 000001e109703580] buf import caps: 0x12 [libplacebo @ 000001e109703580] tex export caps: 0x2 [libplacebo @ 000001e109703580] tex import caps: 0x12 [libplacebo @ 000001e109703580] sync export caps: 0x2 [libplacebo @ 000001e109703580] sync import caps: 0x0 [libplacebo @ 000001e109703580] GPU texture formats: [libplacebo @ 000001e109703580] NAME TYPE SIZE COMP CAPS EMU DEPTH HOST_BITS GLSL_TYPE GLSL_FMT FOURCC [libplacebo @ 000001e109703580] r8 UNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8 R8 [libplacebo @ 000001e109703580] r8s SNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8_snorm [libplacebo @ 000001e109703580] rg8 UNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8 GR88 [libplacebo @ 000001e109703580] rg8s SNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8_snorm [libplacebo @ 000001e109703580] rgba8 UNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AB24 [libplacebo @ 000001e109703580] rgba8s SNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8_snorm [libplacebo @ 000001e109703580] bgra8 UNORM 4 BGRA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AR24 [libplacebo @ 000001e109703580] rgb10a2 UNORM 4 RGBA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AB30 [libplacebo @ 000001e109703580] bgr10a2 UNORM 4 BGRA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AR30 [libplacebo @ 000001e109703580] r16 UNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16 R16 [libplacebo @ 000001e109703580] r16hf FLOAT 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16f [libplacebo @ 000001e109703580] r16s SNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16_snorm [libplacebo @ 000001e109703580] rg16 UNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16 GR32 [libplacebo @ 000001e109703580] rg16hf FLOAT 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16f [libplacebo @ 000001e109703580] rg16s SNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16_snorm [libplacebo @ 000001e109703580] rgba16 UNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16 [libplacebo @ 000001e109703580] rgba16hf FLOAT 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16f AB4H [libplacebo @ 000001e109703580] rgba16s SNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16_snorm [libplacebo @ 000001e109703580] r32f FLOAT 4 R SsLRbBVutHWG n {32 0 0 0 } {32 0 0 0 } float r32f [libplacebo @ 000001e109703580] rg32f FLOAT 8 RG SsLRbBVutHWG n {32 32 0 0 } {32 32 0 0 } vec2 rg32f [libplacebo @ 000001e109703580] rgba32f FLOAT 16 RGBA SsLRbBVutHWG n {32 32 32 32} {32 32 32 32} vec4 rgba32f [libplacebo @ 000001e109703580] rgb565 UNORM 2 RGB SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 BG16 [libplacebo @ 000001e109703580] bgr5a1 UNORM 2 BGRA SsLRbB-utHWG n {5 5 5 1 } {5 5 5 1 } vec4 AR15 [libplacebo @ 000001e109703580] bgr565 UNORM 2 BGR SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 RG16 [libplacebo @ 000001e109703580] r8i SINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } int r8i [libplacebo @ 000001e109703580] r8u UINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } uint r8ui [libplacebo @ 000001e109703580] rg8i SINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } ivec2 rg8i [libplacebo @ 000001e109703580] rg8u UINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } uvec2 rg8ui [libplacebo @ 000001e109703580] rgba8i SINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } ivec4 rgba8i [libplacebo @ 000001e109703580] rgba8u UINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } uvec4 rgba8ui [libplacebo @ 000001e109703580] rgb10a2u UINT 4 RGBA Ss-R-BVutHWG n {10 10 10 2 } {10 10 10 2 } uvec4 rgb10_a2ui [libplacebo @ 000001e109703580] r16i SINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } int r16i [libplacebo @ 000001e109703580] r16u UINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } uint r16ui [libplacebo @ 000001e109703580] rg16i SINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } ivec2 rg16i [libplacebo @ 000001e109703580] rg16u UINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } uvec2 rg16ui [libplacebo @ 000001e109703580] rgba16i SINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} ivec4 rgba16i [libplacebo @ 000001e109703580] rgba16u UINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} uvec4 rgba16ui [libplacebo @ 000001e109703580] r32i SINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } int r32i [libplacebo @ 000001e109703580] r32u UINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } uint r32ui [libplacebo @ 000001e109703580] rg32i SINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } ivec2 rg32i [libplacebo @ 000001e109703580] rg32u UINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } uvec2 rg32ui [libplacebo @ 000001e109703580] rgba32i SINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} ivec4 rgba32i [libplacebo @ 000001e109703580] rgba32u UINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} uvec4 rgba32ui [libplacebo @ 000001e109703580] a1bgr5 UNORM 2 ABGR S-LRbB-u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 RA15 [libplacebo @ 000001e109703580] argb4 UNORM 2 ARGB S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 BA12 [libplacebo @ 000001e109703580] abgr4 UNORM 2 ABGR S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 RA12 [libplacebo @ 000001e109703580] a1rgb5 UNORM 2 ARGB S-LR---u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 BA15 [libplacebo @ 000001e109703580] rgb8 UNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 BG24 [libplacebo @ 000001e109703580] rgb8s SNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 [libplacebo @ 000001e109703580] rgb16 UNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000001e109703580] rgb16hf FLOAT 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000001e109703580] rgb16s SNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000001e109703580] rgb32f FLOAT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } vec3 [libplacebo @ 000001e109703580] rgb32i SINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } ivec3 [libplacebo @ 000001e109703580] rgb32u UINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } uvec3 [libplacebo @ 000001e109703580] rgb8i SINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } ivec3 [libplacebo @ 000001e109703580] rgb8u UINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } uvec3 [libplacebo @ 000001e109703580] rgb10a2i SINT 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 000001e109703580] rgb10a2s SNORM 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 000001e109703580] bgr10a2i SINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 000001e109703580] bgr10a2s SNORM 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 000001e109703580] bgr10a2u UINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } uvec4 [libplacebo @ 000001e109703580] rgb16i SINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } ivec3 [libplacebo @ 000001e109703580] rgb16u UINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } uvec3 [libplacebo @ 000001e109703580] gr4 UNORM 1 GR ---------H-- n {4 4 0 0 } {4 4 0 0 } [libplacebo @ 000001e109703580] bgr8 UNORM 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } RG24 [libplacebo @ 000001e109703580] bgr8i SINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 000001e109703580] bgr8u UINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 000001e109703580] bgra8i SINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 000001e109703580] bgra8u UINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 000001e109703580] rx10 UNORM 2 R ---------H-- n {10 0 0 0 } {16 0 0 0 } [libplacebo @ 000001e109703580] rxgx10 UNORM 4 RG ---------H-- n {10 10 0 0 } {16 16 0 0 } [libplacebo @ 000001e109703580] rx12 UNORM 2 R ---------H-- n {12 0 0 0 } {16 0 0 0 } [libplacebo @ 000001e109703580] rxgx12 UNORM 4 RG ---------H-- n {12 12 0 0 } {16 16 0 0 } [libplacebo @ 000001e109703580] r16f FLOAT 4 R SsLRbB---HWG y {16 0 0 0 } {32 0 0 0 } r16f [libplacebo @ 000001e109703580] rg16f FLOAT 8 RG SsLRbB---HWG y {16 16 0 0 } {32 32 0 0 } rg16f [libplacebo @ 000001e109703580] rgba16f FLOAT 16 RGBA SsLRbB---HWG y {16 16 16 16} {32 32 32 32} rgba16f [libplacebo @ 000001e109703580] rgb16f FLOAT 12 RGB S-L------H-G y {16 16 16 0 } {32 32 32 0 } [libplacebo @ 000001e109703580] g8_b8_r8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU12 [libplacebo @ 000001e109703580] g8_b8_r8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU16 [libplacebo @ 000001e109703580] g8_b8_r8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU24 [libplacebo @ 000001e109703580] g8_br8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV12 [libplacebo @ 000001e109703580] g8_br8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV16 [libplacebo @ 000001e109703580] g8_br8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV24 [libplacebo @ 000001e109703580] gx10_bx10_rx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx10_bx10_rx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx10_bx10_rx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } Q410 [libplacebo @ 000001e109703580] gx10_bxrx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P010 [libplacebo @ 000001e109703580] gx10_bxrx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P210 [libplacebo @ 000001e109703580] gx10_bxrx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx12_bx12_rx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx12_bx12_rx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx12_bx12_rx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx12_bxrx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } P012 [libplacebo @ 000001e109703580] gx12_bxrx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] gx12_bxrx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] g16_b16_r16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] g16_b16_r16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] g16_b16_r16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] g16_br16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } P016 [libplacebo @ 000001e109703580] g16_br16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000001e109703580] g16_br16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1096459c0] Output frame with POC 16. [AVFilterGraph @ 000001e124aa1e40] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed [graph 0 input from stream 0:0 @ 000001e116a1ef00] video frame properties congruent with link at pts_time: 0 [libplacebo @ 000001e109703580] (Re)creating 3840x2160x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] Allocating 67108864 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] Spent 0.271 ms allocating slab [libplacebo @ 000001e109703580] Imported host pointer is not page-aligned. This should normally be fine on most platforms, but may cause issues in some rare circumstances. [hevc @ 000001e1096f6a80] Decoded frame with POC 1. [hevc @ 000001e1096f6a80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1096f6a80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e1096f6a80] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] Decoded frame with POC 2. [hevc @ 000001e1096f6a80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [libplacebo @ 000001e109703580] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:245 [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [libplacebo @ 000001e109703580] Allocating 16728064 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [libplacebo @ 000001e109703580] Spent 0.284 ms allocating slab [libplacebo @ 000001e109703580] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] (Re)creating 3840x2160x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:245 Last message repeated 1 times Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1096f6a80] Output frame with POC 17. [hevc @ 000001e10981fc00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 5 times [hevc @ 000001e10981fc00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10981fc00] nal_unit_type: 21(CRA_NUT), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [libplacebo @ 000001e109703580] (Re)creating 3840x1600x0 texture with format r16: ../src/utils/upload.c:356 [libplacebo @ 000001e109703580] (Re)creating 1920x800x0 texture with format rg16: ../src/utils/upload.c:356 [hevc @ 000001e10981fc00] Decoding VPS [hevc @ 000001e10981fc00] Main 10 profile bitstream [libplacebo @ 000001e109703580] (Re)creating 1920x1080x0 texture with format rg16: src/renderer.c:1647 [libplacebo @ 000001e109703580] Allocating 71303168 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] Spent 0.310 ms allocating slab [libplacebo @ 000001e109703580] vertex shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 000001e109703580] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 000001e109703580] [ 14] layout(location=0) in vec2 _7; [libplacebo @ 000001e109703580] [ 15] layout(location=0) out vec2 _3; [libplacebo @ 000001e109703580] [ 16] layout(location=1) in vec2 _8; [libplacebo @ 000001e109703580] [ 17] layout(location=1) out vec2 _8003; [libplacebo @ 000001e109703580] [ 18] layout(location=2) in vec2 _9; [libplacebo @ 000001e109703580] [ 19] void main() { [libplacebo @ 000001e109703580] [ 20] _3 = _7; [libplacebo @ 000001e109703580] [ 21] _8003 = _8; [libplacebo @ 000001e109703580] [ 22] vec2 va_pos = _9; [libplacebo @ 000001e109703580] [ 23] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 24] } [libplacebo @ 000001e109703580] fragment shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 000001e109703580] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 000001e109703580] [ 14] layout(location=0) in vec2 _3; [libplacebo @ 000001e109703580] [ 15] layout(location=1) in vec2 _8003; [libplacebo @ 000001e109703580] [ 16] layout(location=0) out vec4 out_color; [libplacebo @ 000001e109703580] [ 17] [libplacebo @ 000001e109703580] [ 18] vec4 _8001() { [libplacebo @ 000001e109703580] [ 19] // pl_shader_sample_direct [libplacebo @ 000001e109703580] [ 20] vec4 color = vec4(_8004) * textureLod(_8002, _8003, 0.0); [libplacebo @ 000001e109703580] [ 21] return color; [libplacebo @ 000001e109703580] [ 22] } [libplacebo @ 000001e109703580] [ 23] [libplacebo @ 000001e109703580] [ 24] vec4 _1() { [libplacebo @ 000001e109703580] [ 25] // pl_shader_sample_direct [libplacebo @ 000001e109703580] [ 26] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 000001e109703580] [ 27] { [libplacebo @ 000001e109703580] [ 28] vec4 tmp = _8001(); [libplacebo @ 000001e109703580] [ 29] color[1] = tmp[0]; [libplacebo @ 000001e109703580] [ 30] } [libplacebo @ 000001e109703580] [ 31] return color; [libplacebo @ 000001e109703580] [ 32] } [libplacebo @ 000001e109703580] [ 33] [libplacebo @ 000001e109703580] [ 34] void main() { [libplacebo @ 000001e109703580] [ 35] out_color = _1(); [libplacebo @ 000001e109703580] [ 36] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 1.000000 [libplacebo @ 000001e109703580] constant_id=1: 1.000000 [hevc @ 000001e10981fc00] Decoding SPS [hevc @ 000001e10981fc00] Main 10 profile bitstream [hevc @ 000001e10981fc00] Decoding VUI [hevc @ 000001e10981fc00] Decoding PPS [hevc @ 000001e10981fc00] Decoding SEI Last message repeated 1 times [hevc @ 000001e10981fc00] Skipped PREFIX SEI 0 [hevc @ 000001e10981fc00] Decoding SEI Last message repeated 1 times [hevc @ 000001e10981fc00] Skipped PREFIX SEI 6 [hevc @ 000001e10981fc00] Decoding SEI Last message repeated 1 times [hevc @ 000001e10981fc00] Decoding VPS [hevc @ 000001e10981fc00] Main 10 profile bitstream [hevc @ 000001e10981fc00] Decoding SPS [hevc @ 000001e10981fc00] Main 10 profile bitstream [hevc @ 000001e10981fc00] Decoding VUI [hevc @ 000001e10981fc00] Decoding PPS Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10981fc00] Output frame with POC 18. [hevc @ 000001e1099869c0] Decoded frame with POC 6. [hevc @ 000001e1099869c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] nal_unit_type: 8(RASL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e1099869c0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e1099869c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e1099869c0] Output frame with POC 19. [hevc @ 000001e109ae8b80] Decoded frame with POC 5. [hevc @ 000001e109a37a80] Decoded frame with POC 4. [hevc @ 000001e109a37a80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109a37a80] nal_unit_type: 8(RASL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109a37a80] Decoding PPS [hevc @ 000001e109a37a80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109a37a80] Output frame with POC 20. [hevc @ 000001e109ae8b80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109ae8b80] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109ae8b80] Decoding PPS [hevc @ 000001e10978db40] Decoded frame with POC 9. [hevc @ 000001e109ae8b80] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e109ae8b80] Output frame with POC 21. [hevc @ 000001e10978db40] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10978db40] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10978db40] Decoding PPS [hevc @ 000001e10978db40] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10978db40] Output frame with POC 22. [hevc @ 000001e10b7fe9c0] Decoded frame with POC 7. [hevc @ 000001e10b8afa80] Decoded frame with POC 8. [hevc @ 000001e10b7fe9c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10b7fe9c0] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b7fe9c0] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b7fe9c0] Output frame with POC 23. [hevc @ 000001e10b8afa80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b8afa80] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10b8afa80] Decoding PPS [hevc @ 000001e10b8afa80] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b8afa80] Output frame with POC 24. [hevc @ 000001e10b960880] Decoded frame with POC 12. [hevc @ 000001e10b960880] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 7 times [hevc @ 000001e10b960880] Decoding PPS [hevc @ 000001e109b8eb00] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 [hevc @ 000001e10b960880] Decoding SEI [hevc @ 000001e109b8eb00] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0 Last message repeated 6 times [hevc @ 000001e109b8eb00] Decoding PPS [hevc @ 000001e109b8eb00] Decoding SEI Mastering Display Metadata: r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=1000.000000 Content Light Level Metadata: MaxCLL=1000, MaxFALL=497 [hevc @ 000001e10b960880] Output frame with POC 25. [hevc @ 000001e10ba11680] Decoded frame with POC 10. [hevc @ 000001e109730d00] Decoded frame with POC 11. [hevc @ 000001e109731100] Decoded frame with POC 15. [hevc @ 000001e1098133c0] Decoded frame with POC 14. [hevc @ 000001e109812bc0] Decoded frame with POC 13. [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 85.686 ms translating SPIR-V [hevc @ 000001e10981b3c0] Decoded frame with POC 18. [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.993 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.021 ms compiling shader [libplacebo @ 000001e109703580] Spent 2.363 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000001e109703580] Allocating 261888 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:1160 [libplacebo @ 000001e109703580] Spent 0.520 ms allocating slab [hevc @ 000001e1096f6a80] Decoded frame with POC 17. [hevc @ 000001e1096459c0] Decoded frame with POC 16. [libplacebo @ 000001e109703580] LUT invalidated, regenerating.. [libplacebo @ 000001e109703580] Spent 0.000 ms generating shader LUT [libplacebo @ 000001e109703580] Allocating 262144 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] Spent 0.059 ms allocating slab [libplacebo @ 000001e109703580] Allocating 261888 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 000001e109703580] Spent 0.772 ms allocating slab [libplacebo @ 000001e109703580] Allocating 261888 memory of type 0x7 (id 3) in heap 2: src/shaders/colorspace.c:1247 [libplacebo @ 000001e109703580] Spent 0.409 ms allocating slab [libplacebo @ 000001e109703580] (Re)creating 3840x1600x0 texture with format rgba16hf: src/renderer.c:2185 [libplacebo @ 000001e109703580] Allocating 196870144 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000001e109703580] Spent 0.988 ms allocating slab [libplacebo @ 000001e109703580] compute shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_ARB_compute_shader : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 10] #extension GL_ARB_shader_image_load_store : enable [libplacebo @ 000001e109703580] [ 11] #extension GL_ARB_shader_storage_buffer_object : enable [libplacebo @ 000001e109703580] [ 12] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 13] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 14] layout(offset=0) vec2 _2004; [libplacebo @ 000001e109703580] [ 15] layout(offset=16) vec3 _4005; [libplacebo @ 000001e109703580] [ 16] layout(offset=32) vec2 _4015; [libplacebo @ 000001e109703580] [ 17] layout(offset=40) vec2 _4016; [libplacebo @ 000001e109703580] [ 18] layout(offset=48) vec2 _4017; [libplacebo @ 000001e109703580] [ 19] layout(offset=56) vec2 _4018; [libplacebo @ 000001e109703580] [ 20] layout(offset=64) vec2 _4019; [libplacebo @ 000001e109703580] [ 21] layout(offset=72) vec2 _401a; [libplacebo @ 000001e109703580] [ 22] layout(offset=80) vec2 _401b; [libplacebo @ 000001e109703580] [ 23] layout(offset=88) vec2 _401c; [libplacebo @ 000001e109703580] [ 24] layout(offset=96) vec2 _401d; [libplacebo @ 000001e109703580] [ 25] layout(offset=104) ivec2 _401f; [libplacebo @ 000001e109703580] [ 26] layout(offset=112) mat3 _4004; [libplacebo @ 000001e109703580] [ 27] }; [libplacebo @ 000001e109703580] [ 28] layout(constant_id=0) const float _4002 = 1; [libplacebo @ 000001e109703580] [ 29] layout(constant_id=1) const float _4003 = 1; [libplacebo @ 000001e109703580] [ 30] layout(constant_id=2) const float _c004 = 1; [libplacebo @ 000001e109703580] [ 31] layout(constant_id=3) const float _2005 = 1; [libplacebo @ 000001e109703580] [ 32] layout(constant_id=4) const float _2009 = 1; [libplacebo @ 000001e109703580] [ 33] layout(constant_id=5) const float _200a = 1; [libplacebo @ 000001e109703580] [ 34] layout(constant_id=6) const float _200b = 1; [libplacebo @ 000001e109703580] [ 35] layout(constant_id=7) const int _200d = 1; [libplacebo @ 000001e109703580] [ 36] layout(constant_id=8) const int _200e = 1; [libplacebo @ 000001e109703580] [ 37] layout(constant_id=9) const float _200f = 1; [libplacebo @ 000001e109703580] [ 38] layout(constant_id=10) const float _4011 = 1; [libplacebo @ 000001e109703580] [ 39] layout(constant_id=11) const float _4012 = 1; [libplacebo @ 000001e109703580] [ 40] layout(constant_id=12) const float _4013 = 1; [libplacebo @ 000001e109703580] [ 41] layout(constant_id=13) const float _4014 = 1; [libplacebo @ 000001e109703580] [ 42] layout(binding=0) uniform sampler2D _c002; [libplacebo @ 000001e109703580] [ 43] layout(binding=1) uniform sampler2D _2002; [libplacebo @ 000001e109703580] [ 44] layout(binding=2) uniform sampler1D _2007; [libplacebo @ 000001e109703580] [ 45] layout(std430, binding=3) restrict buffer _400b { [libplacebo @ 000001e109703580] [ 46] layout(offset=0) uint _4006[12]; [libplacebo @ 000001e109703580] [ 47] layout(offset=48) uint _4007[12]; [libplacebo @ 000001e109703580] [ 48] layout(offset=96) uint _4008[12]; [libplacebo @ 000001e109703580] [ 49] layout(offset=144) uint _4009[12]; [libplacebo @ 000001e109703580] [ 50] layout(offset=192) uint _400a[768]; [libplacebo @ 000001e109703580] [ 51] }; [libplacebo @ 000001e109703580] [ 52] layout(binding=4, rgba16f) writeonly restrict uniform image2D _401e; [libplacebo @ 000001e109703580] [ 53] layout (local_size_x = 32, local_size_y = 32) in; [libplacebo @ 000001e109703580] [ 54] #define frame_wg_count _4006 [libplacebo @ 000001e109703580] [ 55] #define frame_wg_active _4007 [libplacebo @ 000001e109703580] [ 56] #define frame_sum_pq _4008 [libplacebo @ 000001e109703580] [ 57] #define frame_max_pq _4009 [libplacebo @ 000001e109703580] [ 58] #define frame_hist _400a [libplacebo @ 000001e109703580] [ 59] #define frag_pos(id) (vec2(id) + vec2(0.5)) [libplacebo @ 000001e109703580] [ 60] #define frag_map(id) (_4015 * frag_pos(id)) [libplacebo @ 000001e109703580] [ 61] #define gl_FragCoord vec4(frag_pos(gl_GlobalInvocationID), 0.0, 1.0) [libplacebo @ 000001e109703580] [ 62] #define _c003_map(id) (mix(mix(_4016, _4017, frag_map(id).x), mix(_4018, _4019, frag_map(id).x), frag_map(id).y)) [libplacebo @ 000001e109703580] [ 63] #define _c003 (_c003_map(gl_GlobalInvocationID)) [libplacebo @ 000001e109703580] [ 64] #define _2003_map(id) (mix(mix(_401a, _401b, frag_map(id).x), mix(_401c, _401d, frag_map(id).x), frag_map(id).y)) [libplacebo @ 000001e109703580] [ 65] #define _2003 (_2003_map(gl_GlobalInvocationID)) [libplacebo @ 000001e109703580] [ 66] [libplacebo @ 000001e109703580] [ 67] vec4 _c001() { [libplacebo @ 000001e109703580] [ 68] // pl_shader_sample_direct [libplacebo @ 000001e109703580] [ 69] vec4 color = vec4(_c004) * textureLod(_c002, _c003, 0.0); [libplacebo @ 000001e109703580] [ 70] return color; [libplacebo @ 000001e109703580] [ 71] } [libplacebo @ 000001e109703580] [ 72] [libplacebo @ 000001e109703580] [ 73] #define _2008(x) (_200a * (x) + _2009) [libplacebo @ 000001e109703580] [ 74] #define _2006(pos) (textureLod(_2007, float(\ [libplacebo @ 000001e109703580] [ 75] _2008(float(pos))\ [libplacebo @ 000001e109703580] [ 76] ), 0.0).x) [libplacebo @ 000001e109703580] [ 77] shared vec2 _200c_base; [libplacebo @ 000001e109703580] [ 78] shared float _200c_0[_200e * _200d]; [libplacebo @ 000001e109703580] [ 79] shared float _200c_1[_200e * _200d]; [libplacebo @ 000001e109703580] [ 80] vec4 _2001() { [libplacebo @ 000001e109703580] [ 81] // pl_shader_sample_polar [libplacebo @ 000001e109703580] [ 82] vec4 color = vec4(0.0); [libplacebo @ 000001e109703580] [ 83] { [libplacebo @ 000001e109703580] [ 84] vec2 pos = _2003, pt = _2004; [libplacebo @ 000001e109703580] [ 85] vec2 size = vec2(textureSize(_2002, 0)); [libplacebo @ 000001e109703580] [ 86] vec2 fcoord = fract(pos * size - vec2(0.5)); [libplacebo @ 000001e109703580] [ 87] vec2 base = pos - pt * fcoord; [libplacebo @ 000001e109703580] [ 88] vec2 center = base + pt * vec2(0.5); [libplacebo @ 000001e109703580] [ 89] ivec2 offset; [libplacebo @ 000001e109703580] [ 90] float w, d, wsum = 0.0; [libplacebo @ 000001e109703580] [ 91] int idx; [libplacebo @ 000001e109703580] [ 92] vec4 c; [libplacebo @ 000001e109703580] [ 93] uvec2 base_id = uvec2(0u); [libplacebo @ 000001e109703580] [ 94] if (gl_LocalInvocationID.xy == base_id) [libplacebo @ 000001e109703580] [ 95] _200c_base = base; [libplacebo @ 000001e109703580] [ 96] barrier(); [libplacebo @ 000001e109703580] [ 97] ivec2 rel = ivec2(round((base - _200c_base) * size)); [libplacebo @ 000001e109703580] [ 98] for (int y = int(gl_LocalInvocationID.y); y < _200e; y += 32) { [libplacebo @ 000001e109703580] [ 99] for (int x = int(gl_LocalInvocationID.x); x < _200d; x += 32) { [libplacebo @ 000001e109703580] [100] c = textureLod(_2002, _200c_base + pt * vec2(x - 3, y - 3), 0.0); [libplacebo @ 000001e109703580] [101] _200c_0[_200d * y + x] = c[0]; [libplacebo @ 000001e109703580] [102] _200c_1[_200d * y + x] = c[1]; [libplacebo @ 000001e109703580] [103] }} [libplacebo @ 000001e109703580] [104] barrier(); [libplacebo @ 000001e109703580] [105] idx = _200d * rel.y + rel.x + _200d * 0 + 0; [libplacebo @ 000001e109703580] [106] idx = _200d * rel.y + rel.x + _200d * 0 + 1; [libplacebo @ 000001e109703580] [107] idx = _200d * rel.y + rel.x + _200d * 0 + 2; [libplacebo @ 000001e109703580] [108] idx = _200d * rel.y + rel.x + _200d * 0 + 3; [libplacebo @ 000001e109703580] [109] offset = ivec2(0, -3); [libplacebo @ 000001e109703580] [110] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [111] if (d < _200b) { [libplacebo @ 000001e109703580] [112] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [113] wsum += w; [libplacebo @ 000001e109703580] [114] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [115] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [116] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [117] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [118] } [libplacebo @ 000001e109703580] [119] idx = _200d * rel.y + rel.x + _200d * 0 + 4; [libplacebo @ 000001e109703580] [120] offset = ivec2(1, -3); [libplacebo @ 000001e109703580] [121] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [122] if (d < _200b) { [libplacebo @ 000001e109703580] [123] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [124] wsum += w; [libplacebo @ 000001e109703580] [125] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [126] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [127] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [128] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [129] } [libplacebo @ 000001e109703580] [130] idx = _200d * rel.y + rel.x + _200d * 0 + 5; [libplacebo @ 000001e109703580] [131] idx = _200d * rel.y + rel.x + _200d * 0 + 6; [libplacebo @ 000001e109703580] [132] idx = _200d * rel.y + rel.x + _200d * 0 + 7; [libplacebo @ 000001e109703580] [133] idx = _200d * rel.y + rel.x + _200d * 1 + 0; [libplacebo @ 000001e109703580] [134] idx = _200d * rel.y + rel.x + _200d * 1 + 1; [libplacebo @ 000001e109703580] [135] offset = ivec2(-2, -2); [libplacebo @ 000001e109703580] [136] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [137] if (d < _200b) { [libplacebo @ 000001e109703580] [138] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [139] wsum += w; [libplacebo @ 000001e109703580] [140] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [141] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [142] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [143] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [144] } [libplacebo @ 000001e109703580] [145] idx = _200d * rel.y + rel.x + _200d * 1 + 2; [libplacebo @ 000001e109703580] [146] offset = ivec2(-1, -2); [libplacebo @ 000001e109703580] [147] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [148] if (d < _200b) { [libplacebo @ 000001e109703580] [149] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [150] wsum += w; [libplacebo @ 000001e109703580] [151] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [152] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [153] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [154] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [155] } [libplacebo @ 000001e109703580] [156] idx = _200d * rel.y + rel.x + _200d * 1 + 3; [libplacebo @ 000001e109703580] [157] offset = ivec2(0, -2); [libplacebo @ 000001e109703580] [158] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [159] if (d < _200b) { [libplacebo @ 000001e109703580] [160] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [161] wsum += w; [libplacebo @ 000001e109703580] [162] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [163] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [164] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [165] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [166] } [libplacebo @ 000001e109703580] [167] idx = _200d * rel.y + rel.x + _200d * 1 + 4; [libplacebo @ 000001e109703580] [168] offset = ivec2(1, -2); [libplacebo @ 000001e109703580] [169] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [170] if (d < _200b) { [libplacebo @ 000001e109703580] [171] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [172] wsum += w; [libplacebo @ 000001e109703580] [173] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [174] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [175] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [176] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [177] } [libplacebo @ 000001e109703580] [178] idx = _200d * rel.y + rel.x + _200d * 1 + 5; [libplacebo @ 000001e109703580] [179] offset = ivec2(2, -2); [libplacebo @ 000001e109703580] [180] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [181] if (d < _200b) { [libplacebo @ 000001e109703580] [182] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [183] wsum += w; [libplacebo @ 000001e109703580] [184] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [185] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [186] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [187] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [188] } [libplacebo @ 000001e109703580] [189] idx = _200d * rel.y + rel.x + _200d * 1 + 6; [libplacebo @ 000001e109703580] [190] offset = ivec2(3, -2); [libplacebo @ 000001e109703580] [191] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [192] if (d < _200b) { [libplacebo @ 000001e109703580] [193] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [194] wsum += w; [libplacebo @ 000001e109703580] [195] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [196] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [197] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [198] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [199] } [libplacebo @ 000001e109703580] [200] idx = _200d * rel.y + rel.x + _200d * 1 + 7; [libplacebo @ 000001e109703580] [201] idx = _200d * rel.y + rel.x + _200d * 2 + 0; [libplacebo @ 000001e109703580] [202] idx = _200d * rel.y + rel.x + _200d * 2 + 1; [libplacebo @ 000001e109703580] [203] offset = ivec2(-2, -1); [libplacebo @ 000001e109703580] [204] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [205] if (d < _200b) { [libplacebo @ 000001e109703580] [206] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [207] wsum += w; [libplacebo @ 000001e109703580] [208] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [209] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [210] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [211] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [212] } [libplacebo @ 000001e109703580] [213] idx = _200d * rel.y + rel.x + _200d * 2 + 2; [libplacebo @ 000001e109703580] [214] offset = ivec2(-1, -1); [libplacebo @ 000001e109703580] [215] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [216] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [217] wsum += w; [libplacebo @ 000001e109703580] [218] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [219] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [220] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [221] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [222] idx = _200d * rel.y + rel.x + _200d * 2 + 3; [libplacebo @ 000001e109703580] [223] offset = ivec2(0, -1); [libplacebo @ 000001e109703580] [224] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [225] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [226] wsum += w; [libplacebo @ 000001e109703580] [227] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [228] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [229] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [230] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [231] idx = _200d * rel.y + rel.x + _200d * 2 + 4; [libplacebo @ 000001e109703580] [232] offset = ivec2(1, -1); [libplacebo @ 000001e109703580] [233] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [234] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [235] wsum += w; [libplacebo @ 000001e109703580] [236] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [237] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [238] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [239] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [240] idx = _200d * rel.y + rel.x + _200d * 2 + 5; [libplacebo @ 000001e109703580] [241] offset = ivec2(2, -1); [libplacebo @ 000001e109703580] [242] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [243] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [244] wsum += w; [libplacebo @ 000001e109703580] [245] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [246] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [247] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [248] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [249] idx = _200d * rel.y + rel.x + _200d * 2 + 6; [libplacebo @ 000001e109703580] [250] offset = ivec2(3, -1); [libplacebo @ 000001e109703580] [251] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [252] if (d < _200b) { [libplacebo @ 000001e109703580] [253] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [254] wsum += w; [libplacebo @ 000001e109703580] [255] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [256] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [257] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [258] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [259] } [libplacebo @ 000001e109703580] [260] idx = _200d * rel.y + rel.x + _200d * 2 + 7; [libplacebo @ 000001e109703580] [261] idx = _200d * rel.y + rel.x + _200d * 3 + 0; [libplacebo @ 000001e109703580] [262] offset = ivec2(-3, 0); [libplacebo @ 000001e109703580] [263] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [264] if (d < _200b) { [libplacebo @ 000001e109703580] [265] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [266] wsum += w; [libplacebo @ 000001e109703580] [267] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [268] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [269] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [270] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [271] } [libplacebo @ 000001e109703580] [272] idx = _200d * rel.y + rel.x + _200d * 3 + 1; [libplacebo @ 000001e109703580] [273] offset = ivec2(-2, 0); [libplacebo @ 000001e109703580] [274] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [275] if (d < _200b) { [libplacebo @ 000001e109703580] [276] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [277] wsum += w; [libplacebo @ 000001e109703580] [278] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [279] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [280] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [281] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [282] } [libplacebo @ 000001e109703580] [283] idx = _200d * rel.y + rel.x + _200d * 3 + 2; [libplacebo @ 000001e109703580] [284] offset = ivec2(-1, 0); [libplacebo @ 000001e109703580] [285] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [286] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [287] wsum += w; [libplacebo @ 000001e109703580] [288] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [289] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [290] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [291] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [292] idx = _200d * rel.y + rel.x + _200d * 3 + 3; [libplacebo @ 000001e109703580] [293] offset = ivec2(0, 0); [libplacebo @ 000001e109703580] [294] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [295] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [296] wsum += w; [libplacebo @ 000001e109703580] [297] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [298] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [299] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [300] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [301] idx = _200d * rel.y + rel.x + _200d * 3 + 4; [libplacebo @ 000001e109703580] [302] offset = ivec2(1, 0); [libplacebo @ 000001e109703580] [303] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [304] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [305] wsum += w; [libplacebo @ 000001e109703580] [306] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [307] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [308] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [309] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [310] idx = _200d * rel.y + rel.x + _200d * 3 + 5; [libplacebo @ 000001e109703580] [311] offset = ivec2(2, 0); [libplacebo @ 000001e109703580] [312] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [313] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [314] wsum += w; [libplacebo @ 000001e109703580] [315] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [316] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [317] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [318] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [319] idx = _200d * rel.y + rel.x + _200d * 3 + 6; [libplacebo @ 000001e109703580] [320] offset = ivec2(3, 0); [libplacebo @ 000001e109703580] [321] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [322] if (d < _200b) { [libplacebo @ 000001e109703580] [323] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [324] wsum += w; [libplacebo @ 000001e109703580] [325] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [326] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [327] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [328] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [329] } [libplacebo @ 000001e109703580] [330] idx = _200d * rel.y + rel.x + _200d * 3 + 7; [libplacebo @ 000001e109703580] [331] offset = ivec2(4, 0); [libplacebo @ 000001e109703580] [332] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [333] if (d < _200b) { [libplacebo @ 000001e109703580] [334] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [335] wsum += w; [libplacebo @ 000001e109703580] [336] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [337] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [338] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [339] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [340] } [libplacebo @ 000001e109703580] [341] idx = _200d * rel.y + rel.x + _200d * 4 + 0; [libplacebo @ 000001e109703580] [342] offset = ivec2(-3, 1); [libplacebo @ 000001e109703580] [343] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [344] if (d < _200b) { [libplacebo @ 000001e109703580] [345] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [346] wsum += w; [libplacebo @ 000001e109703580] [347] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [348] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [349] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [350] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [351] } [libplacebo @ 000001e109703580] [352] idx = _200d * rel.y + rel.x + _200d * 4 + 1; [libplacebo @ 000001e109703580] [353] offset = ivec2(-2, 1); [libplacebo @ 000001e109703580] [354] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [355] if (d < _200b) { [libplacebo @ 000001e109703580] [356] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [357] wsum += w; [libplacebo @ 000001e109703580] [358] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [359] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [360] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [361] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [362] } [libplacebo @ 000001e109703580] [363] idx = _200d * rel.y + rel.x + _200d * 4 + 2; [libplacebo @ 000001e109703580] [364] offset = ivec2(-1, 1); [libplacebo @ 000001e109703580] [365] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [366] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [367] wsum += w; [libplacebo @ 000001e109703580] [368] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [369] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [370] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [371] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [372] idx = _200d * rel.y + rel.x + _200d * 4 + 3; [libplacebo @ 000001e109703580] [373] offset = ivec2(0, 1); [libplacebo @ 000001e109703580] [374] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [375] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [376] wsum += w; [libplacebo @ 000001e109703580] [377] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [378] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [379] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [380] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [381] idx = _200d * rel.y + rel.x + _200d * 4 + 4; [libplacebo @ 000001e109703580] [382] offset = ivec2(1, 1); [libplacebo @ 000001e109703580] [383] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [384] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [385] wsum += w; [libplacebo @ 000001e109703580] [386] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [387] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [388] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [389] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [390] idx = _200d * rel.y + rel.x + _200d * 4 + 5; [libplacebo @ 000001e109703580] [391] offset = ivec2(2, 1); [libplacebo @ 000001e109703580] [392] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [393] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [394] wsum += w; [libplacebo @ 000001e109703580] [395] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [396] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [397] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [398] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [399] idx = _200d * rel.y + rel.x + _200d * 4 + 6; [libplacebo @ 000001e109703580] [400] offset = ivec2(3, 1); [libplacebo @ 000001e109703580] [401] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [402] if (d < _200b) { [libplacebo @ 000001e109703580] [403] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [404] wsum += w; [libplacebo @ 000001e109703580] [405] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [406] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [407] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [408] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [409] } [libplacebo @ 000001e109703580] [410] idx = _200d * rel.y + rel.x + _200d * 4 + 7; [libplacebo @ 000001e109703580] [411] offset = ivec2(4, 1); [libplacebo @ 000001e109703580] [412] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [413] if (d < _200b) { [libplacebo @ 000001e109703580] [414] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [415] wsum += w; [libplacebo @ 000001e109703580] [416] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [417] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [418] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [419] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [420] } [libplacebo @ 000001e109703580] [421] idx = _200d * rel.y + rel.x + _200d * 5 + 0; [libplacebo @ 000001e109703580] [422] idx = _200d * rel.y + rel.x + _200d * 5 + 1; [libplacebo @ 000001e109703580] [423] offset = ivec2(-2, 2); [libplacebo @ 000001e109703580] [424] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [425] if (d < _200b) { [libplacebo @ 000001e109703580] [426] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [427] wsum += w; [libplacebo @ 000001e109703580] [428] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [429] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [430] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [431] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [432] } [libplacebo @ 000001e109703580] [433] idx = _200d * rel.y + rel.x + _200d * 5 + 2; [libplacebo @ 000001e109703580] [434] offset = ivec2(-1, 2); [libplacebo @ 000001e109703580] [435] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [436] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [437] wsum += w; [libplacebo @ 000001e109703580] [438] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [439] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [440] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [441] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [442] idx = _200d * rel.y + rel.x + _200d * 5 + 3; [libplacebo @ 000001e109703580] [443] offset = ivec2(0, 2); [libplacebo @ 000001e109703580] [444] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [445] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [446] wsum += w; [libplacebo @ 000001e109703580] [447] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [448] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [449] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [450] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [451] idx = _200d * rel.y + rel.x + _200d * 5 + 4; [libplacebo @ 000001e109703580] [452] offset = ivec2(1, 2); [libplacebo @ 000001e109703580] [453] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [454] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [455] wsum += w; [libplacebo @ 000001e109703580] [456] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [457] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [458] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [459] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [460] idx = _200d * rel.y + rel.x + _200d * 5 + 5; [libplacebo @ 000001e109703580] [461] offset = ivec2(2, 2); [libplacebo @ 000001e109703580] [462] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [463] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [464] wsum += w; [libplacebo @ 000001e109703580] [465] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [466] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [467] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [468] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [469] idx = _200d * rel.y + rel.x + _200d * 5 + 6; [libplacebo @ 000001e109703580] [470] offset = ivec2(3, 2); [libplacebo @ 000001e109703580] [471] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [472] if (d < _200b) { [libplacebo @ 000001e109703580] [473] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [474] wsum += w; [libplacebo @ 000001e109703580] [475] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [476] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [477] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [478] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [479] } [libplacebo @ 000001e109703580] [480] idx = _200d * rel.y + rel.x + _200d * 5 + 7; [libplacebo @ 000001e109703580] [481] idx = _200d * rel.y + rel.x + _200d * 6 + 0; [libplacebo @ 000001e109703580] [482] idx = _200d * rel.y + rel.x + _200d * 6 + 1; [libplacebo @ 000001e109703580] [483] offset = ivec2(-2, 3); [libplacebo @ 000001e109703580] [484] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [485] if (d < _200b) { [libplacebo @ 000001e109703580] [486] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [487] wsum += w; [libplacebo @ 000001e109703580] [488] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [489] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [490] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [491] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [492] } [libplacebo @ 000001e109703580] [493] idx = _200d * rel.y + rel.x + _200d * 6 + 2; [libplacebo @ 000001e109703580] [494] offset = ivec2(-1, 3); [libplacebo @ 000001e109703580] [495] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [496] if (d < _200b) { [libplacebo @ 000001e109703580] [497] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [498] wsum += w; [libplacebo @ 000001e109703580] [499] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [500] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [501] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [502] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [503] } [libplacebo @ 000001e109703580] [504] idx = _200d * rel.y + rel.x + _200d * 6 + 3; [libplacebo @ 000001e109703580] [505] offset = ivec2(0, 3); [libplacebo @ 000001e109703580] [506] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [507] if (d < _200b) { [libplacebo @ 000001e109703580] [508] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [509] wsum += w; [libplacebo @ 000001e109703580] [510] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [511] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [512] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [513] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [514] } [libplacebo @ 000001e109703580] [515] idx = _200d * rel.y + rel.x + _200d * 6 + 4; [libplacebo @ 000001e109703580] [516] offset = ivec2(1, 3); [libplacebo @ 000001e109703580] [517] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [518] if (d < _200b) { [libplacebo @ 000001e109703580] [519] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [520] wsum += w; [libplacebo @ 000001e109703580] [521] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [522] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [523] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [524] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [525] } [libplacebo @ 000001e109703580] [526] idx = _200d * rel.y + rel.x + _200d * 6 + 5; [libplacebo @ 000001e109703580] [527] offset = ivec2(2, 3); [libplacebo @ 000001e109703580] [528] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [529] if (d < _200b) { [libplacebo @ 000001e109703580] [530] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [531] wsum += w; [libplacebo @ 000001e109703580] [532] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [533] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [534] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [535] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [536] } [libplacebo @ 000001e109703580] [537] idx = _200d * rel.y + rel.x + _200d * 6 + 6; [libplacebo @ 000001e109703580] [538] offset = ivec2(3, 3); [libplacebo @ 000001e109703580] [539] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [540] if (d < _200b) { [libplacebo @ 000001e109703580] [541] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [542] wsum += w; [libplacebo @ 000001e109703580] [543] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [544] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [545] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [546] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [547] } [libplacebo @ 000001e109703580] [548] idx = _200d * rel.y + rel.x + _200d * 6 + 7; [libplacebo @ 000001e109703580] [549] idx = _200d * rel.y + rel.x + _200d * 7 + 0; [libplacebo @ 000001e109703580] [550] idx = _200d * rel.y + rel.x + _200d * 7 + 1; [libplacebo @ 000001e109703580] [551] idx = _200d * rel.y + rel.x + _200d * 7 + 2; [libplacebo @ 000001e109703580] [552] idx = _200d * rel.y + rel.x + _200d * 7 + 3; [libplacebo @ 000001e109703580] [553] offset = ivec2(0, 4); [libplacebo @ 000001e109703580] [554] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [555] if (d < _200b) { [libplacebo @ 000001e109703580] [556] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [557] wsum += w; [libplacebo @ 000001e109703580] [558] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [559] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [560] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [561] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [562] } [libplacebo @ 000001e109703580] [563] idx = _200d * rel.y + rel.x + _200d * 7 + 4; [libplacebo @ 000001e109703580] [564] offset = ivec2(1, 4); [libplacebo @ 000001e109703580] [565] d = length(vec2(offset) - fcoord); [libplacebo @ 000001e109703580] [566] if (d < _200b) { [libplacebo @ 000001e109703580] [567] w = _2006(d * 1.0 / _200b); [libplacebo @ 000001e109703580] [568] wsum += w; [libplacebo @ 000001e109703580] [569] c[0] = _200c_0[idx]; [libplacebo @ 000001e109703580] [570] c[1] = _200c_1[idx]; [libplacebo @ 000001e109703580] [571] color[0] += w * c[0]; [libplacebo @ 000001e109703580] [572] color[1] += w * c[1]; [libplacebo @ 000001e109703580] [573] } [libplacebo @ 000001e109703580] [574] idx = _200d * rel.y + rel.x + _200d * 7 + 5; [libplacebo @ 000001e109703580] [575] idx = _200d * rel.y + rel.x + _200d * 7 + 6; [libplacebo @ 000001e109703580] [576] idx = _200d * rel.y + rel.x + _200d * 7 + 7; [libplacebo @ 000001e109703580] [577] color = _2005 / wsum * color; [libplacebo @ 000001e109703580] [578] color.a = 1.0; [libplacebo @ 000001e109703580] [579] } [libplacebo @ 000001e109703580] [580] return color; [libplacebo @ 000001e109703580] [581] } [libplacebo @ 000001e109703580] [582] [libplacebo @ 000001e109703580] [583] shared uint _400c, _400d, _400e; [libplacebo @ 000001e109703580] [584] shared uint _400f[64]; [libplacebo @ 000001e109703580] [585] #define _4010 vec3(_4013, _4012, _4011) [libplacebo @ 000001e109703580] [586] void _4001() { [libplacebo @ 000001e109703580] [587] vec4 color = vec4(_4003, vec2(_4002), 1.0); [libplacebo @ 000001e109703580] [588] // pass_read_image [libplacebo @ 000001e109703580] [589] { [libplacebo @ 000001e109703580] [590] vec4 tmp; [libplacebo @ 000001e109703580] [591] tmp = _c001(); [libplacebo @ 000001e109703580] [592] color[0] = tmp[0]; [libplacebo @ 000001e109703580] [593] tmp = _2001(); [libplacebo @ 000001e109703580] [594] color[1] = tmp[0]; [libplacebo @ 000001e109703580] [595] color[2] = tmp[1]; [libplacebo @ 000001e109703580] [596] } [libplacebo @ 000001e109703580] [597] // pl_shader_decode_color [libplacebo @ 000001e109703580] [598] { [libplacebo @ 000001e109703580] [599] color.rgb = _4004 * color.rgb + _4005; [libplacebo @ 000001e109703580] [600] } [libplacebo @ 000001e109703580] [601] [libplacebo @ 000001e109703580] [602] { [libplacebo @ 000001e109703580] [603] const uint wg_size = gl_WorkGroupSize.x * gl_WorkGroupSize.y; [libplacebo @ 000001e109703580] [604] const uint wg_idx = gl_WorkGroupID.y * gl_NumWorkGroups.x + gl_WorkGroupID.x; [libplacebo @ 000001e109703580] [605] const uint local_idx = gl_LocalInvocationIndex; [libplacebo @ 000001e109703580] [606] const uint slice = wg_idx % uint(12); [libplacebo @ 000001e109703580] [607] const uint hist_base = slice * uint(64); [libplacebo @ 000001e109703580] [608] const vec4 color_orig = color; [libplacebo @ 000001e109703580] [609] _400c = _400d = _400e = 0u; [libplacebo @ 000001e109703580] [610] for (uint i = local_idx; i < uint(64); i += wg_size) [libplacebo @ 000001e109703580] [611] _400f[i] = 0u; [libplacebo @ 000001e109703580] [612] barrier(); [libplacebo @ 000001e109703580] [613] // pl_shader_linearize [libplacebo @ 000001e109703580] [614] color.rgb = max(color.rgb, 0.0); [libplacebo @ 000001e109703580] [615] color.rgb = pow(color.rgb, vec3(1.0/78.84375)); [libplacebo @ 000001e109703580] [616] color.rgb = max(color.rgb - vec3(0.8359375), 0.0) [libplacebo @ 000001e109703580] [617] / (vec3(18.8515625) - vec3(18.6875) * color.rgb); [libplacebo @ 000001e109703580] [618] color.rgb = pow(color.rgb, vec3(1.0/0.1593017578125)); [libplacebo @ 000001e109703580] [619] color.rgb *= vec3(49.26108374384236); [libplacebo @ 000001e109703580] [620] [libplacebo @ 000001e109703580] [621] float luma = dot(_4010, color.rgb); [libplacebo @ 000001e109703580] [622] luma *= float(0.0203000009059906); [libplacebo @ 000001e109703580] [623] luma = pow(clamp(luma, 0.0, 1.0), float(0.1593017578125)); [libplacebo @ 000001e109703580] [624] luma = (float(0.8359375) + float(18.8515625) * luma) / [libplacebo @ 000001e109703580] [625] (1.0 + float(18.6875) * luma); [libplacebo @ 000001e109703580] [626] luma = pow(luma, float(78.84375)); [libplacebo @ 000001e109703580] [627] luma *= smoothstep(0.0, _4014, luma); [libplacebo @ 000001e109703580] [628] uint y_pq = uint(float(16383) * luma); [libplacebo @ 000001e109703580] [629] [libplacebo @ 000001e109703580] [630] int bin = int(y_pq) >> 7; [libplacebo @ 000001e109703580] [631] bin -= 64; [libplacebo @ 000001e109703580] [632] bin = clamp(bin, 0, 63); [libplacebo @ 000001e109703580] [633] [libplacebo @ 000001e109703580] [634] if (subgroupAllEqual(bin)) { [libplacebo @ 000001e109703580] [635] if (subgroupElect()) [libplacebo @ 000001e109703580] [636] atomicAdd(_400f[bin], gl_SubgroupSize); [libplacebo @ 000001e109703580] [637] } else { [libplacebo @ 000001e109703580] [638] atomicAdd(_400f[bin], 1u); [libplacebo @ 000001e109703580] [639] } [libplacebo @ 000001e109703580] [640] uint group_sum = subgroupAdd(y_pq); [libplacebo @ 000001e109703580] [641] uint group_max = subgroupMax(y_pq); [libplacebo @ 000001e109703580] [642] uvec4 b = subgroupBallot(y_pq == 0u); [libplacebo @ 000001e109703580] [643] if (subgroupElect()) { [libplacebo @ 000001e109703580] [644] atomicAdd(_400c, group_sum); [libplacebo @ 000001e109703580] [645] atomicMax(_400d, group_max); [libplacebo @ 000001e109703580] [646] atomicAdd(_400e, subgroupBallotBitCount(b)); [libplacebo @ 000001e109703580] [647] } [libplacebo @ 000001e109703580] [648] barrier(); [libplacebo @ 000001e109703580] [649] if (gl_LocalInvocationIndex == 0u) [libplacebo @ 000001e109703580] [650] _400f[0] -= _400e; [libplacebo @ 000001e109703580] [651] [libplacebo @ 000001e109703580] [652] for (uint i = local_idx; i < uint(64); i += wg_size) [libplacebo @ 000001e109703580] [653] atomicAdd(frame_hist[hist_base + i], _400f[i]); [libplacebo @ 000001e109703580] [654] [libplacebo @ 000001e109703580] [655] if (gl_LocalInvocationIndex == 0u) { [libplacebo @ 000001e109703580] [656] uint num = wg_size - _400e; [libplacebo @ 000001e109703580] [657] atomicAdd(frame_wg_count[slice], 1u); [libplacebo @ 000001e109703580] [658] atomicAdd(frame_wg_active[slice], min(num, 1u)); [libplacebo @ 000001e109703580] [659] if (num > 0u) { [libplacebo @ 000001e109703580] [660] atomicAdd(frame_sum_pq[slice], _400c / num); [libplacebo @ 000001e109703580] [661] atomicMax(frame_max_pq[slice], _400d); [libplacebo @ 000001e109703580] [662] } [libplacebo @ 000001e109703580] [663] } [libplacebo @ 000001e109703580] [664] color = color_orig; [libplacebo @ 000001e109703580] [665] } [libplacebo @ 000001e109703580] [666] ivec2 dir = ivec2(1, 1); [libplacebo @ 000001e109703580] [667] ivec2 pos = _401f + dir * ivec2(gl_GlobalInvocationID).xy; [libplacebo @ 000001e109703580] [668] vec2 fpos = _4015 * vec2(gl_GlobalInvocationID); [libplacebo @ 000001e109703580] [669] if (fpos.x < 1.0 && fpos.y < 1.0) { [libplacebo @ 000001e109703580] [670] imageStore(_401e, pos, color); [libplacebo @ 000001e109703580] [671] } [libplacebo @ 000001e109703580] [672] [libplacebo @ 000001e109703580] [673] } [libplacebo @ 000001e109703580] [674] [libplacebo @ 000001e109703580] [675] void main() { [libplacebo @ 000001e109703580] [676] _4001(); [libplacebo @ 000001e109703580] [677] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 0.500008 [libplacebo @ 000001e109703580] constant_id=1: 0.062501 [libplacebo @ 000001e109703580] constant_id=2: 64.000000 [libplacebo @ 000001e109703580] constant_id=3: 64.000000 [libplacebo @ 000001e109703580] constant_id=4: 0.001953 [libplacebo @ 000001e109703580] constant_id=5: 0.996094 [libplacebo @ 000001e109703580] constant_id=6: 3.099147 [libplacebo @ 000001e109703580] constant_id=7: 24 [libplacebo @ 000001e109703580] constant_id=8: 24 [libplacebo @ 000001e109703580] constant_id=9: 0.000000 [libplacebo @ 000001e109703580] constant_id=10: 0.059302 [libplacebo @ 000001e109703580] constant_id=11: 0.677998 [libplacebo @ 000001e109703580] constant_id=12: 0.262700 [libplacebo @ 000001e109703580] constant_id=13: 0.010000 [hevc @ 000001e10981fc00] Decoded frame with POC 21. [hevc @ 000001e1099869c0] Decoded frame with POC 19. [hevc @ 000001e109a37a80] Decoded frame with POC 20. [hevc @ 000001e109ae8b80] Decoded frame with POC 24. [hevc @ 000001e10978db40] Decoded frame with POC 22. [hevc @ 000001e10b7fe9c0] Decoded frame with POC 23. [hevc @ 000001e10b8afa80] Decoded frame with POC 27. [hevc @ 000001e10b960880] Decoded frame with POC 25. [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 68.003 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.037 ms compiling shader [libplacebo @ 000001e109703580] Spent 0.055 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000001e109703580] (Re)creating 3840x1600x0 texture with format rgba16hf: src/renderer.c:2477 [libplacebo @ 000001e109703580] vertex shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec3 _6; [libplacebo @ 000001e109703580] [ 12] layout(offset=16) mat3 _5; [libplacebo @ 000001e109703580] [ 13] }; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 15] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 16] layout(location=0) in vec2 _9; [libplacebo @ 000001e109703580] [ 17] layout(location=0) out vec2 _3; [libplacebo @ 000001e109703580] [ 18] layout(location=1) in vec2 _a; [libplacebo @ 000001e109703580] [ 19] void main() { [libplacebo @ 000001e109703580] [ 20] _3 = _9; [libplacebo @ 000001e109703580] [ 21] vec2 va_pos = _a; [libplacebo @ 000001e109703580] [ 22] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 23] } [libplacebo @ 000001e109703580] fragment shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec3 _6; [libplacebo @ 000001e109703580] [ 12] layout(offset=16) mat3 _5; [libplacebo @ 000001e109703580] [ 13] }; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 15] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 16] layout(location=0) in vec2 _3; [libplacebo @ 000001e109703580] [ 17] layout(location=0) out vec4 out_color; [libplacebo @ 000001e109703580] [ 18] [libplacebo @ 000001e109703580] [ 19] vec4 _1() { [libplacebo @ 000001e109703580] [ 20] // pl_shader_sample_direct [libplacebo @ 000001e109703580] [ 21] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 000001e109703580] [ 22] // pl_shader_encode_color [libplacebo @ 000001e109703580] [ 23] { [libplacebo @ 000001e109703580] [ 24] color.rgb = _5 * color.rgb + _6; [libplacebo @ 000001e109703580] [ 25] } [libplacebo @ 000001e109703580] [ 26] return color; [libplacebo @ 000001e109703580] [ 27] } [libplacebo @ 000001e109703580] [ 28] [libplacebo @ 000001e109703580] [ 29] void main() { [libplacebo @ 000001e109703580] [ 30] out_color = _1(); [libplacebo @ 000001e109703580] [ 31] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 1.000000 [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.836 ms translating SPIR-V [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.906 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.005 ms compiling shader [libplacebo @ 000001e109703580] Spent 0.048 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000001e109703580] LUT invalidated, regenerating.. [libplacebo @ 000001e109703580] Spent 20.152 ms generating shader LUT [libplacebo @ 000001e109703580] Allocating 247680 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 000001e109703580] Spent 0.636 ms allocating slab [libplacebo @ 000001e109703580] Dithering to 10 bit depth [libplacebo @ 000001e109703580] vertex shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 000001e109703580] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 000001e109703580] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 16] layout(location=0) in vec2 _d; [libplacebo @ 000001e109703580] [ 17] layout(location=0) out vec2 _3; [libplacebo @ 000001e109703580] [ 18] layout(location=1) in vec2 _e; [libplacebo @ 000001e109703580] [ 19] void main() { [libplacebo @ 000001e109703580] [ 20] _3 = _d; [libplacebo @ 000001e109703580] [ 21] vec2 va_pos = _e; [libplacebo @ 000001e109703580] [ 22] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 23] } [libplacebo @ 000001e109703580] fragment shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000001e109703580] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 000001e109703580] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 000001e109703580] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 16] layout(location=0) in vec2 _3; [libplacebo @ 000001e109703580] [ 17] layout(location=0) out vec4 out_color; [libplacebo @ 000001e109703580] [ 18] [libplacebo @ 000001e109703580] [ 19] #define _5(pos) (texelFetch(_6, ivec2(pos), 0).x) [libplacebo @ 000001e109703580] [ 20] vec4 _1() { [libplacebo @ 000001e109703580] [ 21] // pl_shader_sample_direct [libplacebo @ 000001e109703580] [ 22] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 000001e109703580] [ 23] // pl_shader_dither [libplacebo @ 000001e109703580] [ 24] { [libplacebo @ 000001e109703580] [ 25] float bias; [libplacebo @ 000001e109703580] [ 26] vec2 pos = fract(gl_FragCoord.xy * 1.0/_7); [libplacebo @ 000001e109703580] [ 27] bias = _5(ivec2(pos * _8)); [libplacebo @ 000001e109703580] [ 28] const float scale = 1023.0; [libplacebo @ 000001e109703580] [ 29] color = scale * color + vec4(bias); [libplacebo @ 000001e109703580] [ 30] color = floor(color) * (1.0 / scale); [libplacebo @ 000001e109703580] [ 31] } [libplacebo @ 000001e109703580] [ 32] color *= vec4(1.0 / _9); [libplacebo @ 000001e109703580] [ 33] vec4 _a = color; [libplacebo @ 000001e109703580] [ 34] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 35] color[0] = _a[0]; [libplacebo @ 000001e109703580] [ 36] return color; [libplacebo @ 000001e109703580] [ 37] } [libplacebo @ 000001e109703580] [ 38] [libplacebo @ 000001e109703580] [ 39] void main() { [libplacebo @ 000001e109703580] [ 40] out_color = _1(); [libplacebo @ 000001e109703580] [ 41] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 1.000000 [libplacebo @ 000001e109703580] constant_id=1: 64.000000 [libplacebo @ 000001e109703580] constant_id=2: 64.000000 [libplacebo @ 000001e109703580] constant_id=3: 1.000000 [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.633 ms translating SPIR-V [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 2.243 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.004 ms compiling shader [libplacebo @ 000001e109703580] Spent 0.040 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000001e109703580] LUT invalidated, regenerating.. [libplacebo @ 000001e109703580] Spent 0.001 ms generating shader LUT [libplacebo @ 000001e109703580] (Re)creating 3840x801x0 texture with format rgba16hf: src/renderer.c:762 [libplacebo @ 000001e109703580] vertex shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000001e109703580] [ 12] }; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000001e109703580] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000001e109703580] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000001e109703580] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000001e109703580] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000001e109703580] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000001e109703580] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 22] layout(location=0) in vec2 _12; [libplacebo @ 000001e109703580] [ 23] layout(location=0) out vec2 _3; [libplacebo @ 000001e109703580] [ 24] layout(location=1) in vec2 _13; [libplacebo @ 000001e109703580] [ 25] void main() { [libplacebo @ 000001e109703580] [ 26] _3 = _12; [libplacebo @ 000001e109703580] [ 27] vec2 va_pos = _13; [libplacebo @ 000001e109703580] [ 28] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 29] } [libplacebo @ 000001e109703580] fragment shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000001e109703580] [ 12] }; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000001e109703580] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000001e109703580] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000001e109703580] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000001e109703580] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000001e109703580] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000001e109703580] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 22] layout(location=0) in vec2 _3; [libplacebo @ 000001e109703580] [ 23] layout(location=0) out vec4 out_color; [libplacebo @ 000001e109703580] [ 24] [libplacebo @ 000001e109703580] [ 25] #define _7(x) (_9 * (x) + _8) [libplacebo @ 000001e109703580] [ 26] #define _a(x) (_c * (x) + _b) [libplacebo @ 000001e109703580] [ 27] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 000001e109703580] [ 28] _7(vec2(pos).x)\ [libplacebo @ 000001e109703580] [ 29] ,_a(vec2(pos).y)\ [libplacebo @ 000001e109703580] [ 30] ), 0.0).xyzw) [libplacebo @ 000001e109703580] [ 31] vec4 _1() { [libplacebo @ 000001e109703580] [ 32] [libplacebo @ 000001e109703580] [ 33] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 34] { [libplacebo @ 000001e109703580] [ 35] vec2 pos = _3, pt = _4; [libplacebo @ 000001e109703580] [ 36] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 000001e109703580] [ 37] vec2 dir = vec2(float(0), float(1)); [libplacebo @ 000001e109703580] [ 38] pt *= dir; [libplacebo @ 000001e109703580] [ 39] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000001e109703580] [ 40] float fcoord = dot(fcoord2, dir); [libplacebo @ 000001e109703580] [ 41] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 000001e109703580] [ 42] vec4 ws; [libplacebo @ 000001e109703580] [ 43] float off; [libplacebo @ 000001e109703580] [ 44] vec2 c, ca = vec2(0.0); [libplacebo @ 000001e109703580] [ 45] #pragma unroll 4 [libplacebo @ 000001e109703580] [ 46] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 000001e109703580] [ 47] if (n % 4u == 0u) [libplacebo @ 000001e109703580] [ 48] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000001e109703580] [ 49] off = float(n); [libplacebo @ 000001e109703580] [ 50] off += ws[n % 4u + 1u]; [libplacebo @ 000001e109703580] [ 51] c = textureLod(_2, base + pt * off, 0.0).gb; [libplacebo @ 000001e109703580] [ 52] ca += ws[n % 4u] * c; [libplacebo @ 000001e109703580] [ 53] } [libplacebo @ 000001e109703580] [ 54] color.gb = _f * ca; [libplacebo @ 000001e109703580] [ 55] } [libplacebo @ 000001e109703580] [ 56] return color; [libplacebo @ 000001e109703580] [ 57] } [libplacebo @ 000001e109703580] [ 58] [libplacebo @ 000001e109703580] [ 59] void main() { [libplacebo @ 000001e109703580] [ 60] out_color = _1(); [libplacebo @ 000001e109703580] [ 61] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 0.500000 [libplacebo @ 000001e109703580] constant_id=1: 0.000000 [libplacebo @ 000001e109703580] constant_id=2: 0.001953 [libplacebo @ 000001e109703580] constant_id=3: 0.996094 [libplacebo @ 000001e109703580] constant_id=4: 4 [libplacebo @ 000001e109703580] constant_id=5: 0.000000 [libplacebo @ 000001e109703580] constant_id=6: 1.000000 [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.693 ms translating SPIR-V [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 4.096 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.106 ms compiling shader [libplacebo @ 000001e109703580] Spent 0.428 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000001e109703580] LUT invalidated, regenerating.. [libplacebo @ 000001e109703580] Spent 0.001 ms generating shader LUT [libplacebo @ 000001e109703580] vertex shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000001e109703580] [ 12] }; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000001e109703580] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000001e109703580] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000001e109703580] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000001e109703580] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000001e109703580] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000001e109703580] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 000001e109703580] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 000001e109703580] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 000001e109703580] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 000001e109703580] [ 26] layout(location=0) in vec2 _18; [libplacebo @ 000001e109703580] [ 27] layout(location=0) out vec2 _3; [libplacebo @ 000001e109703580] [ 28] layout(location=1) in vec2 _19; [libplacebo @ 000001e109703580] [ 29] void main() { [libplacebo @ 000001e109703580] [ 30] _3 = _18; [libplacebo @ 000001e109703580] [ 31] vec2 va_pos = _19; [libplacebo @ 000001e109703580] [ 32] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 33] } [libplacebo @ 000001e109703580] fragment shader source: [libplacebo @ 000001e109703580] [ 1] #version 450 [libplacebo @ 000001e109703580] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000001e109703580] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000001e109703580] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000001e109703580] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000001e109703580] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000001e109703580] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000001e109703580] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000001e109703580] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000001e109703580] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000001e109703580] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000001e109703580] [ 12] }; [libplacebo @ 000001e109703580] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000001e109703580] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000001e109703580] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000001e109703580] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000001e109703580] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000001e109703580] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000001e109703580] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000001e109703580] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 000001e109703580] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 000001e109703580] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 000001e109703580] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000001e109703580] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000001e109703580] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 000001e109703580] [ 26] layout(location=0) in vec2 _3; [libplacebo @ 000001e109703580] [ 27] layout(location=0) out vec4 out_color; [libplacebo @ 000001e109703580] [ 28] [libplacebo @ 000001e109703580] [ 29] #define _7(x) (_9 * (x) + _8) [libplacebo @ 000001e109703580] [ 30] #define _a(x) (_c * (x) + _b) [libplacebo @ 000001e109703580] [ 31] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 000001e109703580] [ 32] _7(vec2(pos).x)\ [libplacebo @ 000001e109703580] [ 33] ,_a(vec2(pos).y)\ [libplacebo @ 000001e109703580] [ 34] ), 0.0).xyzw) [libplacebo @ 000001e109703580] [ 35] #define _10(pos) (texelFetch(_11, ivec2(pos), 0).x) [libplacebo @ 000001e109703580] [ 36] vec4 _1() { [libplacebo @ 000001e109703580] [ 37] [libplacebo @ 000001e109703580] [ 38] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 39] { [libplacebo @ 000001e109703580] [ 40] vec2 pos = _3, pt = _4; [libplacebo @ 000001e109703580] [ 41] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 000001e109703580] [ 42] vec2 dir = vec2(float(1), float(0)); [libplacebo @ 000001e109703580] [ 43] pt *= dir; [libplacebo @ 000001e109703580] [ 44] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000001e109703580] [ 45] float fcoord = dot(fcoord2, dir); [libplacebo @ 000001e109703580] [ 46] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 000001e109703580] [ 47] vec4 ws; [libplacebo @ 000001e109703580] [ 48] float off; [libplacebo @ 000001e109703580] [ 49] vec2 c, ca = vec2(0.0); [libplacebo @ 000001e109703580] [ 50] #pragma unroll 4 [libplacebo @ 000001e109703580] [ 51] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 000001e109703580] [ 52] if (n % 4u == 0u) [libplacebo @ 000001e109703580] [ 53] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000001e109703580] [ 54] off = float(n); [libplacebo @ 000001e109703580] [ 55] off += ws[n % 4u + 1u]; [libplacebo @ 000001e109703580] [ 56] c = textureLod(_2, base + pt * off, 0.0).gb; [libplacebo @ 000001e109703580] [ 57] ca += ws[n % 4u] * c; [libplacebo @ 000001e109703580] [ 58] } [libplacebo @ 000001e109703580] [ 59] color.gb = _f * ca; [libplacebo @ 000001e109703580] [ 60] } [libplacebo @ 000001e109703580] [ 61] // pl_shader_dither [libplacebo @ 000001e109703580] [ 62] { [libplacebo @ 000001e109703580] [ 63] float bias; [libplacebo @ 000001e109703580] [ 64] vec2 pos = fract(gl_FragCoord.xy * 1.0/_12); [libplacebo @ 000001e109703580] [ 65] bias = _10(ivec2(pos * _13)); [libplacebo @ 000001e109703580] [ 66] const float scale = 1023.0; [libplacebo @ 000001e109703580] [ 67] color = scale * color + vec4(bias); [libplacebo @ 000001e109703580] [ 68] color = floor(color) * (1.0 / scale); [libplacebo @ 000001e109703580] [ 69] } [libplacebo @ 000001e109703580] [ 70] color *= vec4(1.0 / _14); [libplacebo @ 000001e109703580] [ 71] vec4 _15 = color; [libplacebo @ 000001e109703580] [ 72] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000001e109703580] [ 73] color[0] = _15[1]; [libplacebo @ 000001e109703580] [ 74] color[1] = _15[2]; [libplacebo @ 000001e109703580] [ 75] return color; [libplacebo @ 000001e109703580] [ 76] } [libplacebo @ 000001e109703580] [ 77] [libplacebo @ 000001e109703580] [ 78] void main() { [libplacebo @ 000001e109703580] [ 79] out_color = _1(); [libplacebo @ 000001e109703580] [ 80] } [libplacebo @ 000001e109703580] Specialization constant values: [libplacebo @ 000001e109703580] constant_id=0: 0.500000 [libplacebo @ 000001e109703580] constant_id=1: 0.000000 [libplacebo @ 000001e109703580] constant_id=2: 0.001953 [libplacebo @ 000001e109703580] constant_id=3: 0.996094 [libplacebo @ 000001e109703580] constant_id=4: 4 [libplacebo @ 000001e109703580] constant_id=5: 0.000000 [libplacebo @ 000001e109703580] constant_id=6: 1.000000 [libplacebo @ 000001e109703580] constant_id=7: 64.000000 [libplacebo @ 000001e109703580] constant_id=8: 64.000000 [libplacebo @ 000001e109703580] constant_id=9: 1.000000 [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 1.774 ms translating SPIR-V [libplacebo @ 000001e109703580] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000001e109703580] Spent 5.022 ms translating SPIR-V [libplacebo @ 000001e109703580] Spent 0.006 ms compiling shader [libplacebo @ 000001e109703580] Spent 0.383 ms creating pipeline [libplacebo @ 000001e109703580] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [hevc_qsv @ 000001e109b8a680] Encoder: input is system memory surface [hevc_qsv @ 000001e109b8a680] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 [hevc_qsv @ 000001e109b8a680] Initialized an internal MFX session using hardware accelerated implementation [hevc_qsv @ 000001e109b8a680] Using the intelligent constant quality (ICQ) ratecontrol method [hevc_qsv @ 000001e109b8a680] profile: hevc main10; level: 307 [hevc_qsv @ 000001e109b8a680] GopPicSize: 120; GopRefDist: 8; GopOptFlag: closed; IdrInterval: 1 [hevc_qsv @ 000001e109b8a680] TargetUsage: 1; RateControlMethod: ICQ [hevc_qsv @ 000001e109b8a680] ICQQuality: 14 [hevc_qsv @ 000001e109b8a680] NumSlice: 1; NumRefFrame: 4 [hevc_qsv @ 000001e109b8a680] RateDistortionOpt: unknown [hevc_qsv @ 000001e109b8a680] RecoveryPointSEI: unknown [hevc_qsv @ 000001e109b8a680] VDENC: ON [hevc_qsv @ 000001e109b8a680] NalHrdConformance: OFF; VuiNalHrdParameters: OFF [hevc_qsv @ 000001e109b8a680] FrameRateExtD: 1001; FrameRateExtN: 24000 [hevc_qsv @ 000001e109b8a680] IntRefType: 0; IntRefCycleSize: 0; IntRefQPDelta: 0 [hevc_qsv @ 000001e109b8a680] MaxFrameSize: 0; MaxSliceSize: 0 [hevc_qsv @ 000001e109b8a680] BitrateLimit: unknown; MBBRC: OFF; ExtBRC: OFF [hevc_qsv @ 000001e109b8a680] Trellis: auto [hevc_qsv @ 000001e109b8a680] RepeatPPS: OFF; NumMbPerSlice: 0; LookAheadDS: unknown [hevc_qsv @ 000001e109b8a680] AdaptiveI: unknown; AdaptiveB: unknown; BRefType:pyramid [hevc_qsv @ 000001e109b8a680] MinQPI: 22; MaxQPI: 63; MinQPP: 22; MaxQPP: 63; MinQPB: 22; MaxQPB: 63 [hevc_qsv @ 000001e109b8a680] DisableDeblockingIdc: 0 [hevc_qsv @ 000001e109b8a680] SkipFrame: no_skip [hevc_qsv @ 000001e109b8a680] PRefType: default [hevc_qsv @ 000001e109b8a680] GPB: ON [hevc_qsv @ 000001e109b8a680] TransformSkip: ON [hevc_qsv @ 000001e109b8a680] IntRefCycleDist: 0 [hevc_qsv @ 000001e109b8a680] LowDelayBRC: OFF [hevc_qsv @ 000001e109b8a680] MaxFrameSizeI: 0; MaxFrameSizeP: 0 [hevc_qsv @ 000001e109b8a680] ScenarioInfo: 3 [hevc_qsv @ 000001e109b8a680] NumTileColumns: 1; NumTileRows: 1 [hevc_metadata @ 000001e10284f240] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000001e10284f240] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000001e10284f240] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 Output #0, hevc, to 'Placebo_Out.h265': Metadata: encoder : Lavf60.20.100 Stream #0:0, 0, 1001/24000: Video: hevc, 1 reference frame, p010le(tv, bt2020nc/bt2020/smpte2084, progressive, topleft), 3840x1600 (0x0) [SAR 1:1 DAR 12:5], 0/1, q=2-31, 1000 kb/s, 23.98 fps, 23.98 tbn Metadata: encoder : Lavc60.39.100 hevc_qsv Side data: cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A [out#0/hevc @ 000001e100ee7a00] Starting thread... [out#0/hevc @ 000001e100ee7a00] sq: send 0 ts 0.0417083 [out#0/hevc @ 000001e100ee7a00] sq: 0 frames_max 1 reached [out#0/hevc @ 000001e100ee7a00] sq: finish 0; head ts 0.0417083 [out#0/hevc @ 000001e100ee7a00] sq: finish queue [out#0/hevc @ 000001e100ee7a00] sq: receive 0 ts 0.0417083 queue head 0 ts 0.0417083 [vf#0:0 @ 000001e10b69c040] All consumers returned EOF [libplacebo @ 000001e109703580] Waiting for remaining commands... [vost#0:0/hevc_qsv @ 000001e109731d00] Encoder thread received EOF [libplacebo @ 000001e109703580] Memory heaps supported by device: [libplacebo @ 000001e109703580] 0: flags 0x1 size 5800M [libplacebo @ 000001e109703580] 1: flags 0x0 size 31G [libplacebo @ 000001e109703580] 2: flags 0x1 size 256M [libplacebo @ 000001e109703580] Memory types supported by device: [libplacebo @ 000001e109703580] 0: flags 0x1 heap 0 [libplacebo @ 000001e109703580] 1: flags 0x6 heap 1 [libplacebo @ 000001e109703580] 2: flags 0xe heap 1 [libplacebo @ 000001e109703580] 3: flags 0x7 heap 2 [libplacebo @ 000001e109703580] Memory pool 0: [libplacebo @ 000001e109703580] Compatible types: 0xf [libplacebo @ 000001e109703580] Optimal flags: 0x1 [libplacebo @ 000001e109703580] Slab 0: f x 16M: 0 used 0 res 64M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:356] [libplacebo @ 000001e109703580] Slab 1: f x 4084K: 0 used 0 res 15M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:245] [libplacebo @ 000001e109703580] Slab 2: ff x 8704K: 0 used 0 res 68M alloc from heap 0, efficiency 100.00% [src/renderer.c:1647] [libplacebo @ 000001e109703580] Slab 3: ff x 32K: 0 used 0 res 256K alloc from heap 0, efficiency 100.00% [src/shaders/sampling.c:1007] [libplacebo @ 000001e109703580] Slab 4: f x 46M: 0 used 0 res 187M alloc from heap 0, efficiency 100.00% [src/renderer.c:762] [libplacebo @ 000001e109703580] Pool summary: 0 used 0 res 335M alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000001e109703580] Memory pool 1: [libplacebo @ 000001e109703580] Compatible types: 0xffffffff [libplacebo @ 000001e109703580] Required flags: 0x1 [libplacebo @ 000001e109703580] Optimal flags: 0x2 [libplacebo @ 000001e109703580] Buffer flags: 0xc3 [libplacebo @ 000001e109703580] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:1160] [libplacebo @ 000001e109703580] Pool summary: 0 used 0 res 255K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000001e109703580] Memory pool 2: [libplacebo @ 000001e109703580] Compatible types: 0xffffffff [libplacebo @ 000001e109703580] Optimal flags: 0x3 [libplacebo @ 000001e109703580] Buffer flags: 0x3 [libplacebo @ 000001e109703580] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 000001e109703580] Slab 1: 7fff x 16K: 0 used 0 res 241K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 000001e109703580] Pool summary: 0 used 0 res 497K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000001e109703580] Memory pool 3: [libplacebo @ 000001e109703580] Compatible types: 0xffffffff [libplacebo @ 000001e109703580] Required flags: 0x3 [libplacebo @ 000001e109703580] Optimal flags: 0xa [libplacebo @ 000001e109703580] Buffer flags: 0x23 [libplacebo @ 000001e109703580] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [src/shaders/colorspace.c:1247] [libplacebo @ 000001e109703580] Pool summary: 0 used 0 res 255K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000001e109703580] Memory summary: 0 used 0 res 336M alloc, efficiency 100.00%, utilization 0.00%, max page: 362M [libplacebo @ 000001e109703580] Freeing slab of size 64M [libplacebo @ 000001e109703580] Freeing slab of size 15M [libplacebo @ 000001e109703580] Freeing slab of size 68M [libplacebo @ 000001e109703580] Freeing slab of size 256K [libplacebo @ 000001e109703580] Freeing slab of size 187M [libplacebo @ 000001e109703580] Freeing slab of size 255K Last message repeated 1 times [libplacebo @ 000001e109703580] Freeing slab of size 241K [libplacebo @ 000001e109703580] Freeing slab of size 255K [out#0/hevc @ 000001e100ee7a00] sq: 0 EOF [out#0/hevc @ 000001e100ee7a00] sq: finish queue [vf#0:0 @ 000001e10b69c040] Terminating thread with return code 0 (success) [vist#0:0/hevc @ 000001e102852ec0] [dec:hevc @ 000001e1097bf240] Decoder returned EOF, finishing [vist#0:0/hevc @ 000001e102852ec0] [dec:hevc @ 000001e1097bf240] Terminating thread with return code 0 (success) [vist#0:0/hevc @ 000001e102852ec0] All consumers of this stream are done [in#0/hevc @ 000001e100ee9840] All consumers are done [in#0/hevc @ 000001e100ee9840] Terminating thread with return code 0 (success) [vost#0:0/hevc_qsv @ 000001e109731d00] Terminating thread with return code 0 (success) [hevc_metadata @ 000001e10284f240] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000001e10284f240] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000001e10284f240] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000001e10284f240] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 Last message repeated 1 times [hevc_metadata @ 000001e10284f240] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 [out#0/hevc @ 000001e100ee7a00] All streams finished [out#0/hevc @ 000001e100ee7a00] Terminating thread with return code 0 (success) [AVIOContext @ 000001e109815f80] Statistics: 901267 bytes written, 0 seeks, 4 writeouts [out#0/hevc @ 000001e100ee7a00] Output file #0 (Placebo_Out.h265): [out#0/hevc @ 000001e100ee7a00] Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (901267 bytes); [out#0/hevc @ 000001e100ee7a00] Total: 1 packets (901267 bytes) muxed [out#0/hevc @ 000001e100ee7a00] video:880KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.000000% frame= 1 fps=0.8 q=-0.0 Lsize= 880KiB time=-00:00:00.12 bitrate=N/A speed=N/A [in#0/hevc @ 000001e100ee9840] Input file #0 (Input_BL.h265): [in#0/hevc @ 000001e100ee9840] Input stream #0:0 (video): 36 packets read (12858308 bytes); 11 frames decoded; 0 decode errors; [in#0/hevc @ 000001e100ee9840] Total: 36 packets (12858308 bytes) demuxed [AVIOContext @ 000001e100eee8c0] Statistics: 12877824 bytes read, 0 seeks ```
mightyhuhn commented 7 months ago

my next idea was to run a black clipping test file with video-output-levels=limited and disable dithering. to see if it adds an tint here to where it technically kinda is lossless. but gpu-next does ignore such a flag for screenshots and using full screen also didn't work because it just clips btb.

edit: did a lot more tests mostly with different dithering and limited range: gpu doesn't care about dithering when making screenshots... making this very hard to test. limited range no dither and 6 bit and hell broke loose the error can be very very big with these settings

fbo-format=rgba32f full range 6 bit no dither option defined make is very hard to see the difference on a histogram: 63gpu-next 63gpu

natural-harmonia-gropius commented 7 months ago

Input: Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9] // HDR10 BL

Greenish happens to dovi, not other things about ycbcr or rgb.

default image vf=format:dolbyvision=no image

haasn commented 7 months ago

Greenish happens to dovi, not other things about ycbcr or rgb.

@Chipcraft's file is not dovi

Chipcraft commented 7 months ago

Yes, it is the base layer only.

Looking at frames in Resolve, any idea why G would in fact be the only one intact, while R and B are the ones with the differences?

libplacebo

Parade_Placebo

lavfilter

Parade_Lav

haasn commented 7 months ago

I you look closely, the green channel is also very slightly off, but in the opposite direction.

Considering the green channel is usually the luma channel minus the red and blue offsets (times some small-ish scaling factor), this makes perfect sense.

So wait, could you clarify, @Chipcraft, is this a DV profile 5 source file?

Chipcraft commented 7 months ago

So wait, could you clarify, @Chipcraft, is this a DV profile 5 source file?

The movie itself has P7 FEL however, libplacebo is only used on the base level bitstream (no EL or RPU). The EL is on a separate file at this point, not even in the same container. Also, "apply_dolbyvision" 0/1 obviously makes no difference here, I've checked that as well.

Chipcraft commented 7 months ago

Here is another sample. The source is 8K yuv420p10le(tv, bt2020nc/bt2020/smpte2084) AV1. From here: https://www.youtube.com/watch?v=OdYsO1FAFQk

Here is one frame extracted (copy) from it (I frame at 00:02:55); https://nle-chipcraft.com/Git/Georgia/Georgia_1F.obu

An encode, with crop done by lavfilters: https://nle-chipcraft.com/Git/Georgia/Georgia_LAV.mkv

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf crop=7680:4316:0:2 -c:v hevc_qsv -preset veryslow -scenario archive -global_quality 14 -profile:v main10 -level:v 61 -tier high -flags +cgop -g 120 -pix_fmt p010le -loglevel debug Georgia_LAV.mkv

Debug log ffmpeg version N-113620-g3be80ce299 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev4, Built by MSYS2 project) configuration: --enable-libvpl --enable-libdav1d --enable-libplacebo --enable-gpl --enable-nonfree --cpu=x86-64-v3 --extra-libs=-lstdc++ libavutil 58. 36.101 / 58. 36.101 libavcodec 60. 39.100 / 60. 39.100 libavformat 60. 20.100 / 60. 20.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 17.100 / 9. 17.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Splitting the commandline. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'. Reading option '-i' ... matched as output url with argument 'Georgia_1F.obu'. Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list of bitstream filters) with argument 'hevc_metadata=chroma_sample_loc_type=2'. Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'crop=7680:4316:0:2'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'hevc_qsv'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'veryslow'. Reading option '-scenario' ... matched as AVOption 'scenario' with argument 'archive'. Reading option '-global_quality' ... matched as AVOption 'global_quality' with argument '14'. Reading option '-profile:v' ... matched as option 'profile' (set profile) with argument 'main10'. Reading option '-level:v' ... matched as AVOption 'level:v' with argument '61'. Reading option '-tier' ... matched as AVOption 'tier' with argument 'high'. Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop'. Reading option '-g' ... matched as AVOption 'g' with argument '120'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'p010le'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option 'Georgia_LAV.mkv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option init_hw_device (initialise hardware device) with argument vulkan. [AVHWDeviceContext @ 0000022bd5e4e5c0] Supported validation layers: [AVHWDeviceContext @ 0000022bd5e4e5c0] VK_LAYER_VALVE_steam_overlay [AVHWDeviceContext @ 0000022bd5e4e5c0] VK_LAYER_VALVE_steam_fossilize [AVHWDeviceContext @ 0000022bd5e4e5c0] Using instance extension VK_KHR_portability_enumeration [AVHWDeviceContext @ 0000022bd5e4e5c0] GPU listing: [AVHWDeviceContext @ 0000022bd5e4e5c0] 0: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 0000022bd5e4e5c0] Device 0 selected: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 0000022bd5e4e5c0] Queue families: [AVHWDeviceContext @ 0000022bd5e4e5c0] 0: graphics compute transfer sparse (queues: 1) [AVHWDeviceContext @ 0000022bd5e4e5c0] 1: compute (queues: 1) [AVHWDeviceContext @ 0000022bd5e4e5c0] 2: transfer (queues: 1) [AVHWDeviceContext @ 0000022bd5e4e5c0] 3: decode (queues: 2) [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_push_descriptor [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_sampler_ycbcr_conversion [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_EXT_descriptor_buffer [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_EXT_shader_atomic_float [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_EXT_external_memory_host [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_external_memory_win32 [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_external_semaphore_win32 [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_video_queue [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_video_decode_queue [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_video_decode_h264 [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device extension VK_KHR_video_decode_h265 [AVHWDeviceContext @ 0000022bd5e4e5c0] Using device: Intel(R) Arc(TM) A380 Graphics [AVHWDeviceContext @ 0000022bd5e4e5c0] Alignments: [AVHWDeviceContext @ 0000022bd5e4e5c0] optimalBufferCopyRowPitchAlignment: 64 [AVHWDeviceContext @ 0000022bd5e4e5c0] minMemoryMapAlignment: 64 [AVHWDeviceContext @ 0000022bd5e4e5c0] nonCoherentAtomSize: 1 [AVHWDeviceContext @ 0000022bd5e4e5c0] minImportedHostPointerAlignment: 4096 [AVHWDeviceContext @ 0000022bd5e4e5c0] Using queue family 0 (queues: 1) for graphics [AVHWDeviceContext @ 0000022bd5e4e5c0] Using queue family 1 (queues: 1) for compute [AVHWDeviceContext @ 0000022bd5e4e5c0] Using queue family 2 (queues: 1) for transfers [AVHWDeviceContext @ 0000022bd5e4e5c0] Using queue family 3 (queues: 2) for decode Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url Georgia_1F.obu. Successfully parsed a group of options. Opening an input file: Georgia_1F.obu. [AVFormatContext @ 0000022bd467dd40] Opening 'Georgia_1F.obu' for reading [file @ 0000022bd467e1c0] Setting default whitelist 'file,crypto,data' [obu @ 0000022bd467dd40] Format obu probed with size=2048 and score=51 [obu @ 0000022bd467dd40] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [libdav1d @ 0000022bd467e800] libdav1d 1.3.0-89-g08051a3 [libdav1d @ 0000022bd467e800] Using 1 threads, 0 max_frame_delay [av1_frame_merge @ 0000022bd5e4f780] Frame 0: size 7680x4320 upscaled 7680 render 7680x4320 subsample 2x2 bitdepth 10 tiles 4x8. Last message repeated 1 times [libdav1d @ 0000022bd467e800] Frame 0: size 7680x4320 upscaled 7680 render 7680x4320 subsample 2x2 bitdepth 10 tiles 4x8. [extract_extradata @ 0000022bd5e4f8c0] obu_type: 2, temporal_id: 0, spatial_id: 0, payload size: 0 [extract_extradata @ 0000022bd5e4f8c0] obu_type: 1, temporal_id: 0, spatial_id: 0, payload size: 15 [extract_extradata @ 0000022bd5e4f8c0] obu_type: 6, temporal_id: 0, spatial_id: 0, payload size: 834342 [obu @ 0000022bd467dd40] After avformat_find_stream_info() pos: 834365 bytes read:834365 seeks:0 frames:1 Input #0, obu, from 'Georgia_1F.obu': Duration: N/A, bitrate: N/A Stream #0:0, 1, 1/1200000: Video: av1 (libdav1d) (Main), 1 reference frame, yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 7680x4320 (0x0) [SAR 1:1 DAR 16:9], 0/1, 25 fps, 1200k tbr, 1200k tbn Successfully opened the file. Parsing a group of options: output url Georgia_LAV.mkv. Applying option bsf:v (A comma-separated list of bitstream filters) with argument hevc_metadata=chroma_sample_loc_type=2. Applying option vf (alias for -filter:v (apply filters to video streams)) with argument crop=7680:4316:0:2. Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument hevc_qsv. Applying option profile:v (set profile) with argument main10. Applying option pix_fmt (set pixel format) with argument p010le. Successfully parsed a group of options. Opening an output file: Georgia_LAV.mkv. [out#0/matroska @ 0000022bd4676f80] No explicit maps, mapping streams automatically... [vost#0:0/hevc_qsv @ 0000022bd5e51440] Created video stream from input stream 0:0 [h265_metadata_bsf @ 0000022bd5e53a00] Setting 'chroma_sample_loc_type' to value '2' [AVFilterGraph @ 0000022bd467d0c0] Setting 'out_w' to value '7680' [AVFilterGraph @ 0000022bd467d0c0] Setting 'out_h' to value '4316' [AVFilterGraph @ 0000022bd467d0c0] Setting 'x' to value '0' [AVFilterGraph @ 0000022bd467d0c0] Setting 'y' to value '2' [libdav1d @ 0000022bd5e62580] libdav1d 1.3.0-89-g08051a3 [libdav1d @ 0000022bd5e62580] Using 0 threads, 0 max_frame_delay [file @ 0000022bd5e7dd40] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (av1 (libdav1d) -> hevc (hevc_qsv)) [vost#0:0/hevc_qsv @ 0000022bd5e51440] Starting thread... [vf#0:0 @ 0000022bd5e53bc0] Starting thread... [vist#0:0/av1 @ 0000022bdcbfbc80] [dec:libdav1d @ 0000022bd5e54c00] Starting thread... [in#0/obu @ 0000022bd467da40] Starting thread... Press [q] to stop, [?] for help [in#0/obu @ 0000022bd467da40] EOF while reading input [in#0/obu @ 0000022bd467da40] Terminating thread with return code 0 (success) [vist#0:0/av1 @ 0000022bdcbfbc80] [dec:libdav1d @ 0000022bd5e54c00] Decoder thread received EOF packet [vist#0:0/av1 @ 0000022bdcbfbc80] [dec:libdav1d @ 0000022bd5e54c00] Decoder returned EOF, finishing [vist#0:0/av1 @ 0000022bdcbfbc80] [dec:libdav1d @ 0000022bd5e54c00] Terminating thread with return code 0 (success) [AVFilterGraph @ 0000022bd467d0c0] Setting 'out_w' to value '7680' [AVFilterGraph @ 0000022bd467d0c0] Setting 'out_h' to value '4316' [AVFilterGraph @ 0000022bd467d0c0] Setting 'x' to value '0' [AVFilterGraph @ 0000022bd467d0c0] Setting 'y' to value '2' detected 64 logical cores [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'video_size' to value '7680x4320' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'pix_fmt' to value '62' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'time_base' to value '1/1200000' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'colorspace' to value '9' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'range' to value '1' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0000022bd5e4e200] w:7680 h:4320 pixfmt:yuv420p10le tb:1/1200000 fr:25/1 sar:1/1 csp:bt2020nc range:tv [format @ 0000022bdcf7ea00] Setting 'pix_fmts' to value 'p010le' [auto_scale_0 @ 0000022bdcf7f9c0] w:iw h:ih flags:'' interl:0 [format @ 0000022bdcf7ea00] auto-inserting filter 'auto_scale_0' between the filter 'Parsed_crop_0' and the filter 'format' [AVFilterGraph @ 0000022bd467d0c0] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [Parsed_crop_0 @ 0000022bd5e7ecc0] w:7680 h:4320 sar:1/1 -> w:7680 h:4316 sar:1/1 [auto_scale_0 @ 0000022bdcf7f9c0] w:7680 h:4316 fmt:yuv420p10le csp:bt2020nc range:tv sar:1/1 -> w:7680 h:4316 fmt:p010le csp:bt2020nc range:tv sar:1/1 flags:0x00000004 [graph 0 input from stream 0:0 @ 0000022bd5e4e200] video frame properties congruent with link at pts_time: 0 [hevc_qsv @ 0000022bd5e51700] Encoder: input is system memory surface [hevc_qsv @ 0000022bd5e51700] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 [hevc_qsv @ 0000022bd5e51700] Initialized an internal MFX session using hardware accelerated implementation [hevc_qsv @ 0000022bd5e51700] Using the intelligent constant quality (ICQ) ratecontrol method [hevc_qsv @ 0000022bd5e51700] profile: hevc main10; level: 317 [hevc_qsv @ 0000022bd5e51700] GopPicSize: 120; GopRefDist: 8; GopOptFlag: closed; IdrInterval: 1 [hevc_qsv @ 0000022bd5e51700] TargetUsage: 1; RateControlMethod: ICQ [hevc_qsv @ 0000022bd5e51700] ICQQuality: 14 [hevc_qsv @ 0000022bd5e51700] NumSlice: 1; NumRefFrame: 4 [hevc_qsv @ 0000022bd5e51700] RateDistortionOpt: unknown [hevc_qsv @ 0000022bd5e51700] RecoveryPointSEI: unknown [hevc_qsv @ 0000022bd5e51700] VDENC: ON [hevc_qsv @ 0000022bd5e51700] NalHrdConformance: OFF; VuiNalHrdParameters: OFF [hevc_qsv @ 0000022bd5e51700] FrameRateExtD: 1; FrameRateExtN: 25 [hevc_qsv @ 0000022bd5e51700] IntRefType: 0; IntRefCycleSize: 0; IntRefQPDelta: 0 [hevc_qsv @ 0000022bd5e51700] MaxFrameSize: 0; MaxSliceSize: 0 [hevc_qsv @ 0000022bd5e51700] BitrateLimit: unknown; MBBRC: OFF; ExtBRC: OFF [hevc_qsv @ 0000022bd5e51700] Trellis: auto [hevc_qsv @ 0000022bd5e51700] RepeatPPS: OFF; NumMbPerSlice: 0; LookAheadDS: unknown [hevc_qsv @ 0000022bd5e51700] AdaptiveI: unknown; AdaptiveB: unknown; BRefType:pyramid [hevc_qsv @ 0000022bd5e51700] MinQPI: 22; MaxQPI: 63; MinQPP: 22; MaxQPP: 63; MinQPB: 22; MaxQPB: 63 [hevc_qsv @ 0000022bd5e51700] DisableDeblockingIdc: 0 [hevc_qsv @ 0000022bd5e51700] SkipFrame: no_skip [hevc_qsv @ 0000022bd5e51700] PRefType: default [hevc_qsv @ 0000022bd5e51700] GPB: ON [hevc_qsv @ 0000022bd5e51700] TransformSkip: ON [hevc_qsv @ 0000022bd5e51700] IntRefCycleDist: 0 [hevc_qsv @ 0000022bd5e51700] LowDelayBRC: OFF [hevc_qsv @ 0000022bd5e51700] MaxFrameSizeI: 0; MaxFrameSizeP: 0 [hevc_qsv @ 0000022bd5e51700] ScenarioInfo: 3 [hevc_qsv @ 0000022bd5e51700] NumTileColumns: 1; NumTileRows: 1 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [matroska @ 0000022bd467e800] get_metadata_duration returned: 0 Output #0, matroska, to 'Georgia_LAV.mkv': Metadata: encoder : Lavf60.20.100 Stream #0:0, 0, 1/1000: Video: hevc, 1 reference frame, p010le(tv, bt2020nc/bt2020/smpte2084, progressive), 7680x4316 (0x0) [SAR 1:1 DAR 1920:1079], 0/1, q=2-31, 1000 kb/s, 25 fps, 1k tbn Metadata: encoder : Lavc60.39.100 hevc_qsv Side data: cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A [out#0/matroska @ 0000022bd4676f80] Starting thread... [out_0_0 @ 0000022bdcf7e780] EOF on sink link out_0_0:default. [vf#0:0 @ 0000022bd5e53bc0] Filtergraph returned EOF, finishing [vf#0:0 @ 0000022bd5e53bc0] All consumers returned EOF [vf#0:0 @ 0000022bd5e53bc0] Terminating thread with return code 0 (success) [vost#0:0/hevc_qsv @ 0000022bd5e51440] Encoder thread received EOF frame= 0 fps=0.0 q=0.0 size= 0KiB time=N/A bitrate=N/A speed=N/A [vost#0:0/hevc_qsv @ 0000022bd5e51440] Terminating thread with return code 0 (success) [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 0000022bd5e4fa00] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 [matroska @ 0000022bd467e800] Starting new cluster with timestamp 0 at offset 703 bytes [matroska @ 0000022bd467e800] Writing block of size 887241 with pts 0, dts -120, duration 40 at relative offset 9 in cluster at offset 703. TrackNumber 1, keyframe 1 [out#0/matroska @ 0000022bd4676f80] All streams finished [out#0/matroska @ 0000022bd4676f80] Terminating thread with return code 0 (success) [matroska @ 0000022bd467e800] end duration = 40 [matroska @ 0000022bd467e800] stream 0 end duration = 40 [AVIOContext @ 0000022bd5e7de00] Statistics: 888657 bytes written, 2 seeks, 5 writeouts [out#0/matroska @ 0000022bd4676f80] Output file #0 (Georgia_LAV.mkv): [out#0/matroska @ 0000022bd4676f80] Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (887241 bytes); [out#0/matroska @ 0000022bd4676f80] Total: 1 packets (887241 bytes) muxed [out#0/matroska @ 0000022bd4676f80] video:866KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.085321% frame= 1 fps=0.8 q=-0.0 Lsize= 867KiB time=-00:00:00.12 bitrate=N/A speed=N/A [in#0/obu @ 0000022bd467da40] Input file #0 (Georgia_1F.obu): [in#0/obu @ 0000022bd467da40] Input stream #0:0 (video): 1 packets read (834365 bytes); 1 frames decoded; 0 decode errors; [in#0/obu @ 0000022bd467da40] Total: 1 packets (834365 bytes) demuxed [AVIOContext @ 0000022bd467e300] Statistics: 834365 bytes read, 0 seeks

An encode, with crop done by libplacebo: https://nle-chipcraft.com/Git/Georgia/Georgia_PLC.mkv

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf libplacebo=crop_w=7680:crop_h=4316:crop_x=0:crop_y=2:w=7680:h=4316 -c:v hevc_qsv -preset veryslow -scenario archive -global_quality 14 -profile:v main10 -level:v 61 -tier high -flags +cgop -g 120 -pix_fmt p010le -loglevel debug Georgia_PLC.mkv

Debug log ffmpeg version N-113620-g3be80ce299 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev4, Built by MSYS2 project) configuration: --enable-libvpl --enable-libdav1d --enable-libplacebo --enable-gpl --enable-nonfree --cpu=x86-64-v3 --extra-libs=-lstdc++ libavutil 58. 36.101 / 58. 36.101 libavcodec 60. 39.100 / 60. 39.100 libavformat 60. 20.100 / 60. 20.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 17.100 / 9. 17.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Splitting the commandline. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'. Reading option '-i' ... matched as output url with argument 'Georgia_1F.obu'. Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list of bitstream filters) with argument 'hevc_metadata=chroma_sample_loc_type=2'. Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'libplacebo=crop_w=7680:crop_h=4316:crop_x=0:crop_y=2:w=7680:h=4316'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'hevc_qsv'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'veryslow'. Reading option '-scenario' ... matched as AVOption 'scenario' with argument 'archive'. Reading option '-global_quality' ... matched as AVOption 'global_quality' with argument '14'. Reading option '-profile:v' ... matched as option 'profile' (set profile) with argument 'main10'. Reading option '-level:v' ... matched as AVOption 'level:v' with argument '61'. Reading option '-tier' ... matched as AVOption 'tier' with argument 'high'. Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop'. Reading option '-g' ... matched as AVOption 'g' with argument '120'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'p010le'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option 'Georgia_PLC.mkv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option init_hw_device (initialise hardware device) with argument vulkan. [AVHWDeviceContext @ 000002a43bdde680] Supported validation layers: [AVHWDeviceContext @ 000002a43bdde680] VK_LAYER_VALVE_steam_overlay [AVHWDeviceContext @ 000002a43bdde680] VK_LAYER_VALVE_steam_fossilize [AVHWDeviceContext @ 000002a43bdde680] Using instance extension VK_KHR_portability_enumeration [AVHWDeviceContext @ 000002a43bdde680] GPU listing: [AVHWDeviceContext @ 000002a43bdde680] 0: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 000002a43bdde680] Device 0 selected: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 000002a43bdde680] Queue families: [AVHWDeviceContext @ 000002a43bdde680] 0: graphics compute transfer sparse (queues: 1) [AVHWDeviceContext @ 000002a43bdde680] 1: compute (queues: 1) [AVHWDeviceContext @ 000002a43bdde680] 2: transfer (queues: 1) [AVHWDeviceContext @ 000002a43bdde680] 3: decode (queues: 2) [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_push_descriptor [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_sampler_ycbcr_conversion [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_EXT_descriptor_buffer [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_EXT_shader_atomic_float [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_EXT_external_memory_host [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_external_memory_win32 [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_external_semaphore_win32 [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_video_queue [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_video_decode_queue [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_video_decode_h264 [AVHWDeviceContext @ 000002a43bdde680] Using device extension VK_KHR_video_decode_h265 [AVHWDeviceContext @ 000002a43bdde680] Using device: Intel(R) Arc(TM) A380 Graphics [AVHWDeviceContext @ 000002a43bdde680] Alignments: [AVHWDeviceContext @ 000002a43bdde680] optimalBufferCopyRowPitchAlignment: 64 [AVHWDeviceContext @ 000002a43bdde680] minMemoryMapAlignment: 64 [AVHWDeviceContext @ 000002a43bdde680] nonCoherentAtomSize: 1 [AVHWDeviceContext @ 000002a43bdde680] minImportedHostPointerAlignment: 4096 [AVHWDeviceContext @ 000002a43bdde680] Using queue family 0 (queues: 1) for graphics [AVHWDeviceContext @ 000002a43bdde680] Using queue family 1 (queues: 1) for compute [AVHWDeviceContext @ 000002a43bdde680] Using queue family 2 (queues: 1) for transfers [AVHWDeviceContext @ 000002a43bdde680] Using queue family 3 (queues: 2) for decode Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url Georgia_1F.obu. Successfully parsed a group of options. Opening an input file: Georgia_1F.obu. [AVFormatContext @ 000002a43a0cdd40] Opening 'Georgia_1F.obu' for reading [file @ 000002a43a0ce1c0] Setting default whitelist 'file,crypto,data' [obu @ 000002a43a0cdd40] Format obu probed with size=2048 and score=51 [obu @ 000002a43a0cdd40] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [libdav1d @ 000002a43a0ce800] libdav1d 1.3.0-89-g08051a3 [libdav1d @ 000002a43a0ce800] Using 1 threads, 0 max_frame_delay [av1_frame_merge @ 000002a43a0cecc0] Frame 0: size 7680x4320 upscaled 7680 render 7680x4320 subsample 2x2 bitdepth 10 tiles 4x8. Last message repeated 1 times [libdav1d @ 000002a43a0ce800] Frame 0: size 7680x4320 upscaled 7680 render 7680x4320 subsample 2x2 bitdepth 10 tiles 4x8. [extract_extradata @ 000002a43be40780] obu_type: 2, temporal_id: 0, spatial_id: 0, payload size: 0 [extract_extradata @ 000002a43be40780] obu_type: 1, temporal_id: 0, spatial_id: 0, payload size: 15 [extract_extradata @ 000002a43be40780] obu_type: 6, temporal_id: 0, spatial_id: 0, payload size: 834342 [obu @ 000002a43a0cdd40] After avformat_find_stream_info() pos: 834365 bytes read:834365 seeks:0 frames:1 Input #0, obu, from 'Georgia_1F.obu': Duration: N/A, bitrate: N/A Stream #0:0, 1, 1/1200000: Video: av1 (libdav1d) (Main), 1 reference frame, yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 7680x4320 (0x0) [SAR 1:1 DAR 16:9], 0/1, 25 fps, 1200k tbr, 1200k tbn Successfully opened the file. Parsing a group of options: output url Georgia_PLC.mkv. Applying option bsf:v (A comma-separated list of bitstream filters) with argument hevc_metadata=chroma_sample_loc_type=2. Applying option vf (alias for -filter:v (apply filters to video streams)) with argument libplacebo=crop_w=7680:crop_h=4316:crop_x=0:crop_y=2:w=7680:h=4316. Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument hevc_qsv. Applying option profile:v (set profile) with argument main10. Applying option pix_fmt (set pixel format) with argument p010le. Successfully parsed a group of options. Opening an output file: Georgia_PLC.mkv. [out#0/matroska @ 000002a43a0c7280] No explicit maps, mapping streams automatically... [vost#0:0/hevc_qsv @ 000002a43bde0880] Created video stream from input stream 0:0 [h265_metadata_bsf @ 000002a43bde2ec0] Setting 'chroma_sample_loc_type' to value '2' [AVFilterGraph @ 000002a43a0cd580] Setting 'crop_w' to value '7680' [AVFilterGraph @ 000002a43a0cd580] Setting 'crop_h' to value '4316' [AVFilterGraph @ 000002a43a0cd580] Setting 'crop_x' to value '0' [AVFilterGraph @ 000002a43a0cd580] Setting 'crop_y' to value '2' [AVFilterGraph @ 000002a43a0cd580] Setting 'w' to value '7680' [AVFilterGraph @ 000002a43a0cd580] Setting 'h' to value '4316' [libplacebo @ 000002a43bdf0a80] Initialized libplacebo v6.338.0-77-g3ba18d5d (API v342) [libdav1d @ 000002a43bde77c0] libdav1d 1.3.0-89-g08051a3 [libdav1d @ 000002a43bde77c0] Using 0 threads, 0 max_frame_delay [file @ 000002a43bdf1600] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (av1 (libdav1d) -> hevc (hevc_qsv)) [vost#0:0/hevc_qsv @ 000002a43bde0880] Starting thread... [vf#0:0 @ 000002a43bde3140] Starting thread... [vist#0:0/av1 @ 000002a442bbbc80] [dec:libdav1d @ 000002a43bde3700] Starting thread... [in#0/obu @ 000002a43a0cda40] Starting thread... Press [q] to stop, [?] for help [in#0/obu @ 000002a43a0cda40] EOF while reading input [in#0/obu @ 000002a43a0cda40] Terminating thread with return code 0 (success) [vist#0:0/av1 @ 000002a442bbbc80] [dec:libdav1d @ 000002a43bde3700] Decoder thread received EOF packet [vist#0:0/av1 @ 000002a442bbbc80] [dec:libdav1d @ 000002a43bde3700] Decoder returned EOF, finishing [vist#0:0/av1 @ 000002a442bbbc80] [dec:libdav1d @ 000002a43bde3700] Terminating thread with return code 0 (success) [AVFilterGraph @ 000002a43a0cccc0] Setting 'crop_w' to value '7680' [AVFilterGraph @ 000002a43a0cccc0] Setting 'crop_h' to value '4316' [AVFilterGraph @ 000002a43a0cccc0] Setting 'crop_x' to value '0' [AVFilterGraph @ 000002a43a0cccc0] Setting 'crop_y' to value '2' [AVFilterGraph @ 000002a43a0cccc0] Setting 'w' to value '7680' [AVFilterGraph @ 000002a43a0cccc0] Setting 'h' to value '4316' detected 64 logical cores [libplacebo @ 000002a442f3e0c0] Initialized libplacebo v6.338.0-77-g3ba18d5d (API v342) [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'video_size' to value '7680x4320' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'pix_fmt' to value '62' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'time_base' to value '1/1200000' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'colorspace' to value '9' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'range' to value '1' [graph 0 input from stream 0:0 @ 000002a442f3fb00] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 000002a442f3fb00] w:7680 h:4320 pixfmt:yuv420p10le tb:1/1200000 fr:25/1 sar:1/1 csp:bt2020nc range:tv [format @ 000002a43be94480] Setting 'pix_fmts' to value 'p010le' [libplacebo @ 000002a442f3e0c0] Imported vulkan device properties: [libplacebo @ 000002a442f3e0c0] Device Name: Intel(R) Arc(TM) A380 Graphics [libplacebo @ 000002a442f3e0c0] Device ID: 8086:56a5 [libplacebo @ 000002a442f3e0c0] Device UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 000002a442f3e0c0] Driver version: 19544a [libplacebo @ 000002a442f3e0c0] API version: 1.3.271 [libplacebo @ 000002a442f3e0c0] Restricting API version to 1.3.0... new version 1.3.0 [libplacebo @ 000002a442f3e0c0] Memory heaps supported by device: [libplacebo @ 000002a442f3e0c0] 0: flags 0x1 size 5800M [libplacebo @ 000002a442f3e0c0] 1: flags 0x0 size 31G [libplacebo @ 000002a442f3e0c0] 2: flags 0x1 size 256M [libplacebo @ 000002a442f3e0c0] Memory types supported by device: [libplacebo @ 000002a442f3e0c0] 0: flags 0x1 heap 0 [libplacebo @ 000002a442f3e0c0] 1: flags 0x6 heap 1 [libplacebo @ 000002a442f3e0c0] 2: flags 0xe heap 1 [libplacebo @ 000002a442f3e0c0] 3: flags 0x7 heap 2 [libplacebo @ 000002a442f3e0c0] Memory summary: 0 used 0 res 0 alloc, efficiency 100.00%, utilization 100.00%, max page: 362M [libplacebo @ 000002a442f3e0c0] shaderc SPIR-V version 1.6 rev 1 [libplacebo @ 000002a442f3e0c0] Initialized SPIR-V compiler 'shaderc' [libplacebo @ 000002a442f3e0c0] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 000002a442f3e0c0] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not exportable [libplacebo @ 000002a442f3e0c0] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not importable [libplacebo @ 000002a442f3e0c0] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 000002a442f3e0c0] Tex caps for VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) unsupported: VK_ERROR_FORMAT_NOT_SUPPORTED Last message repeated 1 times [libplacebo @ 000002a442f3e0c0] Minimum texel alignment: 48 [libplacebo @ 000002a442f3e0c0] GPU information: [libplacebo @ 000002a442f3e0c0] GLSL version: 450 (vulkan) [libplacebo @ 000002a442f3e0c0] max_shmem_size: 32768 [libplacebo @ 000002a442f3e0c0] max_group_threads: 1024 [libplacebo @ 000002a442f3e0c0] max_group_size[0]: 1024 [libplacebo @ 000002a442f3e0c0] max_group_size[1]: 1024 [libplacebo @ 000002a442f3e0c0] max_group_size[2]: 64 [libplacebo @ 000002a442f3e0c0] subgroup_size: 32 [libplacebo @ 000002a442f3e0c0] min_gather_offset: -32 [libplacebo @ 000002a442f3e0c0] max_gather_offset: 31 [libplacebo @ 000002a442f3e0c0] Limits: [libplacebo @ 000002a442f3e0c0] thread_safe: 1 [libplacebo @ 000002a442f3e0c0] callbacks: 1 [libplacebo @ 000002a442f3e0c0] max_buf_size: 34290857984 [libplacebo @ 000002a442f3e0c0] max_ubo_size: 134217724 [libplacebo @ 000002a442f3e0c0] max_ssbo_size: 1073741820 [libplacebo @ 000002a442f3e0c0] max_vbo_size: 6081740800 [libplacebo @ 000002a442f3e0c0] max_mapped_size: 34290857984 [libplacebo @ 000002a442f3e0c0] max_buffer_texels: 134217728 [libplacebo @ 000002a442f3e0c0] align_host_ptr: 4096 [libplacebo @ 000002a442f3e0c0] host_cached: 1 [libplacebo @ 000002a442f3e0c0] max_tex_1d_dim: 16384 [libplacebo @ 000002a442f3e0c0] max_tex_2d_dim: 16384 [libplacebo @ 000002a442f3e0c0] max_tex_3d_dim: 2048 [libplacebo @ 000002a442f3e0c0] blittable_1d_3d: 1 [libplacebo @ 000002a442f3e0c0] buf_transfer: 1 [libplacebo @ 000002a442f3e0c0] align_tex_xfer_pitch: 64 [libplacebo @ 000002a442f3e0c0] align_tex_xfer_offset: 64 [libplacebo @ 000002a442f3e0c0] max_variable_comps: 0 [libplacebo @ 000002a442f3e0c0] max_constants: 18446744073709551615 [libplacebo @ 000002a442f3e0c0] max_pushc_size: 256 [libplacebo @ 000002a442f3e0c0] align_vertex_stride: 1 [libplacebo @ 000002a442f3e0c0] max_dispatch[0]: 65536 [libplacebo @ 000002a442f3e0c0] max_dispatch[1]: 65536 [libplacebo @ 000002a442f3e0c0] max_dispatch[2]: 65536 [libplacebo @ 000002a442f3e0c0] fragment_queues: 1 [libplacebo @ 000002a442f3e0c0] compute_queues: 1 [libplacebo @ 000002a442f3e0c0] External API interop: [libplacebo @ 000002a442f3e0c0] UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 000002a442f3e0c0] PCI: 0000:00:00:0 [libplacebo @ 000002a442f3e0c0] buf export caps: 0x2 [libplacebo @ 000002a442f3e0c0] buf import caps: 0x12 [libplacebo @ 000002a442f3e0c0] tex export caps: 0x2 [libplacebo @ 000002a442f3e0c0] tex import caps: 0x12 [libplacebo @ 000002a442f3e0c0] sync export caps: 0x2 [libplacebo @ 000002a442f3e0c0] sync import caps: 0x0 [libplacebo @ 000002a442f3e0c0] GPU texture formats: [libplacebo @ 000002a442f3e0c0] NAME TYPE SIZE COMP CAPS EMU DEPTH HOST_BITS GLSL_TYPE GLSL_FMT FOURCC [libplacebo @ 000002a442f3e0c0] r8 UNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8 R8 [libplacebo @ 000002a442f3e0c0] r8s SNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8_snorm [libplacebo @ 000002a442f3e0c0] rg8 UNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8 GR88 [libplacebo @ 000002a442f3e0c0] rg8s SNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8_snorm [libplacebo @ 000002a442f3e0c0] rgba8 UNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AB24 [libplacebo @ 000002a442f3e0c0] rgba8s SNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8_snorm [libplacebo @ 000002a442f3e0c0] bgra8 UNORM 4 BGRA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AR24 [libplacebo @ 000002a442f3e0c0] rgb10a2 UNORM 4 RGBA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AB30 [libplacebo @ 000002a442f3e0c0] bgr10a2 UNORM 4 BGRA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AR30 [libplacebo @ 000002a442f3e0c0] r16 UNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16 R16 [libplacebo @ 000002a442f3e0c0] r16hf FLOAT 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16f [libplacebo @ 000002a442f3e0c0] r16s SNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16_snorm [libplacebo @ 000002a442f3e0c0] rg16 UNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16 GR32 [libplacebo @ 000002a442f3e0c0] rg16hf FLOAT 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16f [libplacebo @ 000002a442f3e0c0] rg16s SNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16_snorm [libplacebo @ 000002a442f3e0c0] rgba16 UNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16 [libplacebo @ 000002a442f3e0c0] rgba16hf FLOAT 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16f AB4H [libplacebo @ 000002a442f3e0c0] rgba16s SNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16_snorm [libplacebo @ 000002a442f3e0c0] r32f FLOAT 4 R SsLRbBVutHWG n {32 0 0 0 } {32 0 0 0 } float r32f [libplacebo @ 000002a442f3e0c0] rg32f FLOAT 8 RG SsLRbBVutHWG n {32 32 0 0 } {32 32 0 0 } vec2 rg32f [libplacebo @ 000002a442f3e0c0] rgba32f FLOAT 16 RGBA SsLRbBVutHWG n {32 32 32 32} {32 32 32 32} vec4 rgba32f [libplacebo @ 000002a442f3e0c0] rgb565 UNORM 2 RGB SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 BG16 [libplacebo @ 000002a442f3e0c0] bgr5a1 UNORM 2 BGRA SsLRbB-utHWG n {5 5 5 1 } {5 5 5 1 } vec4 AR15 [libplacebo @ 000002a442f3e0c0] bgr565 UNORM 2 BGR SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 RG16 [libplacebo @ 000002a442f3e0c0] r8i SINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } int r8i [libplacebo @ 000002a442f3e0c0] r8u UINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } uint r8ui [libplacebo @ 000002a442f3e0c0] rg8i SINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } ivec2 rg8i [libplacebo @ 000002a442f3e0c0] rg8u UINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } uvec2 rg8ui [libplacebo @ 000002a442f3e0c0] rgba8i SINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } ivec4 rgba8i [libplacebo @ 000002a442f3e0c0] rgba8u UINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } uvec4 rgba8ui [libplacebo @ 000002a442f3e0c0] rgb10a2u UINT 4 RGBA Ss-R-BVutHWG n {10 10 10 2 } {10 10 10 2 } uvec4 rgb10_a2ui [libplacebo @ 000002a442f3e0c0] r16i SINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } int r16i [libplacebo @ 000002a442f3e0c0] r16u UINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } uint r16ui [libplacebo @ 000002a442f3e0c0] rg16i SINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } ivec2 rg16i [libplacebo @ 000002a442f3e0c0] rg16u UINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } uvec2 rg16ui [libplacebo @ 000002a442f3e0c0] rgba16i SINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} ivec4 rgba16i [libplacebo @ 000002a442f3e0c0] rgba16u UINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} uvec4 rgba16ui [libplacebo @ 000002a442f3e0c0] r32i SINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } int r32i [libplacebo @ 000002a442f3e0c0] r32u UINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } uint r32ui [libplacebo @ 000002a442f3e0c0] rg32i SINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } ivec2 rg32i [libplacebo @ 000002a442f3e0c0] rg32u UINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } uvec2 rg32ui [libplacebo @ 000002a442f3e0c0] rgba32i SINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} ivec4 rgba32i [libplacebo @ 000002a442f3e0c0] rgba32u UINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} uvec4 rgba32ui [libplacebo @ 000002a442f3e0c0] a1bgr5 UNORM 2 ABGR S-LRbB-u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 RA15 [libplacebo @ 000002a442f3e0c0] argb4 UNORM 2 ARGB S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 BA12 [libplacebo @ 000002a442f3e0c0] abgr4 UNORM 2 ABGR S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 RA12 [libplacebo @ 000002a442f3e0c0] a1rgb5 UNORM 2 ARGB S-LR---u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 BA15 [libplacebo @ 000002a442f3e0c0] rgb8 UNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 BG24 [libplacebo @ 000002a442f3e0c0] rgb8s SNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 [libplacebo @ 000002a442f3e0c0] rgb16 UNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000002a442f3e0c0] rgb16hf FLOAT 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000002a442f3e0c0] rgb16s SNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 000002a442f3e0c0] rgb32f FLOAT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } vec3 [libplacebo @ 000002a442f3e0c0] rgb32i SINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } ivec3 [libplacebo @ 000002a442f3e0c0] rgb32u UINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } uvec3 [libplacebo @ 000002a442f3e0c0] rgb8i SINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } ivec3 [libplacebo @ 000002a442f3e0c0] rgb8u UINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } uvec3 [libplacebo @ 000002a442f3e0c0] rgb10a2i SINT 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 000002a442f3e0c0] rgb10a2s SNORM 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 000002a442f3e0c0] bgr10a2i SINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 000002a442f3e0c0] bgr10a2s SNORM 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 000002a442f3e0c0] bgr10a2u UINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } uvec4 [libplacebo @ 000002a442f3e0c0] rgb16i SINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } ivec3 [libplacebo @ 000002a442f3e0c0] rgb16u UINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } uvec3 [libplacebo @ 000002a442f3e0c0] gr4 UNORM 1 GR ---------H-- n {4 4 0 0 } {4 4 0 0 } [libplacebo @ 000002a442f3e0c0] bgr8 UNORM 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } RG24 [libplacebo @ 000002a442f3e0c0] bgr8i SINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 000002a442f3e0c0] bgr8u UINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 000002a442f3e0c0] bgra8i SINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 000002a442f3e0c0] bgra8u UINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 000002a442f3e0c0] rx10 UNORM 2 R ---------H-- n {10 0 0 0 } {16 0 0 0 } [libplacebo @ 000002a442f3e0c0] rxgx10 UNORM 4 RG ---------H-- n {10 10 0 0 } {16 16 0 0 } [libplacebo @ 000002a442f3e0c0] rx12 UNORM 2 R ---------H-- n {12 0 0 0 } {16 0 0 0 } [libplacebo @ 000002a442f3e0c0] rxgx12 UNORM 4 RG ---------H-- n {12 12 0 0 } {16 16 0 0 } [libplacebo @ 000002a442f3e0c0] r16f FLOAT 4 R SsLRbB---HWG y {16 0 0 0 } {32 0 0 0 } r16f [libplacebo @ 000002a442f3e0c0] rg16f FLOAT 8 RG SsLRbB---HWG y {16 16 0 0 } {32 32 0 0 } rg16f [libplacebo @ 000002a442f3e0c0] rgba16f FLOAT 16 RGBA SsLRbB---HWG y {16 16 16 16} {32 32 32 32} rgba16f [libplacebo @ 000002a442f3e0c0] rgb16f FLOAT 12 RGB S-L------H-G y {16 16 16 0 } {32 32 32 0 } [libplacebo @ 000002a442f3e0c0] g8_b8_r8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU12 [libplacebo @ 000002a442f3e0c0] g8_b8_r8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU16 [libplacebo @ 000002a442f3e0c0] g8_b8_r8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU24 [libplacebo @ 000002a442f3e0c0] g8_br8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV12 [libplacebo @ 000002a442f3e0c0] g8_br8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV16 [libplacebo @ 000002a442f3e0c0] g8_br8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV24 [libplacebo @ 000002a442f3e0c0] gx10_bx10_rx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx10_bx10_rx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx10_bx10_rx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } Q410 [libplacebo @ 000002a442f3e0c0] gx10_bxrx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P010 [libplacebo @ 000002a442f3e0c0] gx10_bxrx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P210 [libplacebo @ 000002a442f3e0c0] gx10_bxrx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx12_bx12_rx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx12_bx12_rx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx12_bx12_rx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx12_bxrx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } P012 [libplacebo @ 000002a442f3e0c0] gx12_bxrx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] gx12_bxrx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] g16_b16_r16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] g16_b16_r16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] g16_b16_r16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] g16_br16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } P016 [libplacebo @ 000002a442f3e0c0] g16_br16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 000002a442f3e0c0] g16_br16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [AVFilterGraph @ 000002a43a0cccc0] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed [graph 0 input from stream 0:0 @ 000002a442f3fb00] video frame properties congruent with link at pts_time: 0 [libplacebo @ 000002a442f3e0c0] (Re)creating 7680x4320x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Allocating 267649024 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Spent 0.749 ms allocating slab [libplacebo @ 000002a442f3e0c0] Imported host pointer is not page-aligned. This should normally be fine on most platforms, but may cause issues in some rare circumstances. [libplacebo @ 000002a442f3e0c0] (Re)creating 3840x2160x0 texture with format r16: ../src/utils/upload.c:245 Last message repeated 1 times [libplacebo @ 000002a442f3e0c0] (Re)creating 7680x4316x0 texture with format r16: ../src/utils/upload.c:356 [libplacebo @ 000002a442f3e0c0] (Re)creating 3840x2158x0 texture with format rg16: ../src/utils/upload.c:356 [libplacebo @ 000002a442f3e0c0] Allocating 267911168 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Spent 0.772 ms allocating slab [libplacebo @ 000002a442f3e0c0] (Re)creating 3840x2160x0 texture with format rg16: src/renderer.c:1647 [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000002a442f3e0c0] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 000002a442f3e0c0] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 000002a442f3e0c0] [ 14] layout(location=0) in vec2 _7; [libplacebo @ 000002a442f3e0c0] [ 15] layout(location=0) out vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 16] layout(location=1) in vec2 _8; [libplacebo @ 000002a442f3e0c0] [ 17] layout(location=1) out vec2 _8003; [libplacebo @ 000002a442f3e0c0] [ 18] layout(location=2) in vec2 _9; [libplacebo @ 000002a442f3e0c0] [ 19] void main() { [libplacebo @ 000002a442f3e0c0] [ 20] _3 = _7; [libplacebo @ 000002a442f3e0c0] [ 21] _8003 = _8; [libplacebo @ 000002a442f3e0c0] [ 22] vec2 va_pos = _9; [libplacebo @ 000002a442f3e0c0] [ 23] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 24] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000002a442f3e0c0] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 000002a442f3e0c0] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 000002a442f3e0c0] [ 14] layout(location=0) in vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 15] layout(location=1) in vec2 _8003; [libplacebo @ 000002a442f3e0c0] [ 16] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 17] [libplacebo @ 000002a442f3e0c0] [ 18] vec4 _8001() { [libplacebo @ 000002a442f3e0c0] [ 19] // pl_shader_sample_direct [libplacebo @ 000002a442f3e0c0] [ 20] vec4 color = vec4(_8004) * textureLod(_8002, _8003, 0.0); [libplacebo @ 000002a442f3e0c0] [ 21] return color; [libplacebo @ 000002a442f3e0c0] [ 22] } [libplacebo @ 000002a442f3e0c0] [ 23] [libplacebo @ 000002a442f3e0c0] [ 24] vec4 _1() { [libplacebo @ 000002a442f3e0c0] [ 25] // pl_shader_sample_direct [libplacebo @ 000002a442f3e0c0] [ 26] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 000002a442f3e0c0] [ 27] { [libplacebo @ 000002a442f3e0c0] [ 28] vec4 tmp = _8001(); [libplacebo @ 000002a442f3e0c0] [ 29] color[1] = tmp[0]; [libplacebo @ 000002a442f3e0c0] [ 30] } [libplacebo @ 000002a442f3e0c0] [ 31] return color; [libplacebo @ 000002a442f3e0c0] [ 32] } [libplacebo @ 000002a442f3e0c0] [ 33] [libplacebo @ 000002a442f3e0c0] [ 34] void main() { [libplacebo @ 000002a442f3e0c0] [ 35] out_color = _1(); [libplacebo @ 000002a442f3e0c0] [ 36] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 1.000000 [libplacebo @ 000002a442f3e0c0] constant_id=1: 1.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 76.423 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 1.964 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.013 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.644 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000002a442f3e0c0] Allocating 261888 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:1160 [libplacebo @ 000002a442f3e0c0] Spent 0.414 ms allocating slab [libplacebo @ 000002a442f3e0c0] LUT invalidated, regenerating.. [libplacebo @ 000002a442f3e0c0] Spent 0.000 ms generating shader LUT [libplacebo @ 000002a442f3e0c0] Allocating 262144 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Spent 0.041 ms allocating slab [libplacebo @ 000002a442f3e0c0] Allocating 255936 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 000002a442f3e0c0] Spent 0.563 ms allocating slab [libplacebo @ 000002a442f3e0c0] (Re)creating 3840x4316x0 texture with format rg16hf: src/renderer.c:762 [libplacebo @ 000002a442f3e0c0] Allocating 535298048 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Spent 1.236 ms allocating slab [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 22] layout(location=0) in vec2 _12; [libplacebo @ 000002a442f3e0c0] [ 23] layout(location=0) out vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 24] layout(location=1) in vec2 _13; [libplacebo @ 000002a442f3e0c0] [ 25] void main() { [libplacebo @ 000002a442f3e0c0] [ 26] _3 = _12; [libplacebo @ 000002a442f3e0c0] [ 27] vec2 va_pos = _13; [libplacebo @ 000002a442f3e0c0] [ 28] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 29] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 22] layout(location=0) in vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 23] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 24] [libplacebo @ 000002a442f3e0c0] [ 25] #define _7(x) (_9 * (x) + _8) [libplacebo @ 000002a442f3e0c0] [ 26] #define _a(x) (_c * (x) + _b) [libplacebo @ 000002a442f3e0c0] [ 27] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 000002a442f3e0c0] [ 28] _7(vec2(pos).x)\ [libplacebo @ 000002a442f3e0c0] [ 29] ,_a(vec2(pos).y)\ [libplacebo @ 000002a442f3e0c0] [ 30] ), 0.0).xyzw) [libplacebo @ 000002a442f3e0c0] [ 31] vec4 _1() { [libplacebo @ 000002a442f3e0c0] [ 32] [libplacebo @ 000002a442f3e0c0] [ 33] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 34] { [libplacebo @ 000002a442f3e0c0] [ 35] vec2 pos = _3, pt = _4; [libplacebo @ 000002a442f3e0c0] [ 36] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 000002a442f3e0c0] [ 37] vec2 dir = vec2(float(0), float(1)); [libplacebo @ 000002a442f3e0c0] [ 38] pt *= dir; [libplacebo @ 000002a442f3e0c0] [ 39] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000002a442f3e0c0] [ 40] float fcoord = dot(fcoord2, dir); [libplacebo @ 000002a442f3e0c0] [ 41] vec2 base = pos - fcoord * pt - pt * vec2(float(2)); [libplacebo @ 000002a442f3e0c0] [ 42] vec4 ws; [libplacebo @ 000002a442f3e0c0] [ 43] float off; [libplacebo @ 000002a442f3e0c0] [ 44] vec2 c, ca = vec2(0.0); [libplacebo @ 000002a442f3e0c0] [ 45] #pragma unroll 4 [libplacebo @ 000002a442f3e0c0] [ 46] for (uint n = 0u; n < _d; n += uint(1)) { [libplacebo @ 000002a442f3e0c0] [ 47] if (n % 4u == 0u) [libplacebo @ 000002a442f3e0c0] [ 48] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000002a442f3e0c0] [ 49] off = float(n); [libplacebo @ 000002a442f3e0c0] [ 50] c = textureLod(_2, base + pt * off, 0.0).rg; [libplacebo @ 000002a442f3e0c0] [ 51] ca += ws[n % 4u] * c; [libplacebo @ 000002a442f3e0c0] [ 52] } [libplacebo @ 000002a442f3e0c0] [ 53] color.rg = _f * ca; [libplacebo @ 000002a442f3e0c0] [ 54] } [libplacebo @ 000002a442f3e0c0] [ 55] return color; [libplacebo @ 000002a442f3e0c0] [ 56] } [libplacebo @ 000002a442f3e0c0] [ 57] [libplacebo @ 000002a442f3e0c0] [ 58] void main() { [libplacebo @ 000002a442f3e0c0] [ 59] out_color = _1(); [libplacebo @ 000002a442f3e0c0] [ 60] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 0.250000 [libplacebo @ 000002a442f3e0c0] constant_id=1: 0.500000 [libplacebo @ 000002a442f3e0c0] constant_id=2: 0.001953 [libplacebo @ 000002a442f3e0c0] constant_id=3: 0.996094 [libplacebo @ 000002a442f3e0c0] constant_id=4: 6 [libplacebo @ 000002a442f3e0c0] constant_id=5: 0.000000 [libplacebo @ 000002a442f3e0c0] constant_id=6: 64.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 2.086 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 4.717 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.010 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.049 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000002a442f3e0c0] LUT invalidated, regenerating.. [libplacebo @ 000002a442f3e0c0] Spent 0.001 ms generating shader LUT [libplacebo @ 000002a442f3e0c0] (Re)creating 7680x4316x0 texture with format rgba16hf: src/renderer.c:2477 [libplacebo @ 000002a442f3e0c0] Allocating 1069809664 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 000002a442f3e0c0] Spent 2.568 ms allocating slab [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _2004; [libplacebo @ 000002a442f3e0c0] [ 12] layout(offset=16) vec3 _4005; [libplacebo @ 000002a442f3e0c0] [ 13] layout(offset=32) vec3 _4007; [libplacebo @ 000002a442f3e0c0] [ 14] layout(offset=48) mat3 _4004; [libplacebo @ 000002a442f3e0c0] [ 15] layout(offset=96) mat3 _4006; [libplacebo @ 000002a442f3e0c0] [ 16] }; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=0) const float _4002 = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=1) const float _4003 = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=2) const float _c004 = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(constant_id=3) const float _2008 = 1; [libplacebo @ 000002a442f3e0c0] [ 21] layout(constant_id=4) const float _2009 = 1; [libplacebo @ 000002a442f3e0c0] [ 22] layout(constant_id=5) const float _200b = 1; [libplacebo @ 000002a442f3e0c0] [ 23] layout(constant_id=6) const float _200c = 1; [libplacebo @ 000002a442f3e0c0] [ 24] layout(constant_id=7) const uint _200d = 1; [libplacebo @ 000002a442f3e0c0] [ 25] layout(constant_id=8) const float _200e = 1; [libplacebo @ 000002a442f3e0c0] [ 26] layout(constant_id=9) const float _200f = 1; [libplacebo @ 000002a442f3e0c0] [ 27] layout(binding=0) uniform sampler2D _c002; [libplacebo @ 000002a442f3e0c0] [ 28] layout(binding=1) uniform sampler2D _2002; [libplacebo @ 000002a442f3e0c0] [ 29] layout(binding=2) uniform sampler2D _2006; [libplacebo @ 000002a442f3e0c0] [ 30] layout(location=0) in vec2 _400a; [libplacebo @ 000002a442f3e0c0] [ 31] layout(location=0) out vec2 _c003; [libplacebo @ 000002a442f3e0c0] [ 32] layout(location=1) in vec2 _400b; [libplacebo @ 000002a442f3e0c0] [ 33] layout(location=1) out vec2 _2003; [libplacebo @ 000002a442f3e0c0] [ 34] layout(location=2) in vec2 _400c; [libplacebo @ 000002a442f3e0c0] [ 35] void main() { [libplacebo @ 000002a442f3e0c0] [ 36] _c003 = _400a; [libplacebo @ 000002a442f3e0c0] [ 37] _2003 = _400b; [libplacebo @ 000002a442f3e0c0] [ 38] vec2 va_pos = _400c; [libplacebo @ 000002a442f3e0c0] [ 39] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 40] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _2004; [libplacebo @ 000002a442f3e0c0] [ 12] layout(offset=16) vec3 _4005; [libplacebo @ 000002a442f3e0c0] [ 13] layout(offset=32) vec3 _4007; [libplacebo @ 000002a442f3e0c0] [ 14] layout(offset=48) mat3 _4004; [libplacebo @ 000002a442f3e0c0] [ 15] layout(offset=96) mat3 _4006; [libplacebo @ 000002a442f3e0c0] [ 16] }; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=0) const float _4002 = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=1) const float _4003 = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=2) const float _c004 = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(constant_id=3) const float _2008 = 1; [libplacebo @ 000002a442f3e0c0] [ 21] layout(constant_id=4) const float _2009 = 1; [libplacebo @ 000002a442f3e0c0] [ 22] layout(constant_id=5) const float _200b = 1; [libplacebo @ 000002a442f3e0c0] [ 23] layout(constant_id=6) const float _200c = 1; [libplacebo @ 000002a442f3e0c0] [ 24] layout(constant_id=7) const uint _200d = 1; [libplacebo @ 000002a442f3e0c0] [ 25] layout(constant_id=8) const float _200e = 1; [libplacebo @ 000002a442f3e0c0] [ 26] layout(constant_id=9) const float _200f = 1; [libplacebo @ 000002a442f3e0c0] [ 27] layout(binding=0) uniform sampler2D _c002; [libplacebo @ 000002a442f3e0c0] [ 28] layout(binding=1) uniform sampler2D _2002; [libplacebo @ 000002a442f3e0c0] [ 29] layout(binding=2) uniform sampler2D _2006; [libplacebo @ 000002a442f3e0c0] [ 30] layout(location=0) in vec2 _c003; [libplacebo @ 000002a442f3e0c0] [ 31] layout(location=1) in vec2 _2003; [libplacebo @ 000002a442f3e0c0] [ 32] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 33] [libplacebo @ 000002a442f3e0c0] [ 34] vec4 _c001() { [libplacebo @ 000002a442f3e0c0] [ 35] // pl_shader_sample_direct [libplacebo @ 000002a442f3e0c0] [ 36] vec4 color = vec4(_c004) * textureLod(_c002, _c003, 0.0); [libplacebo @ 000002a442f3e0c0] [ 37] return color; [libplacebo @ 000002a442f3e0c0] [ 38] } [libplacebo @ 000002a442f3e0c0] [ 39] [libplacebo @ 000002a442f3e0c0] [ 40] #define _2007(x) (_2009 * (x) + _2008) [libplacebo @ 000002a442f3e0c0] [ 41] #define _200a(x) (_200c * (x) + _200b) [libplacebo @ 000002a442f3e0c0] [ 42] #define _2005(pos) (textureLod(_2006, vec2(\ [libplacebo @ 000002a442f3e0c0] [ 43] _2007(vec2(pos).x)\ [libplacebo @ 000002a442f3e0c0] [ 44] ,_200a(vec2(pos).y)\ [libplacebo @ 000002a442f3e0c0] [ 45] ), 0.0).xyzw) [libplacebo @ 000002a442f3e0c0] [ 46] vec4 _2001() { [libplacebo @ 000002a442f3e0c0] [ 47] [libplacebo @ 000002a442f3e0c0] [ 48] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 49] { [libplacebo @ 000002a442f3e0c0] [ 50] vec2 pos = _2003, pt = _2004; [libplacebo @ 000002a442f3e0c0] [ 51] vec2 size = vec2(textureSize(_2002, 0)); [libplacebo @ 000002a442f3e0c0] [ 52] vec2 dir = vec2(float(1), float(0)); [libplacebo @ 000002a442f3e0c0] [ 53] pt *= dir; [libplacebo @ 000002a442f3e0c0] [ 54] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000002a442f3e0c0] [ 55] float fcoord = dot(fcoord2, dir); [libplacebo @ 000002a442f3e0c0] [ 56] vec2 base = pos - fcoord * pt - pt * vec2(float(2)); [libplacebo @ 000002a442f3e0c0] [ 57] vec4 ws; [libplacebo @ 000002a442f3e0c0] [ 58] float off; [libplacebo @ 000002a442f3e0c0] [ 59] vec2 c, ca = vec2(0.0); [libplacebo @ 000002a442f3e0c0] [ 60] #pragma unroll 4 [libplacebo @ 000002a442f3e0c0] [ 61] for (uint n = 0u; n < _200d; n += uint(1)) { [libplacebo @ 000002a442f3e0c0] [ 62] if (n % 4u == 0u) [libplacebo @ 000002a442f3e0c0] [ 63] ws = _2005(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000002a442f3e0c0] [ 64] off = float(n); [libplacebo @ 000002a442f3e0c0] [ 65] c = textureLod(_2002, base + pt * off, 0.0).rg; [libplacebo @ 000002a442f3e0c0] [ 66] ca += ws[n % 4u] * c; [libplacebo @ 000002a442f3e0c0] [ 67] } [libplacebo @ 000002a442f3e0c0] [ 68] color.rg = _200f * ca; [libplacebo @ 000002a442f3e0c0] [ 69] } [libplacebo @ 000002a442f3e0c0] [ 70] return color; [libplacebo @ 000002a442f3e0c0] [ 71] } [libplacebo @ 000002a442f3e0c0] [ 72] [libplacebo @ 000002a442f3e0c0] [ 73] vec4 _4001() { [libplacebo @ 000002a442f3e0c0] [ 74] vec4 color = vec4(_4003, vec2(_4002), 1.0); [libplacebo @ 000002a442f3e0c0] [ 75] // pass_read_image [libplacebo @ 000002a442f3e0c0] [ 76] { [libplacebo @ 000002a442f3e0c0] [ 77] vec4 tmp; [libplacebo @ 000002a442f3e0c0] [ 78] tmp = _c001(); [libplacebo @ 000002a442f3e0c0] [ 79] color[0] = tmp[0]; [libplacebo @ 000002a442f3e0c0] [ 80] tmp = _2001(); [libplacebo @ 000002a442f3e0c0] [ 81] color[1] = tmp[0]; [libplacebo @ 000002a442f3e0c0] [ 82] color[2] = tmp[1]; [libplacebo @ 000002a442f3e0c0] [ 83] } [libplacebo @ 000002a442f3e0c0] [ 84] // pl_shader_decode_color [libplacebo @ 000002a442f3e0c0] [ 85] { [libplacebo @ 000002a442f3e0c0] [ 86] color.rgb = _4004 * color.rgb + _4005; [libplacebo @ 000002a442f3e0c0] [ 87] } [libplacebo @ 000002a442f3e0c0] [ 88] // pl_shader_encode_color [libplacebo @ 000002a442f3e0c0] [ 89] { [libplacebo @ 000002a442f3e0c0] [ 90] color.rgb = _4006 * color.rgb + _4007; [libplacebo @ 000002a442f3e0c0] [ 91] } [libplacebo @ 000002a442f3e0c0] [ 92] return color; [libplacebo @ 000002a442f3e0c0] [ 93] } [libplacebo @ 000002a442f3e0c0] [ 94] [libplacebo @ 000002a442f3e0c0] [ 95] void main() { [libplacebo @ 000002a442f3e0c0] [ 96] out_color = _4001(); [libplacebo @ 000002a442f3e0c0] [ 97] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 0.500008 [libplacebo @ 000002a442f3e0c0] constant_id=1: 0.062501 [libplacebo @ 000002a442f3e0c0] constant_id=2: 64.000000 [libplacebo @ 000002a442f3e0c0] constant_id=3: 0.250000 [libplacebo @ 000002a442f3e0c0] constant_id=4: 0.500000 [libplacebo @ 000002a442f3e0c0] constant_id=5: 0.001953 [libplacebo @ 000002a442f3e0c0] constant_id=6: 0.996094 [libplacebo @ 000002a442f3e0c0] constant_id=7: 6 [libplacebo @ 000002a442f3e0c0] constant_id=8: 0.000000 [libplacebo @ 000002a442f3e0c0] constant_id=9: 1.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 2.346 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 6.152 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.012 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.056 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000002a442f3e0c0] LUT invalidated, regenerating.. [libplacebo @ 000002a442f3e0c0] Spent 20.190 ms generating shader LUT [libplacebo @ 000002a442f3e0c0] Allocating 247680 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 000002a442f3e0c0] Spent 0.737 ms allocating slab [libplacebo @ 000002a442f3e0c0] Dithering to 10 bit depth [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000002a442f3e0c0] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 000002a442f3e0c0] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 16] layout(location=0) in vec2 _d; [libplacebo @ 000002a442f3e0c0] [ 17] layout(location=0) out vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 18] layout(location=1) in vec2 _e; [libplacebo @ 000002a442f3e0c0] [ 19] void main() { [libplacebo @ 000002a442f3e0c0] [ 20] _3 = _d; [libplacebo @ 000002a442f3e0c0] [ 21] vec2 va_pos = _e; [libplacebo @ 000002a442f3e0c0] [ 22] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 23] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 000002a442f3e0c0] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 000002a442f3e0c0] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 16] layout(location=0) in vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 17] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 18] [libplacebo @ 000002a442f3e0c0] [ 19] #define _5(pos) (texelFetch(_6, ivec2(pos), 0).x) [libplacebo @ 000002a442f3e0c0] [ 20] vec4 _1() { [libplacebo @ 000002a442f3e0c0] [ 21] // pl_shader_sample_direct [libplacebo @ 000002a442f3e0c0] [ 22] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 000002a442f3e0c0] [ 23] // pl_shader_dither [libplacebo @ 000002a442f3e0c0] [ 24] { [libplacebo @ 000002a442f3e0c0] [ 25] float bias; [libplacebo @ 000002a442f3e0c0] [ 26] vec2 pos = fract(gl_FragCoord.xy * 1.0/_7); [libplacebo @ 000002a442f3e0c0] [ 27] bias = _5(ivec2(pos * _8)); [libplacebo @ 000002a442f3e0c0] [ 28] const float scale = 1023.0; [libplacebo @ 000002a442f3e0c0] [ 29] color = scale * color + vec4(bias); [libplacebo @ 000002a442f3e0c0] [ 30] color = floor(color) * (1.0 / scale); [libplacebo @ 000002a442f3e0c0] [ 31] } [libplacebo @ 000002a442f3e0c0] [ 32] color *= vec4(1.0 / _9); [libplacebo @ 000002a442f3e0c0] [ 33] vec4 _a = color; [libplacebo @ 000002a442f3e0c0] [ 34] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 35] color[0] = _a[0]; [libplacebo @ 000002a442f3e0c0] [ 36] return color; [libplacebo @ 000002a442f3e0c0] [ 37] } [libplacebo @ 000002a442f3e0c0] [ 38] [libplacebo @ 000002a442f3e0c0] [ 39] void main() { [libplacebo @ 000002a442f3e0c0] [ 40] out_color = _1(); [libplacebo @ 000002a442f3e0c0] [ 41] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 1.000000 [libplacebo @ 000002a442f3e0c0] constant_id=1: 64.000000 [libplacebo @ 000002a442f3e0c0] constant_id=2: 64.000000 [libplacebo @ 000002a442f3e0c0] constant_id=3: 1.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 1.854 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 2.396 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.011 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.051 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000002a442f3e0c0] LUT invalidated, regenerating.. [libplacebo @ 000002a442f3e0c0] Spent 0.000 ms generating shader LUT [libplacebo @ 000002a442f3e0c0] (Re)creating 7680x2158x0 texture with format rgba16hf: src/renderer.c:762 [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 22] layout(location=0) in vec2 _12; [libplacebo @ 000002a442f3e0c0] [ 23] layout(location=0) out vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 24] layout(location=1) in vec2 _13; [libplacebo @ 000002a442f3e0c0] [ 25] void main() { [libplacebo @ 000002a442f3e0c0] [ 26] _3 = _12; [libplacebo @ 000002a442f3e0c0] [ 27] vec2 va_pos = _13; [libplacebo @ 000002a442f3e0c0] [ 28] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 29] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 22] layout(location=0) in vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 23] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 24] [libplacebo @ 000002a442f3e0c0] [ 25] #define _7(x) (_9 * (x) + _8) [libplacebo @ 000002a442f3e0c0] [ 26] #define _a(x) (_c * (x) + _b) [libplacebo @ 000002a442f3e0c0] [ 27] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 000002a442f3e0c0] [ 28] _7(vec2(pos).x)\ [libplacebo @ 000002a442f3e0c0] [ 29] ,_a(vec2(pos).y)\ [libplacebo @ 000002a442f3e0c0] [ 30] ), 0.0).xyzw) [libplacebo @ 000002a442f3e0c0] [ 31] vec4 _1() { [libplacebo @ 000002a442f3e0c0] [ 32] [libplacebo @ 000002a442f3e0c0] [ 33] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 34] { [libplacebo @ 000002a442f3e0c0] [ 35] vec2 pos = _3, pt = _4; [libplacebo @ 000002a442f3e0c0] [ 36] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 000002a442f3e0c0] [ 37] vec2 dir = vec2(float(0), float(1)); [libplacebo @ 000002a442f3e0c0] [ 38] pt *= dir; [libplacebo @ 000002a442f3e0c0] [ 39] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000002a442f3e0c0] [ 40] float fcoord = dot(fcoord2, dir); [libplacebo @ 000002a442f3e0c0] [ 41] vec2 base = pos - fcoord * pt - pt * vec2(float(3)); [libplacebo @ 000002a442f3e0c0] [ 42] vec4 ws; [libplacebo @ 000002a442f3e0c0] [ 43] float off; [libplacebo @ 000002a442f3e0c0] [ 44] vec2 c, ca = vec2(0.0); [libplacebo @ 000002a442f3e0c0] [ 45] #pragma unroll 4 [libplacebo @ 000002a442f3e0c0] [ 46] for (uint n = 0u; n < _d; n += uint(1)) { [libplacebo @ 000002a442f3e0c0] [ 47] if (n % 4u == 0u) [libplacebo @ 000002a442f3e0c0] [ 48] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000002a442f3e0c0] [ 49] off = float(n); [libplacebo @ 000002a442f3e0c0] [ 50] c = textureLod(_2, base + pt * off, 0.0).gb; [libplacebo @ 000002a442f3e0c0] [ 51] ca += ws[n % 4u] * c; [libplacebo @ 000002a442f3e0c0] [ 52] } [libplacebo @ 000002a442f3e0c0] [ 53] color.gb = _f * ca; [libplacebo @ 000002a442f3e0c0] [ 54] } [libplacebo @ 000002a442f3e0c0] [ 55] return color; [libplacebo @ 000002a442f3e0c0] [ 56] } [libplacebo @ 000002a442f3e0c0] [ 57] [libplacebo @ 000002a442f3e0c0] [ 58] void main() { [libplacebo @ 000002a442f3e0c0] [ 59] out_color = _1(); [libplacebo @ 000002a442f3e0c0] [ 60] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 0.250000 [libplacebo @ 000002a442f3e0c0] constant_id=1: 0.500000 [libplacebo @ 000002a442f3e0c0] constant_id=2: 0.001953 [libplacebo @ 000002a442f3e0c0] constant_id=3: 0.996094 [libplacebo @ 000002a442f3e0c0] constant_id=4: 8 [libplacebo @ 000002a442f3e0c0] constant_id=5: 0.000000 [libplacebo @ 000002a442f3e0c0] constant_id=6: 1.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 1.750 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 4.188 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.008 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.040 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 000002a442f3e0c0] LUT invalidated, regenerating.. [libplacebo @ 000002a442f3e0c0] Spent 0.000 ms generating shader LUT [libplacebo @ 000002a442f3e0c0] vertex shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 000002a442f3e0c0] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 000002a442f3e0c0] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 000002a442f3e0c0] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 000002a442f3e0c0] [ 26] layout(location=0) in vec2 _18; [libplacebo @ 000002a442f3e0c0] [ 27] layout(location=0) out vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 28] layout(location=1) in vec2 _19; [libplacebo @ 000002a442f3e0c0] [ 29] void main() { [libplacebo @ 000002a442f3e0c0] [ 30] _3 = _18; [libplacebo @ 000002a442f3e0c0] [ 31] vec2 va_pos = _19; [libplacebo @ 000002a442f3e0c0] [ 32] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 33] } [libplacebo @ 000002a442f3e0c0] fragment shader source: [libplacebo @ 000002a442f3e0c0] [ 1] #version 450 [libplacebo @ 000002a442f3e0c0] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 000002a442f3e0c0] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 000002a442f3e0c0] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 000002a442f3e0c0] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 000002a442f3e0c0] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 000002a442f3e0c0] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 000002a442f3e0c0] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 000002a442f3e0c0] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 000002a442f3e0c0] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 000002a442f3e0c0] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 000002a442f3e0c0] [ 12] }; [libplacebo @ 000002a442f3e0c0] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 000002a442f3e0c0] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 000002a442f3e0c0] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 000002a442f3e0c0] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 000002a442f3e0c0] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 000002a442f3e0c0] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 000002a442f3e0c0] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 000002a442f3e0c0] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 000002a442f3e0c0] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 000002a442f3e0c0] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 000002a442f3e0c0] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 000002a442f3e0c0] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 000002a442f3e0c0] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 000002a442f3e0c0] [ 26] layout(location=0) in vec2 _3; [libplacebo @ 000002a442f3e0c0] [ 27] layout(location=0) out vec4 out_color; [libplacebo @ 000002a442f3e0c0] [ 28] [libplacebo @ 000002a442f3e0c0] [ 29] #define _7(x) (_9 * (x) + _8) [libplacebo @ 000002a442f3e0c0] [ 30] #define _a(x) (_c * (x) + _b) [libplacebo @ 000002a442f3e0c0] [ 31] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 000002a442f3e0c0] [ 32] _7(vec2(pos).x)\ [libplacebo @ 000002a442f3e0c0] [ 33] ,_a(vec2(pos).y)\ [libplacebo @ 000002a442f3e0c0] [ 34] ), 0.0).xyzw) [libplacebo @ 000002a442f3e0c0] [ 35] #define _10(pos) (texelFetch(_11, ivec2(pos), 0).x) [libplacebo @ 000002a442f3e0c0] [ 36] vec4 _1() { [libplacebo @ 000002a442f3e0c0] [ 37] [libplacebo @ 000002a442f3e0c0] [ 38] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 39] { [libplacebo @ 000002a442f3e0c0] [ 40] vec2 pos = _3, pt = _4; [libplacebo @ 000002a442f3e0c0] [ 41] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 000002a442f3e0c0] [ 42] vec2 dir = vec2(float(1), float(0)); [libplacebo @ 000002a442f3e0c0] [ 43] pt *= dir; [libplacebo @ 000002a442f3e0c0] [ 44] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 000002a442f3e0c0] [ 45] float fcoord = dot(fcoord2, dir); [libplacebo @ 000002a442f3e0c0] [ 46] vec2 base = pos - fcoord * pt - pt * vec2(float(3)); [libplacebo @ 000002a442f3e0c0] [ 47] vec4 ws; [libplacebo @ 000002a442f3e0c0] [ 48] float off; [libplacebo @ 000002a442f3e0c0] [ 49] vec2 c, ca = vec2(0.0); [libplacebo @ 000002a442f3e0c0] [ 50] #pragma unroll 4 [libplacebo @ 000002a442f3e0c0] [ 51] for (uint n = 0u; n < _d; n += uint(1)) { [libplacebo @ 000002a442f3e0c0] [ 52] if (n % 4u == 0u) [libplacebo @ 000002a442f3e0c0] [ 53] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 000002a442f3e0c0] [ 54] off = float(n); [libplacebo @ 000002a442f3e0c0] [ 55] c = textureLod(_2, base + pt * off, 0.0).gb; [libplacebo @ 000002a442f3e0c0] [ 56] ca += ws[n % 4u] * c; [libplacebo @ 000002a442f3e0c0] [ 57] } [libplacebo @ 000002a442f3e0c0] [ 58] color.gb = _f * ca; [libplacebo @ 000002a442f3e0c0] [ 59] } [libplacebo @ 000002a442f3e0c0] [ 60] // pl_shader_dither [libplacebo @ 000002a442f3e0c0] [ 61] { [libplacebo @ 000002a442f3e0c0] [ 62] float bias; [libplacebo @ 000002a442f3e0c0] [ 63] vec2 pos = fract(gl_FragCoord.xy * 1.0/_12); [libplacebo @ 000002a442f3e0c0] [ 64] bias = _10(ivec2(pos * _13)); [libplacebo @ 000002a442f3e0c0] [ 65] const float scale = 1023.0; [libplacebo @ 000002a442f3e0c0] [ 66] color = scale * color + vec4(bias); [libplacebo @ 000002a442f3e0c0] [ 67] color = floor(color) * (1.0 / scale); [libplacebo @ 000002a442f3e0c0] [ 68] } [libplacebo @ 000002a442f3e0c0] [ 69] color *= vec4(1.0 / _14); [libplacebo @ 000002a442f3e0c0] [ 70] vec4 _15 = color; [libplacebo @ 000002a442f3e0c0] [ 71] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 000002a442f3e0c0] [ 72] color[0] = _15[1]; [libplacebo @ 000002a442f3e0c0] [ 73] color[1] = _15[2]; [libplacebo @ 000002a442f3e0c0] [ 74] return color; [libplacebo @ 000002a442f3e0c0] [ 75] } [libplacebo @ 000002a442f3e0c0] [ 76] [libplacebo @ 000002a442f3e0c0] [ 77] void main() { [libplacebo @ 000002a442f3e0c0] [ 78] out_color = _1(); [libplacebo @ 000002a442f3e0c0] [ 79] } [libplacebo @ 000002a442f3e0c0] Specialization constant values: [libplacebo @ 000002a442f3e0c0] constant_id=0: 0.250000 [libplacebo @ 000002a442f3e0c0] constant_id=1: 0.500000 [libplacebo @ 000002a442f3e0c0] constant_id=2: 0.001953 [libplacebo @ 000002a442f3e0c0] constant_id=3: 0.996094 [libplacebo @ 000002a442f3e0c0] constant_id=4: 8 [libplacebo @ 000002a442f3e0c0] constant_id=5: 0.000000 [libplacebo @ 000002a442f3e0c0] constant_id=6: 1.000000 [libplacebo @ 000002a442f3e0c0] constant_id=7: 64.000000 [libplacebo @ 000002a442f3e0c0] constant_id=8: 64.000000 [libplacebo @ 000002a442f3e0c0] constant_id=9: 1.000000 [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 1.879 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 000002a442f3e0c0] Spent 5.313 ms translating SPIR-V [libplacebo @ 000002a442f3e0c0] Spent 0.009 ms compiling shader [libplacebo @ 000002a442f3e0c0] Spent 0.044 ms creating pipeline [libplacebo @ 000002a442f3e0c0] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [hevc_qsv @ 000002a43bde0b40] Encoder: input is system memory surface [hevc_qsv @ 000002a43bde0b40] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 [hevc_qsv @ 000002a43bde0b40] Initialized an internal MFX session using hardware accelerated implementation [hevc_qsv @ 000002a43bde0b40] Using the intelligent constant quality (ICQ) ratecontrol method [hevc_qsv @ 000002a43bde0b40] profile: hevc main10; level: 317 [hevc_qsv @ 000002a43bde0b40] GopPicSize: 120; GopRefDist: 8; GopOptFlag: closed; IdrInterval: 1 [hevc_qsv @ 000002a43bde0b40] TargetUsage: 1; RateControlMethod: ICQ [hevc_qsv @ 000002a43bde0b40] ICQQuality: 14 [hevc_qsv @ 000002a43bde0b40] NumSlice: 1; NumRefFrame: 4 [hevc_qsv @ 000002a43bde0b40] RateDistortionOpt: unknown [hevc_qsv @ 000002a43bde0b40] RecoveryPointSEI: unknown [hevc_qsv @ 000002a43bde0b40] VDENC: ON [hevc_qsv @ 000002a43bde0b40] NalHrdConformance: OFF; VuiNalHrdParameters: OFF [hevc_qsv @ 000002a43bde0b40] FrameRateExtD: 1; FrameRateExtN: 25 [hevc_qsv @ 000002a43bde0b40] IntRefType: 0; IntRefCycleSize: 0; IntRefQPDelta: 0 [hevc_qsv @ 000002a43bde0b40] MaxFrameSize: 0; MaxSliceSize: 0 [hevc_qsv @ 000002a43bde0b40] BitrateLimit: unknown; MBBRC: OFF; ExtBRC: OFF [hevc_qsv @ 000002a43bde0b40] Trellis: auto [hevc_qsv @ 000002a43bde0b40] RepeatPPS: OFF; NumMbPerSlice: 0; LookAheadDS: unknown [hevc_qsv @ 000002a43bde0b40] AdaptiveI: unknown; AdaptiveB: unknown; BRefType:pyramid [hevc_qsv @ 000002a43bde0b40] MinQPI: 22; MaxQPI: 63; MinQPP: 22; MaxQPP: 63; MinQPB: 22; MaxQPB: 63 [hevc_qsv @ 000002a43bde0b40] DisableDeblockingIdc: 0 [hevc_qsv @ 000002a43bde0b40] SkipFrame: no_skip [hevc_qsv @ 000002a43bde0b40] PRefType: default [hevc_qsv @ 000002a43bde0b40] GPB: ON [hevc_qsv @ 000002a43bde0b40] TransformSkip: ON [hevc_qsv @ 000002a43bde0b40] IntRefCycleDist: 0 [hevc_qsv @ 000002a43bde0b40] LowDelayBRC: OFF [hevc_qsv @ 000002a43bde0b40] MaxFrameSizeI: 0; MaxFrameSizeP: 0 [hevc_qsv @ 000002a43bde0b40] ScenarioInfo: 3 [hevc_qsv @ 000002a43bde0b40] NumTileColumns: 1; NumTileRows: 1 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [matroska @ 000002a43a0ce800] get_metadata_duration returned: 0 Output #0, matroska, to 'Georgia_PLC.mkv': Metadata: encoder : Lavf60.20.100 Stream #0:0, 0, 1/1000: Video: hevc, 1 reference frame, p010le(tv, bt2020nc/bt2020/smpte2084, progressive), 7680x4316 (0x0) [SAR 1:1 DAR 1920:1079], 0/1, q=2-31, 1000 kb/s, 25 fps, 1k tbn Metadata: encoder : Lavc60.39.100 hevc_qsv Side data: cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A [out#0/matroska @ 000002a43a0c7280] Starting thread... [out_0_0 @ 000002a442f3fec0] EOF on sink link out_0_0:default. [vf#0:0 @ 000002a43bde3140] Filtergraph returned EOF, finishing [vf#0:0 @ 000002a43bde3140] All consumers returned EOF [libplacebo @ 000002a442f3e0c0] Waiting for remaining commands... [libplacebo @ 000002a442f3e0c0] Memory heaps supported by device: [libplacebo @ 000002a442f3e0c0] 0: flags 0x1 size 5800M [libplacebo @ 000002a442f3e0c0] 1: flags 0x0 size 31G [libplacebo @ 000002a442f3e0c0] 2: flags 0x1 size 256M [libplacebo @ 000002a442f3e0c0] Memory types supported by device: [libplacebo @ 000002a442f3e0c0] 0: flags 0x1 heap 0 [libplacebo @ 000002a442f3e0c0] 1: flags 0x6 heap 1 [libplacebo @ 000002a442f3e0c0] 2: flags 0xe heap 1 [libplacebo @ 000002a442f3e0c0] 3: flags 0x7 heap 2 [libplacebo @ 000002a442f3e0c0] Memory pool 0: [libplacebo @ 000002a442f3e0c0] Compatible types: 0xf [libplacebo @ 000002a442f3e0c0] Optimal flags: 0x1 [libplacebo @ 000002a442f3e0c0] Slab 0: f x 63M: 0 used 0 res 255M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:356] [libplacebo @ 000002a442f3e0c0] Slab 1: ff x 31M: 0 used 0 res 255M alloc from heap 0, efficiency 100.00% [src/renderer.c:1647] [libplacebo @ 000002a442f3e0c0] Slab 2: ff x 32K: 0 used 0 res 256K alloc from heap 0, efficiency 100.00% [src/shaders/sampling.c:1007] [libplacebo @ 000002a442f3e0c0] Slab 3: ff x 63M: 0 used 0 res 510M alloc from heap 0, efficiency 100.00% [src/renderer.c:762] [libplacebo @ 000002a442f3e0c0] Slab 4: f x 255M: 0 used 0 res 1020M alloc from heap 0, efficiency 100.00% [src/renderer.c:762] [libplacebo @ 000002a442f3e0c0] Pool summary: 0 used 0 res 2041M alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000002a442f3e0c0] Memory pool 1: [libplacebo @ 000002a442f3e0c0] Compatible types: 0xffffffff [libplacebo @ 000002a442f3e0c0] Required flags: 0x1 [libplacebo @ 000002a442f3e0c0] Optimal flags: 0x2 [libplacebo @ 000002a442f3e0c0] Buffer flags: 0xc3 [libplacebo @ 000002a442f3e0c0] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:1160] [libplacebo @ 000002a442f3e0c0] Pool summary: 0 used 0 res 255K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000002a442f3e0c0] Memory pool 2: [libplacebo @ 000002a442f3e0c0] Compatible types: 0xffffffff [libplacebo @ 000002a442f3e0c0] Optimal flags: 0x3 [libplacebo @ 000002a442f3e0c0] Buffer flags: 0x3 [libplacebo @ 000002a442f3e0c0] Slab 0: 7fffffff x 8256: 0 used 0 res 249K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 000002a442f3e0c0] Slab 1: 7fff x 16K: 0 used 0 res 241K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 000002a442f3e0c0] Pool summary: 0 used 0 res 491K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 000002a442f3e0c0] Memory summary: 0 used 0 res 2042M alloc, efficiency 100.00%, utilization 0.00%, max page: 362M [libplacebo @ 000002a442f3e0c0] Freeing slab of size 255M Last message repeated 1 times [libplacebo @ 000002a442f3e0c0] Freeing slab of size 256K [libplacebo @ 000002a442f3e0c0] Freeing slab of size 510M [vost#0:0/hevc_qsv @ 000002a43bde0880] Encoder thread received EOF [libplacebo @ 000002a442f3e0c0] Freeing slab of size 1020M [libplacebo @ 000002a442f3e0c0] Freeing slab of size 255K [libplacebo @ 000002a442f3e0c0] Freeing slab of size 249K [libplacebo @ 000002a442f3e0c0] Freeing slab of size 241K [vf#0:0 @ 000002a43bde3140] Terminating thread with return code 0 (success) frame= 0 fps=0.0 q=0.0 size= 0KiB time=N/A bitrate=N/A speed=N/A frame= 0 fps=0.0 q=0.0 size= 0KiB time=N/A bitrate=N/A speed=N/A [vost#0:0/hevc_qsv @ 000002a43bde0880] Terminating thread with return code 0 (success) [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 39(SEI_PREFIX), nuh_layer_id: 0, temporal_id: 0 [hevc_metadata @ 000002a43bde2e40] nal_unit_type: 19(IDR_W_RADL), nuh_layer_id: 0, temporal_id: 0 [matroska @ 000002a43a0ce800] Starting new cluster with timestamp 0 at offset 703 bytes [matroska @ 000002a43a0ce800] Writing block of size 867323 with pts 0, dts -120, duration 40 at relative offset 9 in cluster at offset 703. TrackNumber 1, keyframe 1 [out#0/matroska @ 000002a43a0c7280] All streams finished [out#0/matroska @ 000002a43a0c7280] Terminating thread with return code 0 (success) [matroska @ 000002a43a0ce800] end duration = 40 [matroska @ 000002a43a0ce800] stream 0 end duration = 40 [AVIOContext @ 000002a43bdf16c0] Statistics: 868739 bytes written, 2 seeks, 5 writeouts [out#0/matroska @ 000002a43a0c7280] Output file #0 (Georgia_PLC.mkv): [out#0/matroska @ 000002a43a0c7280] Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (867323 bytes); [out#0/matroska @ 000002a43a0c7280] Total: 1 packets (867323 bytes) muxed [out#0/matroska @ 000002a43a0c7280] video:847KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.087280% frame= 1 fps=0.6 q=-0.0 Lsize= 848KiB time=-00:00:00.12 bitrate=N/A speed=N/A [in#0/obu @ 000002a43a0cda40] Input file #0 (Georgia_1F.obu): [in#0/obu @ 000002a43a0cda40] Input stream #0:0 (video): 1 packets read (834365 bytes); 1 frames decoded; 0 decode errors; [in#0/obu @ 000002a43a0cda40] Total: 1 packets (834365 bytes) demuxed [AVIOContext @ 000002a43a0ce300] Statistics: 834365 bytes read, 0 seeks
Hrxn commented 7 months ago

btw, since when is there a free version of DaVinci Resolve?

mightyhuhn commented 7 months ago

here is ire 30 and ire 10 from the AVS HD 709 - Blu-ray & MP4 Calibration: madVR ire10 mpv ire10 madVR ire30 mpv ire30 these are from calman apl they agreed on IRE 50. gpu and madVR agreed more but also not fully. because the ycbcr-RGB conversation stuff seems perfectly fine maybe level conversion? errors in normalization to 1?

i could switch to the native presentation mode of displaycal instead of madTPG for verification.

screens have been taking after long waiting times because my oled is very very unstable.

Chipcraft commented 7 months ago

I knew it was a fool's errand however, decided to test anyways.

Chipcraft commented 7 months ago

@haasn

Would it be correct to assume that using "libplacebo=format=yuv420p10le" on an input, that is already in yuv420p10le format would result in either a bit-exact output, or at the very least something with a difference below the limit of the human perception?

Even in this case, the output from libplacebo features the same exact issue, as the previous test cases.

ffmpeg -init_hw_device vulkan -s 3840x2160 -r 24000/1001 -pix_fmt yuv420p10le -i Source.yuv -c:v rawvideo -strict -1 -loglevel debug Out-NOP.yuv 2>Out-NOP.txt

Debug log ``` ffmpeg version N-113818-gab2173c0a5 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev5, Built by MSYS2 project) configuration: --enable-libvpl --enable-nvenc --enable-libdav1d --enable-libaom --enable-libx264 --enable-libx265 --enable-libfdk_aac --enable-libopus --enable-libplacebo --enable-libvmaf --enable-libxml2 --enable-openssl --enable-gpl --enable-nonfree --cpu=x86-64-v3 --extra-libs=-lstdc++ libavutil 58. 39.100 / 58. 39.100 libavcodec 60. 40.100 / 60. 40.100 libavformat 60. 21.101 / 60. 21.101 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 17.100 / 9. 17.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Splitting the commandline. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'. Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '3840x2160'. Reading option '-r' ... matched as option 'r' (override input framerate/convert to given output framerate (Hz value, fraction or abbreviation)) with argument '24000/1001'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p10le'. Reading option '-i' ... matched as output url with argument 'Source.yuv'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'rawvideo'. Reading option '-strict' ...Routing option strict to both codec and muxer layer matched as AVOption 'strict' with argument '-1'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option 'Out-NOP.yuv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option init_hw_device (initialise hardware device) with argument vulkan. [AVHWDeviceContext @ 00000211e6a3db80] Supported validation layers: [AVHWDeviceContext @ 00000211e6a3db80] VK_LAYER_VALVE_steam_overlay [AVHWDeviceContext @ 00000211e6a3db80] VK_LAYER_VALVE_steam_fossilize [AVHWDeviceContext @ 00000211e6a3db80] Using instance extension VK_KHR_portability_enumeration [AVHWDeviceContext @ 00000211e6a3db80] GPU listing: [AVHWDeviceContext @ 00000211e6a3db80] 0: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 00000211e6a3db80] Device 0 selected: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 00000211e6a3db80] Queue families: [AVHWDeviceContext @ 00000211e6a3db80] 0: graphics compute transfer sparse (queues: 1) [AVHWDeviceContext @ 00000211e6a3db80] 1: compute (queues: 1) [AVHWDeviceContext @ 00000211e6a3db80] 2: transfer (queues: 1) [AVHWDeviceContext @ 00000211e6a3db80] 3: decode (queues: 2) [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_push_descriptor [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_sampler_ycbcr_conversion [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_EXT_descriptor_buffer [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_EXT_shader_atomic_float [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_cooperative_matrix [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_EXT_external_memory_host [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_external_memory_win32 [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_external_semaphore_win32 [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_video_queue [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_video_decode_queue [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_video_decode_h264 [AVHWDeviceContext @ 00000211e6a3db80] Using device extension VK_KHR_video_decode_h265 [AVHWDeviceContext @ 00000211e6a3db80] Using device: Intel(R) Arc(TM) A380 Graphics [AVHWDeviceContext @ 00000211e6a3db80] Alignments: [AVHWDeviceContext @ 00000211e6a3db80] optimalBufferCopyRowPitchAlignment: 64 [AVHWDeviceContext @ 00000211e6a3db80] minMemoryMapAlignment: 64 [AVHWDeviceContext @ 00000211e6a3db80] nonCoherentAtomSize: 1 [AVHWDeviceContext @ 00000211e6a3db80] minImportedHostPointerAlignment: 4096 [AVHWDeviceContext @ 00000211e6a3db80] Using queue family 0 (queues: 1) for graphics [AVHWDeviceContext @ 00000211e6a3db80] Using queue family 1 (queues: 1) for compute [AVHWDeviceContext @ 00000211e6a3db80] Using queue family 2 (queues: 1) for transfers [AVHWDeviceContext @ 00000211e6a3db80] Using queue family 3 (queues: 2) for decode Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url Source.yuv. Applying option s (set frame size (WxH or abbreviation)) with argument 3840x2160. Applying option r (override input framerate/convert to given output framerate (Hz value, fraction or abbreviation)) with argument 24000/1001. Applying option pix_fmt (set pixel format) with argument yuv420p10le. Successfully parsed a group of options. Opening an input file: Source.yuv. [AVFormatContext @ 00000211e6b8d700] Opening 'Source.yuv' for reading [file @ 00000211e6b8ed80] Setting default whitelist 'file,crypto,data' [rawvideo @ 00000211e6b8d700] Format rawvideo probed with size=2048 and score=50 [rawvideo @ 00000211e6b8d700] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [rawvideo @ 00000211e6b8d700] All info found [rawvideo @ 00000211e6b8d700] Estimating duration from bitrate, this may be inaccurate [rawvideo @ 00000211e6b8d700] After avformat_find_stream_info() pos: 24883200 bytes read:24883200 seeks:0 frames:1 Input #0, rawvideo, from 'Source.yuv': Duration: 00:00:00.04, start: 0.000000, bitrate: 4976640 kb/s Stream #0:0, 1, 1/25: Video: rawvideo, 1 reference frame (Y3[11][10] / 0xA0B3359), yuv420p10le, 3840x2160, 0/1, 4976640 kb/s, 25 tbr, 25 tbn Successfully opened the file. Parsing a group of options: output url Out-NOP.yuv. Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument rawvideo. Successfully parsed a group of options. Opening an output file: Out-NOP.yuv. [out#0/rawvideo @ 00000211e6b87ac0] No explicit maps, mapping streams automatically... [vost#0:0/rawvideo @ 00000211e6a50940] Created video stream from input stream 0:0 [file @ 00000211e6a43980] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native)) [vost#0:0/rawvideo @ 00000211e6a50940] Starting thread... [vf#0:0 @ 00000211e6a3f2c0] Starting thread... [vist#0:0/rawvideo @ 00000211e6a478c0] [dec:rawvideo @ 00000211e6a3f800] Starting thread... [in#0/rawvideo @ 00000211e6b8d400] Starting thread... Press [q] to stop, [?] for help [rawvideo @ 00000211e6a40d00] PACKET SIZE: 24883200, STRIDE: 11520 Truncating packet of size 24883200 to 1 [in#0/rawvideo @ 00000211e6b8d400] EOF while reading input detected 64 logical cores [in#0/rawvideo @ 00000211e6b8d400] Terminating thread with return code 0 (success) [vist#0:0/rawvideo @ 00000211e6a478c0] [dec:rawvideo @ 00000211e6a3f800] Decoder thread received EOF packet [vist#0:0/rawvideo @ 00000211e6a478c0] [dec:rawvideo @ 00000211e6a3f800] Decoder returned EOF, finishing [vist#0:0/rawvideo @ 00000211e6a478c0] [dec:rawvideo @ 00000211e6a3f800] Terminating thread with return code 0 (success) [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'video_size' to value '3840x2160' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'pix_fmt' to value '62' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'time_base' to value '1001/24000' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'colorspace' to value '2' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'range' to value '0' [graph 0 input from stream 0:0 @ 00000211e6a425c0] Setting 'frame_rate' to value '24000/1001' [graph 0 input from stream 0:0 @ 00000211e6a425c0] w:3840 h:2160 pixfmt:yuv420p10le tb:1001/24000 fr:24000/1001 sar:0/1 csp:unknown range:unknown [AVFilterGraph @ 00000211e6a45480] query_formats: 3 queried, 6 merged, 0 already done, 0 delayed [graph 0 input from stream 0:0 @ 00000211e6a425c0] video frame properties congruent with link at pts_time: 0 Output #0, rawvideo, to 'Out-NOP.yuv': Metadata: encoder : Lavf60.21.101 Stream #0:0, 0, 1001/24000: Video: rawvideo, 1 reference frame (Y3[11][10] / 0xA0B3359), yuv420p10le(progressive), 3840x2160, 0/1, q=2-31, 2983000 kb/s, 23.98 fps, 23.98 tbn Metadata: encoder : Lavc60.40.100 rawvideo [out#0/rawvideo @ 00000211e6b87ac0] Starting thread... [out_0_0 @ 00000211e6a42280] EOF on sink link out_0_0:default. [vf#0:0 @ 00000211e6a3f2c0] Filtergraph returned EOF, finishing [vf#0:0 @ 00000211e6a3f2c0] All consumers returned EOF [vost#0:0/rawvideo @ 00000211e6a50940] Encoder thread received EOF [vf#0:0 @ 00000211e6a3f2c0] Terminating thread with return code 0 (success) [vost#0:0/rawvideo @ 00000211e6a50940] Terminating thread with return code 0 (success) [out#0/rawvideo @ 00000211e6b87ac0] All streams finished [out#0/rawvideo @ 00000211e6b87ac0] Terminating thread with return code 0 (success) [AVIOContext @ 00000211e6a91040] Statistics: 24883200 bytes written, 0 seeks, 95 writeouts [out#0/rawvideo @ 00000211e6b87ac0] Output file #0 (Out-NOP.yuv): [out#0/rawvideo @ 00000211e6b87ac0] Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (24883200 bytes); [out#0/rawvideo @ 00000211e6b87ac0] Total: 1 packets (24883200 bytes) muxed [out#0/rawvideo @ 00000211e6b87ac0] video:24300KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.000000% frame= 1 fps=0.0 q=-0.0 Lsize= 24300KiB time=00:00:00.04 bitrate=4772839.7kbits/s speed=2.28x [in#0/rawvideo @ 00000211e6b8d400] Input file #0 (Source.yuv): [in#0/rawvideo @ 00000211e6b8d400] Input stream #0:0 (video): 1 packets read (24883200 bytes); 1 frames decoded; 0 decode errors; [in#0/rawvideo @ 00000211e6b8d400] Total: 1 packets (24883200 bytes) demuxed [AVIOContext @ 00000211e6a46e40] Statistics: 24883200 bytes read, 0 seeks ```

ffmpeg -init_hw_device vulkan -s 3840x2160 -r 24000/1001 -pix_fmt yuv420p10le -i Source.yuv -vf libplacebo=format=yuv420p10le -c:v rawvideo -strict -1 -loglevel debug Out-PLC.yuv 2>Out-PLC.txt

Debug log ``` ffmpeg version N-113818-gab2173c0a5 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13.2.0 (Rev5, Built by MSYS2 project) configuration: --enable-libvpl --enable-nvenc --enable-libdav1d --enable-libaom --enable-libx264 --enable-libx265 --enable-libfdk_aac --enable-libopus --enable-libplacebo --enable-libvmaf --enable-libxml2 --enable-openssl --enable-gpl --enable-nonfree --cpu=x86-64-v3 --extra-libs=-lstdc++ libavutil 58. 39.100 / 58. 39.100 libavcodec 60. 40.100 / 60. 40.100 libavformat 60. 21.101 / 60. 21.101 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 17.100 / 9. 17.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 Splitting the commandline. Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan'. Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '3840x2160'. Reading option '-r' ... matched as option 'r' (override input framerate/convert to given output framerate (Hz value, fraction or abbreviation)) with argument '24000/1001'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p10le'. Reading option '-i' ... matched as output url with argument 'Source.yuv'. Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'libplacebo=format=yuv420p10le'. Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'rawvideo'. Reading option '-strict' ...Routing option strict to both codec and muxer layer matched as AVOption 'strict' with argument '-1'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option 'Out-PLC.yuv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option init_hw_device (initialise hardware device) with argument vulkan. [AVHWDeviceContext @ 0000023f7a85dc80] Supported validation layers: [AVHWDeviceContext @ 0000023f7a85dc80] VK_LAYER_VALVE_steam_overlay [AVHWDeviceContext @ 0000023f7a85dc80] VK_LAYER_VALVE_steam_fossilize [AVHWDeviceContext @ 0000023f7a85dc80] Using instance extension VK_KHR_portability_enumeration [AVHWDeviceContext @ 0000023f7a85dc80] GPU listing: [AVHWDeviceContext @ 0000023f7a85dc80] 0: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 0000023f7a85dc80] Device 0 selected: Intel(R) Arc(TM) A380 Graphics (discrete) (0x56a5) [AVHWDeviceContext @ 0000023f7a85dc80] Queue families: [AVHWDeviceContext @ 0000023f7a85dc80] 0: graphics compute transfer sparse (queues: 1) [AVHWDeviceContext @ 0000023f7a85dc80] 1: compute (queues: 1) [AVHWDeviceContext @ 0000023f7a85dc80] 2: transfer (queues: 1) [AVHWDeviceContext @ 0000023f7a85dc80] 3: decode (queues: 2) [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_push_descriptor [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_sampler_ycbcr_conversion [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_EXT_descriptor_buffer [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_EXT_shader_atomic_float [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_cooperative_matrix [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_EXT_external_memory_host [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_external_memory_win32 [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_external_semaphore_win32 [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_video_queue [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_video_decode_queue [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_video_decode_h264 [AVHWDeviceContext @ 0000023f7a85dc80] Using device extension VK_KHR_video_decode_h265 [AVHWDeviceContext @ 0000023f7a85dc80] Using device: Intel(R) Arc(TM) A380 Graphics [AVHWDeviceContext @ 0000023f7a85dc80] Alignments: [AVHWDeviceContext @ 0000023f7a85dc80] optimalBufferCopyRowPitchAlignment: 64 [AVHWDeviceContext @ 0000023f7a85dc80] minMemoryMapAlignment: 64 [AVHWDeviceContext @ 0000023f7a85dc80] nonCoherentAtomSize: 1 [AVHWDeviceContext @ 0000023f7a85dc80] minImportedHostPointerAlignment: 4096 [AVHWDeviceContext @ 0000023f7a85dc80] Using queue family 0 (queues: 1) for graphics [AVHWDeviceContext @ 0000023f7a85dc80] Using queue family 1 (queues: 1) for compute [AVHWDeviceContext @ 0000023f7a85dc80] Using queue family 2 (queues: 1) for transfers [AVHWDeviceContext @ 0000023f7a85dc80] Using queue family 3 (queues: 2) for decode Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url Source.yuv. Applying option s (set frame size (WxH or abbreviation)) with argument 3840x2160. Applying option r (override input framerate/convert to given output framerate (Hz value, fraction or abbreviation)) with argument 24000/1001. Applying option pix_fmt (set pixel format) with argument yuv420p10le. Successfully parsed a group of options. Opening an input file: Source.yuv. [AVFormatContext @ 0000023f78efd780] Opening 'Source.yuv' for reading [file @ 0000023f78efedc0] Setting default whitelist 'file,crypto,data' [rawvideo @ 0000023f78efd780] Format rawvideo probed with size=2048 and score=50 [rawvideo @ 0000023f78efd780] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [rawvideo @ 0000023f78efd780] All info found [rawvideo @ 0000023f78efd780] Estimating duration from bitrate, this may be inaccurate [rawvideo @ 0000023f78efd780] After avformat_find_stream_info() pos: 24883200 bytes read:24883200 seeks:0 frames:1 Input #0, rawvideo, from 'Source.yuv': Duration: 00:00:00.04, start: 0.000000, bitrate: 4976640 kb/s Stream #0:0, 1, 1/25: Video: rawvideo, 1 reference frame (Y3[11][10] / 0xA0B3359), yuv420p10le, 3840x2160, 0/1, 4976640 kb/s, 25 tbr, 25 tbn Successfully opened the file. Parsing a group of options: output url Out-PLC.yuv. Applying option vf (alias for -filter:v (apply filters to video streams)) with argument libplacebo=format=yuv420p10le. Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument rawvideo. Successfully parsed a group of options. Opening an output file: Out-PLC.yuv. [out#0/rawvideo @ 0000023f78ef7480] No explicit maps, mapping streams automatically... [vost#0:0/rawvideo @ 0000023f7a870a00] Created video stream from input stream 0:0 [AVFilterGraph @ 0000023f7a85f980] Setting 'format' to value 'yuv420p10le' [libplacebo @ 0000023f7a8603c0] Initialized libplacebo v7.346.0 (v6.338.0-85-ge987124b) (API v346) [file @ 0000023f7a8626c0] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native)) [vost#0:0/rawvideo @ 0000023f7a870a00] Starting thread... [vf#0:0 @ 0000023f7a85f440] Starting thread... [vist#0:0/rawvideo @ 0000023f7a867a00] [dec:rawvideo @ 0000023f7a863e80] Starting thread... [in#0/rawvideo @ 0000023f78efd480] Starting thread... Press [q] to stop, [?] for help [rawvideo @ 0000023f7a865280] PACKET SIZE: 24883200, STRIDE: 11520 Truncating packet of size 24883200 to 1 [AVFilterGraph @ 0000023f7a865fc0] Setting 'format' to value 'yuv420p10le' [in#0/rawvideo @ 0000023f78efd480] EOF while reading input detected 64 logical cores [in#0/rawvideo @ 0000023f78efd480] Terminating thread with return code 0 (success) [vist#0:0/rawvideo @ 0000023f7a867a00] [dec:rawvideo @ 0000023f7a863e80] Decoder thread received EOF packet [vist#0:0/rawvideo @ 0000023f7a867a00] [dec:rawvideo @ 0000023f7a863e80] Decoder returned EOF, finishing [vist#0:0/rawvideo @ 0000023f7a867a00] [dec:rawvideo @ 0000023f7a863e80] Terminating thread with return code 0 (success) [libplacebo @ 0000023f7a8b5a40] Initialized libplacebo v7.346.0 (v6.338.0-85-ge987124b) (API v346) [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'video_size' to value '3840x2160' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'pix_fmt' to value '62' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'time_base' to value '1001/24000' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'colorspace' to value '2' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'range' to value '0' [graph 0 input from stream 0:0 @ 0000023f7a861600] Setting 'frame_rate' to value '24000/1001' [graph 0 input from stream 0:0 @ 0000023f7a861600] w:3840 h:2160 pixfmt:yuv420p10le tb:1001/24000 fr:24000/1001 sar:0/1 csp:unknown range:unknown [libplacebo @ 0000023f7a8b5a40] Imported vulkan device properties: [libplacebo @ 0000023f7a8b5a40] Device Name: Intel(R) Arc(TM) A380 Graphics [libplacebo @ 0000023f7a8b5a40] Device ID: 8086:56a5 [libplacebo @ 0000023f7a8b5a40] Device UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 0000023f7a8b5a40] Driver version: 1954d2 [libplacebo @ 0000023f7a8b5a40] API version: 1.3.275 [libplacebo @ 0000023f7a8b5a40] Restricting API version to 1.3.0... new version 1.3.0 [libplacebo @ 0000023f7a8b5a40] Memory heaps supported by device: [libplacebo @ 0000023f7a8b5a40] 0: flags 0x1 size 5800M [libplacebo @ 0000023f7a8b5a40] 1: flags 0x0 size 31G [libplacebo @ 0000023f7a8b5a40] 2: flags 0x1 size 256M [libplacebo @ 0000023f7a8b5a40] Memory types supported by device: [libplacebo @ 0000023f7a8b5a40] 0: flags 0x1 heap 0 [libplacebo @ 0000023f7a8b5a40] 1: flags 0x6 heap 1 [libplacebo @ 0000023f7a8b5a40] 2: flags 0xe heap 1 [libplacebo @ 0000023f7a8b5a40] 3: flags 0x7 heap 2 [libplacebo @ 0000023f7a8b5a40] Memory summary: 0 used 0 res 0 alloc, efficiency 100.00%, utilization 100.00%, max page: 362M [libplacebo @ 0000023f7a8b5a40] shaderc SPIR-V version 1.6 rev 1 [libplacebo @ 0000023f7a8b5a40] Initialized SPIR-V compiler 'shaderc' [libplacebo @ 0000023f7a8b5a40] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 0000023f7a8b5a40] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not exportable [libplacebo @ 0000023f7a8b5a40] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) is not importable [libplacebo @ 0000023f7a8b5a40] Handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT (0x10) is not exportable [libplacebo @ 0000023f7a8b5a40] Tex caps for VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT (0x4) unsupported: VK_ERROR_FORMAT_NOT_SUPPORTED Last message repeated 1 times [libplacebo @ 0000023f7a8b5a40] Minimum texel alignment: 48 [libplacebo @ 0000023f7a8b5a40] GPU information: [libplacebo @ 0000023f7a8b5a40] GLSL version: 450 (vulkan) [libplacebo @ 0000023f7a8b5a40] max_shmem_size: 32768 [libplacebo @ 0000023f7a8b5a40] max_group_threads: 1024 [libplacebo @ 0000023f7a8b5a40] max_group_size[0]: 1024 [libplacebo @ 0000023f7a8b5a40] max_group_size[1]: 1024 [libplacebo @ 0000023f7a8b5a40] max_group_size[2]: 64 [libplacebo @ 0000023f7a8b5a40] subgroup_size: 32 [libplacebo @ 0000023f7a8b5a40] min_gather_offset: -32 [libplacebo @ 0000023f7a8b5a40] max_gather_offset: 31 [libplacebo @ 0000023f7a8b5a40] Limits: [libplacebo @ 0000023f7a8b5a40] thread_safe: 1 [libplacebo @ 0000023f7a8b5a40] callbacks: 1 [libplacebo @ 0000023f7a8b5a40] max_buf_size: 34290857984 [libplacebo @ 0000023f7a8b5a40] max_ubo_size: 134217724 [libplacebo @ 0000023f7a8b5a40] max_ssbo_size: 1073741820 [libplacebo @ 0000023f7a8b5a40] max_vbo_size: 6081740800 [libplacebo @ 0000023f7a8b5a40] max_mapped_size: 34290857984 [libplacebo @ 0000023f7a8b5a40] max_buffer_texels: 134217728 [libplacebo @ 0000023f7a8b5a40] align_host_ptr: 4096 [libplacebo @ 0000023f7a8b5a40] host_cached: 1 [libplacebo @ 0000023f7a8b5a40] max_tex_1d_dim: 16384 [libplacebo @ 0000023f7a8b5a40] max_tex_2d_dim: 16384 [libplacebo @ 0000023f7a8b5a40] max_tex_3d_dim: 2048 [libplacebo @ 0000023f7a8b5a40] blittable_1d_3d: 1 [libplacebo @ 0000023f7a8b5a40] buf_transfer: 1 [libplacebo @ 0000023f7a8b5a40] align_tex_xfer_pitch: 64 [libplacebo @ 0000023f7a8b5a40] align_tex_xfer_offset: 64 [libplacebo @ 0000023f7a8b5a40] max_variable_comps: 0 [libplacebo @ 0000023f7a8b5a40] max_constants: 18446744073709551615 [libplacebo @ 0000023f7a8b5a40] max_pushc_size: 256 [libplacebo @ 0000023f7a8b5a40] align_vertex_stride: 1 [libplacebo @ 0000023f7a8b5a40] max_dispatch[0]: 65536 [libplacebo @ 0000023f7a8b5a40] max_dispatch[1]: 65536 [libplacebo @ 0000023f7a8b5a40] max_dispatch[2]: 65536 [libplacebo @ 0000023f7a8b5a40] fragment_queues: 1 [libplacebo @ 0000023f7a8b5a40] compute_queues: 1 [libplacebo @ 0000023f7a8b5a40] External API interop: [libplacebo @ 0000023f7a8b5a40] UUID: 86:80:A5:56:05:00:00:00:03:00:00:00:00:00:00:00 [libplacebo @ 0000023f7a8b5a40] PCI: 0000:00:00:0 [libplacebo @ 0000023f7a8b5a40] buf export caps: 0x2 [libplacebo @ 0000023f7a8b5a40] buf import caps: 0x12 [libplacebo @ 0000023f7a8b5a40] tex export caps: 0x2 [libplacebo @ 0000023f7a8b5a40] tex import caps: 0x12 [libplacebo @ 0000023f7a8b5a40] sync export caps: 0x2 [libplacebo @ 0000023f7a8b5a40] sync import caps: 0x0 [libplacebo @ 0000023f7a8b5a40] GPU texture formats: [libplacebo @ 0000023f7a8b5a40] NAME TYPE SIZE COMP CAPS EMU DEPTH HOST_BITS GLSL_TYPE GLSL_FMT FOURCC [libplacebo @ 0000023f7a8b5a40] r8 UNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8 R8 [libplacebo @ 0000023f7a8b5a40] r8s SNORM 1 R SsLRbBVutHWG n {8 0 0 0 } {8 0 0 0 } float r8_snorm [libplacebo @ 0000023f7a8b5a40] rg8 UNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8 GR88 [libplacebo @ 0000023f7a8b5a40] rg8s SNORM 2 RG SsLRbBVutHWG n {8 8 0 0 } {8 8 0 0 } vec2 rg8_snorm [libplacebo @ 0000023f7a8b5a40] rgba8 UNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AB24 [libplacebo @ 0000023f7a8b5a40] rgba8s SNORM 4 RGBA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8_snorm [libplacebo @ 0000023f7a8b5a40] bgra8 UNORM 4 BGRA SsLRbBVutHWG n {8 8 8 8 } {8 8 8 8 } vec4 rgba8 AR24 [libplacebo @ 0000023f7a8b5a40] rgb10a2 UNORM 4 RGBA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AB30 [libplacebo @ 0000023f7a8b5a40] bgr10a2 UNORM 4 BGRA SsLRbBVutHWG n {10 10 10 2 } {10 10 10 2 } vec4 rgb10_a2 AR30 [libplacebo @ 0000023f7a8b5a40] r16 UNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16 R16 [libplacebo @ 0000023f7a8b5a40] r16hf FLOAT 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16f [libplacebo @ 0000023f7a8b5a40] r16s SNORM 2 R SsLRbBVutHWG n {16 0 0 0 } {16 0 0 0 } float r16_snorm [libplacebo @ 0000023f7a8b5a40] rg16 UNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16 GR32 [libplacebo @ 0000023f7a8b5a40] rg16hf FLOAT 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16f [libplacebo @ 0000023f7a8b5a40] rg16s SNORM 4 RG SsLRbBVutHWG n {16 16 0 0 } {16 16 0 0 } vec2 rg16_snorm [libplacebo @ 0000023f7a8b5a40] rgba16 UNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16 [libplacebo @ 0000023f7a8b5a40] rgba16hf FLOAT 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16f AB4H [libplacebo @ 0000023f7a8b5a40] rgba16s SNORM 8 RGBA SsLRbBVutHWG n {16 16 16 16} {16 16 16 16} vec4 rgba16_snorm [libplacebo @ 0000023f7a8b5a40] r32f FLOAT 4 R SsLRbBVutHWG n {32 0 0 0 } {32 0 0 0 } float r32f [libplacebo @ 0000023f7a8b5a40] rg32f FLOAT 8 RG SsLRbBVutHWG n {32 32 0 0 } {32 32 0 0 } vec2 rg32f [libplacebo @ 0000023f7a8b5a40] rgba32f FLOAT 16 RGBA SsLRbBVutHWG n {32 32 32 32} {32 32 32 32} vec4 rgba32f [libplacebo @ 0000023f7a8b5a40] rgb565 UNORM 2 RGB SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 BG16 [libplacebo @ 0000023f7a8b5a40] bgr5a1 UNORM 2 BGRA SsLRbB-utHWG n {5 5 5 1 } {5 5 5 1 } vec4 AR15 [libplacebo @ 0000023f7a8b5a40] bgr565 UNORM 2 BGR SsLRbB-utHWG n {5 6 5 0 } {5 6 5 0 } vec3 RG16 [libplacebo @ 0000023f7a8b5a40] r8i SINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } int r8i [libplacebo @ 0000023f7a8b5a40] r8u UINT 1 R Ss-R-BVutHWG n {8 0 0 0 } {8 0 0 0 } uint r8ui [libplacebo @ 0000023f7a8b5a40] rg8i SINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } ivec2 rg8i [libplacebo @ 0000023f7a8b5a40] rg8u UINT 2 RG Ss-R-BVutHWG n {8 8 0 0 } {8 8 0 0 } uvec2 rg8ui [libplacebo @ 0000023f7a8b5a40] rgba8i SINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } ivec4 rgba8i [libplacebo @ 0000023f7a8b5a40] rgba8u UINT 4 RGBA Ss-R-BVutHWG n {8 8 8 8 } {8 8 8 8 } uvec4 rgba8ui [libplacebo @ 0000023f7a8b5a40] rgb10a2u UINT 4 RGBA Ss-R-BVutHWG n {10 10 10 2 } {10 10 10 2 } uvec4 rgb10_a2ui [libplacebo @ 0000023f7a8b5a40] r16i SINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } int r16i [libplacebo @ 0000023f7a8b5a40] r16u UINT 2 R Ss-R-BVutHWG n {16 0 0 0 } {16 0 0 0 } uint r16ui [libplacebo @ 0000023f7a8b5a40] rg16i SINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } ivec2 rg16i [libplacebo @ 0000023f7a8b5a40] rg16u UINT 4 RG Ss-R-BVutHWG n {16 16 0 0 } {16 16 0 0 } uvec2 rg16ui [libplacebo @ 0000023f7a8b5a40] rgba16i SINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} ivec4 rgba16i [libplacebo @ 0000023f7a8b5a40] rgba16u UINT 8 RGBA Ss-R-BVutHWG n {16 16 16 16} {16 16 16 16} uvec4 rgba16ui [libplacebo @ 0000023f7a8b5a40] r32i SINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } int r32i [libplacebo @ 0000023f7a8b5a40] r32u UINT 4 R Ss-R-BVutHWG n {32 0 0 0 } {32 0 0 0 } uint r32ui [libplacebo @ 0000023f7a8b5a40] rg32i SINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } ivec2 rg32i [libplacebo @ 0000023f7a8b5a40] rg32u UINT 8 RG Ss-R-BVutHWG n {32 32 0 0 } {32 32 0 0 } uvec2 rg32ui [libplacebo @ 0000023f7a8b5a40] rgba32i SINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} ivec4 rgba32i [libplacebo @ 0000023f7a8b5a40] rgba32u UINT 16 RGBA Ss-R-BVutHWG n {32 32 32 32} {32 32 32 32} uvec4 rgba32ui [libplacebo @ 0000023f7a8b5a40] a1bgr5 UNORM 2 ABGR S-LRbB-u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 RA15 [libplacebo @ 0000023f7a8b5a40] argb4 UNORM 2 ARGB S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 BA12 [libplacebo @ 0000023f7a8b5a40] abgr4 UNORM 2 ABGR S-LRbB-u-H-G n {4 4 4 4 } {4 4 4 4 } vec4 RA12 [libplacebo @ 0000023f7a8b5a40] a1rgb5 UNORM 2 ARGB S-LR---u-H-G n {1 5 5 5 } {1 5 5 5 } vec4 BA15 [libplacebo @ 0000023f7a8b5a40] rgb8 UNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 BG24 [libplacebo @ 0000023f7a8b5a40] rgb8s SNORM 3 RGB S-L---Vu-H-G n {8 8 8 0 } {8 8 8 0 } vec3 [libplacebo @ 0000023f7a8b5a40] rgb16 UNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 0000023f7a8b5a40] rgb16hf FLOAT 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 0000023f7a8b5a40] rgb16s SNORM 6 RGB S-L---Vu-H-G n {16 16 16 0 } {16 16 16 0 } vec3 [libplacebo @ 0000023f7a8b5a40] rgb32f FLOAT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } vec3 [libplacebo @ 0000023f7a8b5a40] rgb32i SINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } ivec3 [libplacebo @ 0000023f7a8b5a40] rgb32u UINT 12 RGB S-----Vu-H-G n {32 32 32 0 } {32 32 32 0 } uvec3 [libplacebo @ 0000023f7a8b5a40] rgb8i SINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } ivec3 [libplacebo @ 0000023f7a8b5a40] rgb8u UINT 3 RGB S-----V--H-G n {8 8 8 0 } {8 8 8 0 } uvec3 [libplacebo @ 0000023f7a8b5a40] rgb10a2i SINT 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 0000023f7a8b5a40] rgb10a2s SNORM 4 RGBA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 0000023f7a8b5a40] bgr10a2i SINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } ivec4 [libplacebo @ 0000023f7a8b5a40] bgr10a2s SNORM 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } vec4 [libplacebo @ 0000023f7a8b5a40] bgr10a2u UINT 4 BGRA ------V--H-- n {10 10 10 2 } {10 10 10 2 } uvec4 [libplacebo @ 0000023f7a8b5a40] rgb16i SINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } ivec3 [libplacebo @ 0000023f7a8b5a40] rgb16u UINT 6 RGB ------V--H-- n {16 16 16 0 } {16 16 16 0 } uvec3 [libplacebo @ 0000023f7a8b5a40] gr4 UNORM 1 GR ---------H-- n {4 4 0 0 } {4 4 0 0 } [libplacebo @ 0000023f7a8b5a40] bgr8 UNORM 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } RG24 [libplacebo @ 0000023f7a8b5a40] bgr8i SINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 0000023f7a8b5a40] bgr8u UINT 3 BGR ---------H-- n {8 8 8 0 } {8 8 8 0 } [libplacebo @ 0000023f7a8b5a40] bgra8i SINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 0000023f7a8b5a40] bgra8u UINT 4 BGRA ---------H-- n {8 8 8 8 } {8 8 8 8 } [libplacebo @ 0000023f7a8b5a40] rx10 UNORM 2 R ---------H-- n {10 0 0 0 } {16 0 0 0 } [libplacebo @ 0000023f7a8b5a40] rxgx10 UNORM 4 RG ---------H-- n {10 10 0 0 } {16 16 0 0 } [libplacebo @ 0000023f7a8b5a40] rx12 UNORM 2 R ---------H-- n {12 0 0 0 } {16 0 0 0 } [libplacebo @ 0000023f7a8b5a40] rxgx12 UNORM 4 RG ---------H-- n {12 12 0 0 } {16 16 0 0 } [libplacebo @ 0000023f7a8b5a40] r16f FLOAT 4 R SsLRbB---HWG y {16 0 0 0 } {32 0 0 0 } r16f [libplacebo @ 0000023f7a8b5a40] rg16f FLOAT 8 RG SsLRbB---HWG y {16 16 0 0 } {32 32 0 0 } rg16f [libplacebo @ 0000023f7a8b5a40] rgba16f FLOAT 16 RGBA SsLRbB---HWG y {16 16 16 16} {32 32 32 32} rgba16f [libplacebo @ 0000023f7a8b5a40] rgb16f FLOAT 12 RGB S-L------H-G y {16 16 16 0 } {32 32 32 0 } [libplacebo @ 0000023f7a8b5a40] g8_b8_r8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU12 [libplacebo @ 0000023f7a8b5a40] g8_b8_r8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU16 [libplacebo @ 0000023f7a8b5a40] g8_b8_r8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } YU24 [libplacebo @ 0000023f7a8b5a40] g8_br8_420 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV12 [libplacebo @ 0000023f7a8b5a40] g8_br8_422 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV16 [libplacebo @ 0000023f7a8b5a40] g8_br8_444 UNORM 0 ------------ n {8 8 8 0 } {0 0 0 0 } NV24 [libplacebo @ 0000023f7a8b5a40] gx10_bx10_rx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx10_bx10_rx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx10_bx10_rx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } Q410 [libplacebo @ 0000023f7a8b5a40] gx10_bxrx10_420 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P010 [libplacebo @ 0000023f7a8b5a40] gx10_bxrx10_422 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } P210 [libplacebo @ 0000023f7a8b5a40] gx10_bxrx10_444 UNORM 0 ------------ n {10 10 10 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx12_bx12_rx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx12_bx12_rx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx12_bx12_rx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx12_bxrx12_420 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } P012 [libplacebo @ 0000023f7a8b5a40] gx12_bxrx12_422 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] gx12_bxrx12_444 UNORM 0 ------------ n {12 12 12 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] g16_b16_r16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] g16_b16_r16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] g16_b16_r16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] g16_br16_420 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } P016 [libplacebo @ 0000023f7a8b5a40] g16_br16_422 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [libplacebo @ 0000023f7a8b5a40] g16_br16_444 UNORM 0 ------------ n {16 16 16 0 } {0 0 0 0 } [AVFilterGraph @ 0000023f7a865fc0] query_formats: 3 queried, 6 merged, 0 already done, 0 delayed [graph 0 input from stream 0:0 @ 0000023f7a861600] video frame properties congruent with link at pts_time: 0 [libplacebo @ 0000023f7a8b5a40] (Re)creating 3840x2160x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Allocating 67108864 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Spent 0.254 ms allocating slab [libplacebo @ 0000023f7a8b5a40] Imported host pointer is not page-aligned. This should normally be fine on most platforms, but may cause issues in some rare circumstances. [libplacebo @ 0000023f7a8b5a40] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Allocating 16728064 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Spent 0.080 ms allocating slab [libplacebo @ 0000023f7a8b5a40] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] (Re)creating 3840x2160x0 texture with format r16: ../src/utils/upload.c:356 [libplacebo @ 0000023f7a8b5a40] (Re)creating 1920x1080x0 texture with format r16: ../src/utils/upload.c:356 Last message repeated 1 times [libplacebo @ 0000023f7a8b5a40] (Re)creating 1920x1080x0 texture with format rg16: src/renderer.c:1652 [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 0000023f7a8b5a40] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 0000023f7a8b5a40] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(location=0) in vec2 _7; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(location=1) in vec2 _8; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(location=1) out vec2 _8003; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(location=2) in vec2 _9; [libplacebo @ 0000023f7a8b5a40] [ 19] void main() { [libplacebo @ 0000023f7a8b5a40] [ 20] _3 = _7; [libplacebo @ 0000023f7a8b5a40] [ 21] _8003 = _8; [libplacebo @ 0000023f7a8b5a40] [ 22] vec2 va_pos = _9; [libplacebo @ 0000023f7a8b5a40] [ 23] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 24] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 0000023f7a8b5a40] [ 11] layout(constant_id=1) const float _8004 = 1; [libplacebo @ 0000023f7a8b5a40] [ 12] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(binding=1) uniform sampler2D _8002; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(location=1) in vec2 _8003; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 17] [libplacebo @ 0000023f7a8b5a40] [ 18] vec4 _8001() { [libplacebo @ 0000023f7a8b5a40] [ 19] // pl_shader_sample_direct [libplacebo @ 0000023f7a8b5a40] [ 20] vec4 color = vec4(_8004) * textureLod(_8002, _8003, 0.0); [libplacebo @ 0000023f7a8b5a40] [ 21] return color; [libplacebo @ 0000023f7a8b5a40] [ 22] } [libplacebo @ 0000023f7a8b5a40] [ 23] [libplacebo @ 0000023f7a8b5a40] [ 24] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 25] // pl_shader_sample_direct [libplacebo @ 0000023f7a8b5a40] [ 26] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 0000023f7a8b5a40] [ 27] { [libplacebo @ 0000023f7a8b5a40] [ 28] vec4 tmp = _8001(); [libplacebo @ 0000023f7a8b5a40] [ 29] color[1] = tmp[0]; [libplacebo @ 0000023f7a8b5a40] [ 30] } [libplacebo @ 0000023f7a8b5a40] [ 31] return color; [libplacebo @ 0000023f7a8b5a40] [ 32] } [libplacebo @ 0000023f7a8b5a40] [ 33] [libplacebo @ 0000023f7a8b5a40] [ 34] void main() { [libplacebo @ 0000023f7a8b5a40] [ 35] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 36] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 1.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 1.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 72.831 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.896 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.014 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.558 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] Allocating 261888 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:1160 [libplacebo @ 0000023f7a8b5a40] Spent 0.403 ms allocating slab [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 0.000 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] Allocating 262144 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Spent 0.041 ms allocating slab [libplacebo @ 0000023f7a8b5a40] Allocating 261888 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 0000023f7a8b5a40] Spent 0.567 ms allocating slab [libplacebo @ 0000023f7a8b5a40] (Re)creating 3840x2160x0 texture with format rgba16hf: src/renderer.c:2514 [libplacebo @ 0000023f7a8b5a40] Allocating 267649024 memory of type 0x1 (id 0) in heap 0: ../src/utils/upload.c:245 [libplacebo @ 0000023f7a8b5a40] Spent 0.673 ms allocating slab [libplacebo @ 0000023f7a8b5a40] compute shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_ARB_compute_shader : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 10] #extension GL_ARB_shader_image_load_store : enable [libplacebo @ 0000023f7a8b5a40] [ 11] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 12] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 13] layout(offset=0) vec2 _2004; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(offset=16) vec3 _4005; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(offset=32) vec3 _4007; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(offset=48) vec2 _4008; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(offset=56) vec2 _4009; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(offset=64) vec2 _400a; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(offset=72) vec2 _400b; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(offset=80) vec2 _400c; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(offset=88) vec2 _400d; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(offset=96) vec2 _400e; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(offset=104) vec2 _400f; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(offset=112) vec2 _4010; [libplacebo @ 0000023f7a8b5a40] [ 25] layout(offset=120) ivec2 _4012; [libplacebo @ 0000023f7a8b5a40] [ 26] layout(offset=128) mat3 _4004; [libplacebo @ 0000023f7a8b5a40] [ 27] layout(offset=176) mat3 _4006; [libplacebo @ 0000023f7a8b5a40] [ 28] }; [libplacebo @ 0000023f7a8b5a40] [ 29] layout(constant_id=0) const float _4002 = 1; [libplacebo @ 0000023f7a8b5a40] [ 30] layout(constant_id=1) const float _4003 = 1; [libplacebo @ 0000023f7a8b5a40] [ 31] layout(constant_id=2) const float _c004 = 1; [libplacebo @ 0000023f7a8b5a40] [ 32] layout(constant_id=3) const float _2005 = 1; [libplacebo @ 0000023f7a8b5a40] [ 33] layout(constant_id=4) const float _2009 = 1; [libplacebo @ 0000023f7a8b5a40] [ 34] layout(constant_id=5) const float _200a = 1; [libplacebo @ 0000023f7a8b5a40] [ 35] layout(constant_id=6) const float _200b = 1; [libplacebo @ 0000023f7a8b5a40] [ 36] layout(constant_id=7) const int _200d = 1; [libplacebo @ 0000023f7a8b5a40] [ 37] layout(constant_id=8) const int _200e = 1; [libplacebo @ 0000023f7a8b5a40] [ 38] layout(constant_id=9) const float _200f = 1; [libplacebo @ 0000023f7a8b5a40] [ 39] layout(binding=0) uniform sampler2D _c002; [libplacebo @ 0000023f7a8b5a40] [ 40] layout(binding=1) uniform sampler2D _2002; [libplacebo @ 0000023f7a8b5a40] [ 41] layout(binding=2) uniform sampler1D _2007; [libplacebo @ 0000023f7a8b5a40] [ 42] layout(binding=3, rgba16f) writeonly restrict uniform image2D _4011; [libplacebo @ 0000023f7a8b5a40] [ 43] layout (local_size_x = 32, local_size_y = 32) in; [libplacebo @ 0000023f7a8b5a40] [ 44] #define frag_pos(id) (vec2(id) + vec2(0.5)) [libplacebo @ 0000023f7a8b5a40] [ 45] #define frag_map(id) (_4008 * frag_pos(id)) [libplacebo @ 0000023f7a8b5a40] [ 46] #define gl_FragCoord vec4(frag_pos(gl_GlobalInvocationID), 0.0, 1.0) [libplacebo @ 0000023f7a8b5a40] [ 47] #define _c003_map(id) (mix(mix(_4009, _400a, frag_map(id).x), mix(_400b, _400c, frag_map(id).x), frag_map(id).y)) [libplacebo @ 0000023f7a8b5a40] [ 48] #define _c003 (_c003_map(gl_GlobalInvocationID)) [libplacebo @ 0000023f7a8b5a40] [ 49] #define _2003_map(id) (mix(mix(_400d, _400e, frag_map(id).x), mix(_400f, _4010, frag_map(id).x), frag_map(id).y)) [libplacebo @ 0000023f7a8b5a40] [ 50] #define _2003 (_2003_map(gl_GlobalInvocationID)) [libplacebo @ 0000023f7a8b5a40] [ 51] [libplacebo @ 0000023f7a8b5a40] [ 52] vec4 _c001() { [libplacebo @ 0000023f7a8b5a40] [ 53] // pl_shader_sample_direct [libplacebo @ 0000023f7a8b5a40] [ 54] vec4 color = vec4(_c004) * textureLod(_c002, _c003, 0.0); [libplacebo @ 0000023f7a8b5a40] [ 55] return color; [libplacebo @ 0000023f7a8b5a40] [ 56] } [libplacebo @ 0000023f7a8b5a40] [ 57] [libplacebo @ 0000023f7a8b5a40] [ 58] #define _2008(x) (_200a * (x) + _2009) [libplacebo @ 0000023f7a8b5a40] [ 59] #define _2006(pos) (textureLod(_2007, float(\ [libplacebo @ 0000023f7a8b5a40] [ 60] _2008(float(pos))\ [libplacebo @ 0000023f7a8b5a40] [ 61] ), 0.0).x) [libplacebo @ 0000023f7a8b5a40] [ 62] shared vec2 _200c_base; [libplacebo @ 0000023f7a8b5a40] [ 63] shared float _200c_0[_200e * _200d]; [libplacebo @ 0000023f7a8b5a40] [ 64] shared float _200c_1[_200e * _200d]; [libplacebo @ 0000023f7a8b5a40] [ 65] vec4 _2001() { [libplacebo @ 0000023f7a8b5a40] [ 66] // pl_shader_sample_polar [libplacebo @ 0000023f7a8b5a40] [ 67] vec4 color = vec4(0.0); [libplacebo @ 0000023f7a8b5a40] [ 68] { [libplacebo @ 0000023f7a8b5a40] [ 69] vec2 pos = _2003, pt = _2004; [libplacebo @ 0000023f7a8b5a40] [ 70] vec2 size = vec2(textureSize(_2002, 0)); [libplacebo @ 0000023f7a8b5a40] [ 71] vec2 fcoord = fract(pos * size - vec2(0.5)); [libplacebo @ 0000023f7a8b5a40] [ 72] vec2 base = pos - pt * fcoord; [libplacebo @ 0000023f7a8b5a40] [ 73] vec2 center = base + pt * vec2(0.5); [libplacebo @ 0000023f7a8b5a40] [ 74] ivec2 offset; [libplacebo @ 0000023f7a8b5a40] [ 75] float w, d, wsum = 0.0; [libplacebo @ 0000023f7a8b5a40] [ 76] int idx; [libplacebo @ 0000023f7a8b5a40] [ 77] vec4 c; [libplacebo @ 0000023f7a8b5a40] [ 78] uvec2 base_id = uvec2(0u); [libplacebo @ 0000023f7a8b5a40] [ 79] if (gl_LocalInvocationID.xy == base_id) [libplacebo @ 0000023f7a8b5a40] [ 80] _200c_base = base; [libplacebo @ 0000023f7a8b5a40] [ 81] barrier(); [libplacebo @ 0000023f7a8b5a40] [ 82] ivec2 rel = ivec2(round((base - _200c_base) * size)); [libplacebo @ 0000023f7a8b5a40] [ 83] for (int y = int(gl_LocalInvocationID.y); y < _200e; y += 32) { [libplacebo @ 0000023f7a8b5a40] [ 84] for (int x = int(gl_LocalInvocationID.x); x < _200d; x += 32) { [libplacebo @ 0000023f7a8b5a40] [ 85] c = textureLod(_2002, _200c_base + pt * vec2(x - 3, y - 3), 0.0); [libplacebo @ 0000023f7a8b5a40] [ 86] _200c_0[_200d * y + x] = c[0]; [libplacebo @ 0000023f7a8b5a40] [ 87] _200c_1[_200d * y + x] = c[1]; [libplacebo @ 0000023f7a8b5a40] [ 88] }} [libplacebo @ 0000023f7a8b5a40] [ 89] barrier(); [libplacebo @ 0000023f7a8b5a40] [ 90] idx = _200d * rel.y + rel.x + _200d * 0 + 0; [libplacebo @ 0000023f7a8b5a40] [ 91] idx = _200d * rel.y + rel.x + _200d * 0 + 1; [libplacebo @ 0000023f7a8b5a40] [ 92] idx = _200d * rel.y + rel.x + _200d * 0 + 2; [libplacebo @ 0000023f7a8b5a40] [ 93] idx = _200d * rel.y + rel.x + _200d * 0 + 3; [libplacebo @ 0000023f7a8b5a40] [ 94] offset = ivec2(0, -3); [libplacebo @ 0000023f7a8b5a40] [ 95] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [ 96] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [ 97] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [ 98] wsum += w; [libplacebo @ 0000023f7a8b5a40] [ 99] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [100] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [101] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [102] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [103] } [libplacebo @ 0000023f7a8b5a40] [104] idx = _200d * rel.y + rel.x + _200d * 0 + 4; [libplacebo @ 0000023f7a8b5a40] [105] offset = ivec2(1, -3); [libplacebo @ 0000023f7a8b5a40] [106] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [107] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [108] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [109] wsum += w; [libplacebo @ 0000023f7a8b5a40] [110] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [111] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [112] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [113] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [114] } [libplacebo @ 0000023f7a8b5a40] [115] idx = _200d * rel.y + rel.x + _200d * 0 + 5; [libplacebo @ 0000023f7a8b5a40] [116] idx = _200d * rel.y + rel.x + _200d * 0 + 6; [libplacebo @ 0000023f7a8b5a40] [117] idx = _200d * rel.y + rel.x + _200d * 0 + 7; [libplacebo @ 0000023f7a8b5a40] [118] idx = _200d * rel.y + rel.x + _200d * 1 + 0; [libplacebo @ 0000023f7a8b5a40] [119] idx = _200d * rel.y + rel.x + _200d * 1 + 1; [libplacebo @ 0000023f7a8b5a40] [120] offset = ivec2(-2, -2); [libplacebo @ 0000023f7a8b5a40] [121] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [122] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [123] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [124] wsum += w; [libplacebo @ 0000023f7a8b5a40] [125] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [126] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [127] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [128] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [129] } [libplacebo @ 0000023f7a8b5a40] [130] idx = _200d * rel.y + rel.x + _200d * 1 + 2; [libplacebo @ 0000023f7a8b5a40] [131] offset = ivec2(-1, -2); [libplacebo @ 0000023f7a8b5a40] [132] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [133] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [134] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [135] wsum += w; [libplacebo @ 0000023f7a8b5a40] [136] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [137] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [138] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [139] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [140] } [libplacebo @ 0000023f7a8b5a40] [141] idx = _200d * rel.y + rel.x + _200d * 1 + 3; [libplacebo @ 0000023f7a8b5a40] [142] offset = ivec2(0, -2); [libplacebo @ 0000023f7a8b5a40] [143] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [144] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [145] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [146] wsum += w; [libplacebo @ 0000023f7a8b5a40] [147] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [148] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [149] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [150] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [151] } [libplacebo @ 0000023f7a8b5a40] [152] idx = _200d * rel.y + rel.x + _200d * 1 + 4; [libplacebo @ 0000023f7a8b5a40] [153] offset = ivec2(1, -2); [libplacebo @ 0000023f7a8b5a40] [154] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [155] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [156] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [157] wsum += w; [libplacebo @ 0000023f7a8b5a40] [158] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [159] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [160] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [161] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [162] } [libplacebo @ 0000023f7a8b5a40] [163] idx = _200d * rel.y + rel.x + _200d * 1 + 5; [libplacebo @ 0000023f7a8b5a40] [164] offset = ivec2(2, -2); [libplacebo @ 0000023f7a8b5a40] [165] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [166] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [167] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [168] wsum += w; [libplacebo @ 0000023f7a8b5a40] [169] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [170] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [171] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [172] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [173] } [libplacebo @ 0000023f7a8b5a40] [174] idx = _200d * rel.y + rel.x + _200d * 1 + 6; [libplacebo @ 0000023f7a8b5a40] [175] offset = ivec2(3, -2); [libplacebo @ 0000023f7a8b5a40] [176] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [177] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [178] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [179] wsum += w; [libplacebo @ 0000023f7a8b5a40] [180] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [181] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [182] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [183] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [184] } [libplacebo @ 0000023f7a8b5a40] [185] idx = _200d * rel.y + rel.x + _200d * 1 + 7; [libplacebo @ 0000023f7a8b5a40] [186] idx = _200d * rel.y + rel.x + _200d * 2 + 0; [libplacebo @ 0000023f7a8b5a40] [187] idx = _200d * rel.y + rel.x + _200d * 2 + 1; [libplacebo @ 0000023f7a8b5a40] [188] offset = ivec2(-2, -1); [libplacebo @ 0000023f7a8b5a40] [189] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [190] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [191] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [192] wsum += w; [libplacebo @ 0000023f7a8b5a40] [193] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [194] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [195] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [196] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [197] } [libplacebo @ 0000023f7a8b5a40] [198] idx = _200d * rel.y + rel.x + _200d * 2 + 2; [libplacebo @ 0000023f7a8b5a40] [199] offset = ivec2(-1, -1); [libplacebo @ 0000023f7a8b5a40] [200] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [201] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [202] wsum += w; [libplacebo @ 0000023f7a8b5a40] [203] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [204] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [205] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [206] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [207] idx = _200d * rel.y + rel.x + _200d * 2 + 3; [libplacebo @ 0000023f7a8b5a40] [208] offset = ivec2(0, -1); [libplacebo @ 0000023f7a8b5a40] [209] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [210] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [211] wsum += w; [libplacebo @ 0000023f7a8b5a40] [212] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [213] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [214] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [215] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [216] idx = _200d * rel.y + rel.x + _200d * 2 + 4; [libplacebo @ 0000023f7a8b5a40] [217] offset = ivec2(1, -1); [libplacebo @ 0000023f7a8b5a40] [218] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [219] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [220] wsum += w; [libplacebo @ 0000023f7a8b5a40] [221] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [222] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [223] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [224] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [225] idx = _200d * rel.y + rel.x + _200d * 2 + 5; [libplacebo @ 0000023f7a8b5a40] [226] offset = ivec2(2, -1); [libplacebo @ 0000023f7a8b5a40] [227] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [228] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [229] wsum += w; [libplacebo @ 0000023f7a8b5a40] [230] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [231] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [232] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [233] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [234] idx = _200d * rel.y + rel.x + _200d * 2 + 6; [libplacebo @ 0000023f7a8b5a40] [235] offset = ivec2(3, -1); [libplacebo @ 0000023f7a8b5a40] [236] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [237] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [238] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [239] wsum += w; [libplacebo @ 0000023f7a8b5a40] [240] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [241] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [242] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [243] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [244] } [libplacebo @ 0000023f7a8b5a40] [245] idx = _200d * rel.y + rel.x + _200d * 2 + 7; [libplacebo @ 0000023f7a8b5a40] [246] idx = _200d * rel.y + rel.x + _200d * 3 + 0; [libplacebo @ 0000023f7a8b5a40] [247] offset = ivec2(-3, 0); [libplacebo @ 0000023f7a8b5a40] [248] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [249] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [250] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [251] wsum += w; [libplacebo @ 0000023f7a8b5a40] [252] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [253] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [254] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [255] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [256] } [libplacebo @ 0000023f7a8b5a40] [257] idx = _200d * rel.y + rel.x + _200d * 3 + 1; [libplacebo @ 0000023f7a8b5a40] [258] offset = ivec2(-2, 0); [libplacebo @ 0000023f7a8b5a40] [259] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [260] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [261] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [262] wsum += w; [libplacebo @ 0000023f7a8b5a40] [263] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [264] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [265] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [266] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [267] } [libplacebo @ 0000023f7a8b5a40] [268] idx = _200d * rel.y + rel.x + _200d * 3 + 2; [libplacebo @ 0000023f7a8b5a40] [269] offset = ivec2(-1, 0); [libplacebo @ 0000023f7a8b5a40] [270] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [271] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [272] wsum += w; [libplacebo @ 0000023f7a8b5a40] [273] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [274] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [275] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [276] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [277] idx = _200d * rel.y + rel.x + _200d * 3 + 3; [libplacebo @ 0000023f7a8b5a40] [278] offset = ivec2(0, 0); [libplacebo @ 0000023f7a8b5a40] [279] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [280] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [281] wsum += w; [libplacebo @ 0000023f7a8b5a40] [282] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [283] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [284] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [285] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [286] idx = _200d * rel.y + rel.x + _200d * 3 + 4; [libplacebo @ 0000023f7a8b5a40] [287] offset = ivec2(1, 0); [libplacebo @ 0000023f7a8b5a40] [288] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [289] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [290] wsum += w; [libplacebo @ 0000023f7a8b5a40] [291] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [292] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [293] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [294] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [295] idx = _200d * rel.y + rel.x + _200d * 3 + 5; [libplacebo @ 0000023f7a8b5a40] [296] offset = ivec2(2, 0); [libplacebo @ 0000023f7a8b5a40] [297] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [298] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [299] wsum += w; [libplacebo @ 0000023f7a8b5a40] [300] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [301] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [302] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [303] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [304] idx = _200d * rel.y + rel.x + _200d * 3 + 6; [libplacebo @ 0000023f7a8b5a40] [305] offset = ivec2(3, 0); [libplacebo @ 0000023f7a8b5a40] [306] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [307] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [308] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [309] wsum += w; [libplacebo @ 0000023f7a8b5a40] [310] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [311] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [312] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [313] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [314] } [libplacebo @ 0000023f7a8b5a40] [315] idx = _200d * rel.y + rel.x + _200d * 3 + 7; [libplacebo @ 0000023f7a8b5a40] [316] offset = ivec2(4, 0); [libplacebo @ 0000023f7a8b5a40] [317] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [318] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [319] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [320] wsum += w; [libplacebo @ 0000023f7a8b5a40] [321] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [322] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [323] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [324] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [325] } [libplacebo @ 0000023f7a8b5a40] [326] idx = _200d * rel.y + rel.x + _200d * 4 + 0; [libplacebo @ 0000023f7a8b5a40] [327] offset = ivec2(-3, 1); [libplacebo @ 0000023f7a8b5a40] [328] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [329] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [330] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [331] wsum += w; [libplacebo @ 0000023f7a8b5a40] [332] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [333] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [334] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [335] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [336] } [libplacebo @ 0000023f7a8b5a40] [337] idx = _200d * rel.y + rel.x + _200d * 4 + 1; [libplacebo @ 0000023f7a8b5a40] [338] offset = ivec2(-2, 1); [libplacebo @ 0000023f7a8b5a40] [339] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [340] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [341] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [342] wsum += w; [libplacebo @ 0000023f7a8b5a40] [343] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [344] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [345] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [346] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [347] } [libplacebo @ 0000023f7a8b5a40] [348] idx = _200d * rel.y + rel.x + _200d * 4 + 2; [libplacebo @ 0000023f7a8b5a40] [349] offset = ivec2(-1, 1); [libplacebo @ 0000023f7a8b5a40] [350] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [351] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [352] wsum += w; [libplacebo @ 0000023f7a8b5a40] [353] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [354] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [355] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [356] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [357] idx = _200d * rel.y + rel.x + _200d * 4 + 3; [libplacebo @ 0000023f7a8b5a40] [358] offset = ivec2(0, 1); [libplacebo @ 0000023f7a8b5a40] [359] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [360] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [361] wsum += w; [libplacebo @ 0000023f7a8b5a40] [362] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [363] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [364] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [365] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [366] idx = _200d * rel.y + rel.x + _200d * 4 + 4; [libplacebo @ 0000023f7a8b5a40] [367] offset = ivec2(1, 1); [libplacebo @ 0000023f7a8b5a40] [368] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [369] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [370] wsum += w; [libplacebo @ 0000023f7a8b5a40] [371] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [372] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [373] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [374] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [375] idx = _200d * rel.y + rel.x + _200d * 4 + 5; [libplacebo @ 0000023f7a8b5a40] [376] offset = ivec2(2, 1); [libplacebo @ 0000023f7a8b5a40] [377] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [378] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [379] wsum += w; [libplacebo @ 0000023f7a8b5a40] [380] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [381] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [382] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [383] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [384] idx = _200d * rel.y + rel.x + _200d * 4 + 6; [libplacebo @ 0000023f7a8b5a40] [385] offset = ivec2(3, 1); [libplacebo @ 0000023f7a8b5a40] [386] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [387] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [388] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [389] wsum += w; [libplacebo @ 0000023f7a8b5a40] [390] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [391] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [392] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [393] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [394] } [libplacebo @ 0000023f7a8b5a40] [395] idx = _200d * rel.y + rel.x + _200d * 4 + 7; [libplacebo @ 0000023f7a8b5a40] [396] offset = ivec2(4, 1); [libplacebo @ 0000023f7a8b5a40] [397] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [398] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [399] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [400] wsum += w; [libplacebo @ 0000023f7a8b5a40] [401] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [402] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [403] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [404] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [405] } [libplacebo @ 0000023f7a8b5a40] [406] idx = _200d * rel.y + rel.x + _200d * 5 + 0; [libplacebo @ 0000023f7a8b5a40] [407] idx = _200d * rel.y + rel.x + _200d * 5 + 1; [libplacebo @ 0000023f7a8b5a40] [408] offset = ivec2(-2, 2); [libplacebo @ 0000023f7a8b5a40] [409] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [410] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [411] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [412] wsum += w; [libplacebo @ 0000023f7a8b5a40] [413] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [414] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [415] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [416] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [417] } [libplacebo @ 0000023f7a8b5a40] [418] idx = _200d * rel.y + rel.x + _200d * 5 + 2; [libplacebo @ 0000023f7a8b5a40] [419] offset = ivec2(-1, 2); [libplacebo @ 0000023f7a8b5a40] [420] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [421] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [422] wsum += w; [libplacebo @ 0000023f7a8b5a40] [423] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [424] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [425] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [426] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [427] idx = _200d * rel.y + rel.x + _200d * 5 + 3; [libplacebo @ 0000023f7a8b5a40] [428] offset = ivec2(0, 2); [libplacebo @ 0000023f7a8b5a40] [429] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [430] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [431] wsum += w; [libplacebo @ 0000023f7a8b5a40] [432] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [433] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [434] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [435] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [436] idx = _200d * rel.y + rel.x + _200d * 5 + 4; [libplacebo @ 0000023f7a8b5a40] [437] offset = ivec2(1, 2); [libplacebo @ 0000023f7a8b5a40] [438] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [439] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [440] wsum += w; [libplacebo @ 0000023f7a8b5a40] [441] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [442] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [443] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [444] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [445] idx = _200d * rel.y + rel.x + _200d * 5 + 5; [libplacebo @ 0000023f7a8b5a40] [446] offset = ivec2(2, 2); [libplacebo @ 0000023f7a8b5a40] [447] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [448] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [449] wsum += w; [libplacebo @ 0000023f7a8b5a40] [450] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [451] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [452] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [453] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [454] idx = _200d * rel.y + rel.x + _200d * 5 + 6; [libplacebo @ 0000023f7a8b5a40] [455] offset = ivec2(3, 2); [libplacebo @ 0000023f7a8b5a40] [456] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [457] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [458] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [459] wsum += w; [libplacebo @ 0000023f7a8b5a40] [460] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [461] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [462] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [463] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [464] } [libplacebo @ 0000023f7a8b5a40] [465] idx = _200d * rel.y + rel.x + _200d * 5 + 7; [libplacebo @ 0000023f7a8b5a40] [466] idx = _200d * rel.y + rel.x + _200d * 6 + 0; [libplacebo @ 0000023f7a8b5a40] [467] idx = _200d * rel.y + rel.x + _200d * 6 + 1; [libplacebo @ 0000023f7a8b5a40] [468] offset = ivec2(-2, 3); [libplacebo @ 0000023f7a8b5a40] [469] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [470] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [471] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [472] wsum += w; [libplacebo @ 0000023f7a8b5a40] [473] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [474] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [475] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [476] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [477] } [libplacebo @ 0000023f7a8b5a40] [478] idx = _200d * rel.y + rel.x + _200d * 6 + 2; [libplacebo @ 0000023f7a8b5a40] [479] offset = ivec2(-1, 3); [libplacebo @ 0000023f7a8b5a40] [480] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [481] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [482] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [483] wsum += w; [libplacebo @ 0000023f7a8b5a40] [484] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [485] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [486] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [487] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [488] } [libplacebo @ 0000023f7a8b5a40] [489] idx = _200d * rel.y + rel.x + _200d * 6 + 3; [libplacebo @ 0000023f7a8b5a40] [490] offset = ivec2(0, 3); [libplacebo @ 0000023f7a8b5a40] [491] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [492] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [493] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [494] wsum += w; [libplacebo @ 0000023f7a8b5a40] [495] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [496] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [497] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [498] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [499] } [libplacebo @ 0000023f7a8b5a40] [500] idx = _200d * rel.y + rel.x + _200d * 6 + 4; [libplacebo @ 0000023f7a8b5a40] [501] offset = ivec2(1, 3); [libplacebo @ 0000023f7a8b5a40] [502] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [503] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [504] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [505] wsum += w; [libplacebo @ 0000023f7a8b5a40] [506] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [507] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [508] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [509] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [510] } [libplacebo @ 0000023f7a8b5a40] [511] idx = _200d * rel.y + rel.x + _200d * 6 + 5; [libplacebo @ 0000023f7a8b5a40] [512] offset = ivec2(2, 3); [libplacebo @ 0000023f7a8b5a40] [513] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [514] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [515] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [516] wsum += w; [libplacebo @ 0000023f7a8b5a40] [517] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [518] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [519] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [520] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [521] } [libplacebo @ 0000023f7a8b5a40] [522] idx = _200d * rel.y + rel.x + _200d * 6 + 6; [libplacebo @ 0000023f7a8b5a40] [523] offset = ivec2(3, 3); [libplacebo @ 0000023f7a8b5a40] [524] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [525] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [526] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [527] wsum += w; [libplacebo @ 0000023f7a8b5a40] [528] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [529] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [530] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [531] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [532] } [libplacebo @ 0000023f7a8b5a40] [533] idx = _200d * rel.y + rel.x + _200d * 6 + 7; [libplacebo @ 0000023f7a8b5a40] [534] idx = _200d * rel.y + rel.x + _200d * 7 + 0; [libplacebo @ 0000023f7a8b5a40] [535] idx = _200d * rel.y + rel.x + _200d * 7 + 1; [libplacebo @ 0000023f7a8b5a40] [536] idx = _200d * rel.y + rel.x + _200d * 7 + 2; [libplacebo @ 0000023f7a8b5a40] [537] idx = _200d * rel.y + rel.x + _200d * 7 + 3; [libplacebo @ 0000023f7a8b5a40] [538] offset = ivec2(0, 4); [libplacebo @ 0000023f7a8b5a40] [539] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [540] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [541] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [542] wsum += w; [libplacebo @ 0000023f7a8b5a40] [543] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [544] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [545] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [546] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [547] } [libplacebo @ 0000023f7a8b5a40] [548] idx = _200d * rel.y + rel.x + _200d * 7 + 4; [libplacebo @ 0000023f7a8b5a40] [549] offset = ivec2(1, 4); [libplacebo @ 0000023f7a8b5a40] [550] d = length(vec2(offset) - fcoord); [libplacebo @ 0000023f7a8b5a40] [551] if (d < _200b) { [libplacebo @ 0000023f7a8b5a40] [552] w = _2006(d * 1.0 / _200b); [libplacebo @ 0000023f7a8b5a40] [553] wsum += w; [libplacebo @ 0000023f7a8b5a40] [554] c[0] = _200c_0[idx]; [libplacebo @ 0000023f7a8b5a40] [555] c[1] = _200c_1[idx]; [libplacebo @ 0000023f7a8b5a40] [556] color[0] += w * c[0]; [libplacebo @ 0000023f7a8b5a40] [557] color[1] += w * c[1]; [libplacebo @ 0000023f7a8b5a40] [558] } [libplacebo @ 0000023f7a8b5a40] [559] idx = _200d * rel.y + rel.x + _200d * 7 + 5; [libplacebo @ 0000023f7a8b5a40] [560] idx = _200d * rel.y + rel.x + _200d * 7 + 6; [libplacebo @ 0000023f7a8b5a40] [561] idx = _200d * rel.y + rel.x + _200d * 7 + 7; [libplacebo @ 0000023f7a8b5a40] [562] color = _2005 / wsum * color; [libplacebo @ 0000023f7a8b5a40] [563] color.a = 1.0; [libplacebo @ 0000023f7a8b5a40] [564] } [libplacebo @ 0000023f7a8b5a40] [565] return color; [libplacebo @ 0000023f7a8b5a40] [566] } [libplacebo @ 0000023f7a8b5a40] [567] [libplacebo @ 0000023f7a8b5a40] [568] void _4001() { [libplacebo @ 0000023f7a8b5a40] [569] vec4 color = vec4(_4003, vec2(_4002), 1.0); [libplacebo @ 0000023f7a8b5a40] [570] // pass_read_image [libplacebo @ 0000023f7a8b5a40] [571] { [libplacebo @ 0000023f7a8b5a40] [572] vec4 tmp; [libplacebo @ 0000023f7a8b5a40] [573] tmp = _c001(); [libplacebo @ 0000023f7a8b5a40] [574] color[0] = tmp[0]; [libplacebo @ 0000023f7a8b5a40] [575] tmp = _2001(); [libplacebo @ 0000023f7a8b5a40] [576] color[1] = tmp[0]; [libplacebo @ 0000023f7a8b5a40] [577] color[2] = tmp[1]; [libplacebo @ 0000023f7a8b5a40] [578] } [libplacebo @ 0000023f7a8b5a40] [579] // pl_shader_decode_color [libplacebo @ 0000023f7a8b5a40] [580] { [libplacebo @ 0000023f7a8b5a40] [581] color.rgb = _4004 * color.rgb + _4005; [libplacebo @ 0000023f7a8b5a40] [582] } [libplacebo @ 0000023f7a8b5a40] [583] // pl_shader_encode_color [libplacebo @ 0000023f7a8b5a40] [584] { [libplacebo @ 0000023f7a8b5a40] [585] color.rgb = _4006 * color.rgb + _4007; [libplacebo @ 0000023f7a8b5a40] [586] } [libplacebo @ 0000023f7a8b5a40] [587] ivec2 dir = ivec2(1, 1); [libplacebo @ 0000023f7a8b5a40] [588] ivec2 pos = _4012 + dir * ivec2(gl_GlobalInvocationID).xy; [libplacebo @ 0000023f7a8b5a40] [589] vec2 fpos = _4008 * vec2(gl_GlobalInvocationID); [libplacebo @ 0000023f7a8b5a40] [590] if (fpos.x < 1.0 && fpos.y < 1.0) { [libplacebo @ 0000023f7a8b5a40] [591] imageStore(_4011, pos, color); [libplacebo @ 0000023f7a8b5a40] [592] } [libplacebo @ 0000023f7a8b5a40] [593] [libplacebo @ 0000023f7a8b5a40] [594] } [libplacebo @ 0000023f7a8b5a40] [595] [libplacebo @ 0000023f7a8b5a40] [596] void main() { [libplacebo @ 0000023f7a8b5a40] [597] _4001(); [libplacebo @ 0000023f7a8b5a40] [598] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 0.500008 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 0.062501 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=4: 0.001953 [libplacebo @ 0000023f7a8b5a40] constant_id=5: 0.996094 [libplacebo @ 0000023f7a8b5a40] constant_id=6: 3.099147 [libplacebo @ 0000023f7a8b5a40] constant_id=7: 24 [libplacebo @ 0000023f7a8b5a40] constant_id=8: 24 [libplacebo @ 0000023f7a8b5a40] constant_id=9: 0.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 56.297 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.025 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.046 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 20.030 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] Allocating 247680 memory of type 0x7 (id 3) in heap 2: ../src/gpu/utils.c:533 [libplacebo @ 0000023f7a8b5a40] Spent 0.411 ms allocating slab [libplacebo @ 0000023f7a8b5a40] Dithering to 10 bit depth [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 0000023f7a8b5a40] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 0000023f7a8b5a40] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(location=0) in vec2 _d; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(location=1) in vec2 _e; [libplacebo @ 0000023f7a8b5a40] [ 19] void main() { [libplacebo @ 0000023f7a8b5a40] [ 20] _3 = _d; [libplacebo @ 0000023f7a8b5a40] [ 21] vec2 va_pos = _e; [libplacebo @ 0000023f7a8b5a40] [ 22] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 23] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(constant_id=0) const float _4 = 1; [libplacebo @ 0000023f7a8b5a40] [ 11] layout(constant_id=1) const float _7 = 1; [libplacebo @ 0000023f7a8b5a40] [ 12] layout(constant_id=2) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=3) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 18] [libplacebo @ 0000023f7a8b5a40] [ 19] #define _5(pos) (texelFetch(_6, ivec2(pos), 0).x) [libplacebo @ 0000023f7a8b5a40] [ 20] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 21] // pl_shader_sample_direct [libplacebo @ 0000023f7a8b5a40] [ 22] vec4 color = vec4(_4) * textureLod(_2, _3, 0.0); [libplacebo @ 0000023f7a8b5a40] [ 23] // pl_shader_dither [libplacebo @ 0000023f7a8b5a40] [ 24] { [libplacebo @ 0000023f7a8b5a40] [ 25] float bias; [libplacebo @ 0000023f7a8b5a40] [ 26] vec2 pos = fract(gl_FragCoord.xy * 1.0/_7); [libplacebo @ 0000023f7a8b5a40] [ 27] bias = _5(ivec2(pos * _8)); [libplacebo @ 0000023f7a8b5a40] [ 28] const float scale = 1023.0; [libplacebo @ 0000023f7a8b5a40] [ 29] color = scale * color + vec4(bias); [libplacebo @ 0000023f7a8b5a40] [ 30] color = floor(color) * (1.0 / scale); [libplacebo @ 0000023f7a8b5a40] [ 31] } [libplacebo @ 0000023f7a8b5a40] [ 32] color *= vec4(1.0 / _9); [libplacebo @ 0000023f7a8b5a40] [ 33] vec4 _a = color; [libplacebo @ 0000023f7a8b5a40] [ 34] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 35] color[0] = _a[0]; [libplacebo @ 0000023f7a8b5a40] [ 36] return color; [libplacebo @ 0000023f7a8b5a40] [ 37] } [libplacebo @ 0000023f7a8b5a40] [ 38] [libplacebo @ 0000023f7a8b5a40] [ 39] void main() { [libplacebo @ 0000023f7a8b5a40] [ 40] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 41] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 1.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 64.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.886 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 2.344 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.009 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.047 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 0.001 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] (Re)creating 3840x1080x0 texture with format rgba16hf: src/renderer.c:762 [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(location=0) in vec2 _12; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(location=1) in vec2 _13; [libplacebo @ 0000023f7a8b5a40] [ 25] void main() { [libplacebo @ 0000023f7a8b5a40] [ 26] _3 = _12; [libplacebo @ 0000023f7a8b5a40] [ 27] vec2 va_pos = _13; [libplacebo @ 0000023f7a8b5a40] [ 28] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 29] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 24] [libplacebo @ 0000023f7a8b5a40] [ 25] #define _7(x) (_9 * (x) + _8) [libplacebo @ 0000023f7a8b5a40] [ 26] #define _a(x) (_c * (x) + _b) [libplacebo @ 0000023f7a8b5a40] [ 27] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 0000023f7a8b5a40] [ 28] _7(vec2(pos).x)\ [libplacebo @ 0000023f7a8b5a40] [ 29] ,_a(vec2(pos).y)\ [libplacebo @ 0000023f7a8b5a40] [ 30] ), 0.0).xyzw) [libplacebo @ 0000023f7a8b5a40] [ 31] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 32] [libplacebo @ 0000023f7a8b5a40] [ 33] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 34] { [libplacebo @ 0000023f7a8b5a40] [ 35] vec2 pos = _3, pt = _4; [libplacebo @ 0000023f7a8b5a40] [ 36] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 0000023f7a8b5a40] [ 37] vec2 dir = vec2(float(0), float(1)); [libplacebo @ 0000023f7a8b5a40] [ 38] pt *= dir; [libplacebo @ 0000023f7a8b5a40] [ 39] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 0000023f7a8b5a40] [ 40] float fcoord = dot(fcoord2, dir); [libplacebo @ 0000023f7a8b5a40] [ 41] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 0000023f7a8b5a40] [ 42] vec4 ws; [libplacebo @ 0000023f7a8b5a40] [ 43] float off; [libplacebo @ 0000023f7a8b5a40] [ 44] float c, ca = float(0.0); [libplacebo @ 0000023f7a8b5a40] [ 45] #pragma unroll 4 [libplacebo @ 0000023f7a8b5a40] [ 46] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 0000023f7a8b5a40] [ 47] if (n % 4u == 0u) [libplacebo @ 0000023f7a8b5a40] [ 48] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 0000023f7a8b5a40] [ 49] off = float(n); [libplacebo @ 0000023f7a8b5a40] [ 50] off += ws[n % 4u + 1u]; [libplacebo @ 0000023f7a8b5a40] [ 51] c = textureLod(_2, base + pt * off, 0.0).g; [libplacebo @ 0000023f7a8b5a40] [ 52] ca += ws[n % 4u] * c; [libplacebo @ 0000023f7a8b5a40] [ 53] } [libplacebo @ 0000023f7a8b5a40] [ 54] color.g = _f * ca; [libplacebo @ 0000023f7a8b5a40] [ 55] } [libplacebo @ 0000023f7a8b5a40] [ 56] return color; [libplacebo @ 0000023f7a8b5a40] [ 57] } [libplacebo @ 0000023f7a8b5a40] [ 58] [libplacebo @ 0000023f7a8b5a40] [ 59] void main() { [libplacebo @ 0000023f7a8b5a40] [ 60] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 61] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 0.500000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 0.001953 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 0.996094 [libplacebo @ 0000023f7a8b5a40] constant_id=4: 4 [libplacebo @ 0000023f7a8b5a40] constant_id=5: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=6: 1.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.767 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 4.103 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.008 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.037 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 0.001 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 0000023f7a8b5a40] [ 26] layout(location=0) in vec2 _18; [libplacebo @ 0000023f7a8b5a40] [ 27] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 28] layout(location=1) in vec2 _19; [libplacebo @ 0000023f7a8b5a40] [ 29] void main() { [libplacebo @ 0000023f7a8b5a40] [ 30] _3 = _18; [libplacebo @ 0000023f7a8b5a40] [ 31] vec2 va_pos = _19; [libplacebo @ 0000023f7a8b5a40] [ 32] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 33] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 0000023f7a8b5a40] [ 26] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 27] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 28] [libplacebo @ 0000023f7a8b5a40] [ 29] #define _7(x) (_9 * (x) + _8) [libplacebo @ 0000023f7a8b5a40] [ 30] #define _a(x) (_c * (x) + _b) [libplacebo @ 0000023f7a8b5a40] [ 31] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 0000023f7a8b5a40] [ 32] _7(vec2(pos).x)\ [libplacebo @ 0000023f7a8b5a40] [ 33] ,_a(vec2(pos).y)\ [libplacebo @ 0000023f7a8b5a40] [ 34] ), 0.0).xyzw) [libplacebo @ 0000023f7a8b5a40] [ 35] #define _10(pos) (texelFetch(_11, ivec2(pos), 0).x) [libplacebo @ 0000023f7a8b5a40] [ 36] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 37] [libplacebo @ 0000023f7a8b5a40] [ 38] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 39] { [libplacebo @ 0000023f7a8b5a40] [ 40] vec2 pos = _3, pt = _4; [libplacebo @ 0000023f7a8b5a40] [ 41] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 0000023f7a8b5a40] [ 42] vec2 dir = vec2(float(1), float(0)); [libplacebo @ 0000023f7a8b5a40] [ 43] pt *= dir; [libplacebo @ 0000023f7a8b5a40] [ 44] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 0000023f7a8b5a40] [ 45] float fcoord = dot(fcoord2, dir); [libplacebo @ 0000023f7a8b5a40] [ 46] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 0000023f7a8b5a40] [ 47] vec4 ws; [libplacebo @ 0000023f7a8b5a40] [ 48] float off; [libplacebo @ 0000023f7a8b5a40] [ 49] float c, ca = float(0.0); [libplacebo @ 0000023f7a8b5a40] [ 50] #pragma unroll 4 [libplacebo @ 0000023f7a8b5a40] [ 51] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 0000023f7a8b5a40] [ 52] if (n % 4u == 0u) [libplacebo @ 0000023f7a8b5a40] [ 53] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 0000023f7a8b5a40] [ 54] off = float(n); [libplacebo @ 0000023f7a8b5a40] [ 55] off += ws[n % 4u + 1u]; [libplacebo @ 0000023f7a8b5a40] [ 56] c = textureLod(_2, base + pt * off, 0.0).g; [libplacebo @ 0000023f7a8b5a40] [ 57] ca += ws[n % 4u] * c; [libplacebo @ 0000023f7a8b5a40] [ 58] } [libplacebo @ 0000023f7a8b5a40] [ 59] color.g = _f * ca; [libplacebo @ 0000023f7a8b5a40] [ 60] } [libplacebo @ 0000023f7a8b5a40] [ 61] // pl_shader_dither [libplacebo @ 0000023f7a8b5a40] [ 62] { [libplacebo @ 0000023f7a8b5a40] [ 63] float bias; [libplacebo @ 0000023f7a8b5a40] [ 64] vec2 pos = fract(gl_FragCoord.xy * 1.0/_12); [libplacebo @ 0000023f7a8b5a40] [ 65] bias = _10(ivec2(pos * _13)); [libplacebo @ 0000023f7a8b5a40] [ 66] const float scale = 1023.0; [libplacebo @ 0000023f7a8b5a40] [ 67] color = scale * color + vec4(bias); [libplacebo @ 0000023f7a8b5a40] [ 68] color = floor(color) * (1.0 / scale); [libplacebo @ 0000023f7a8b5a40] [ 69] } [libplacebo @ 0000023f7a8b5a40] [ 70] color *= vec4(1.0 / _14); [libplacebo @ 0000023f7a8b5a40] [ 71] vec4 _15 = color; [libplacebo @ 0000023f7a8b5a40] [ 72] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 73] color[0] = _15[1]; [libplacebo @ 0000023f7a8b5a40] [ 74] return color; [libplacebo @ 0000023f7a8b5a40] [ 75] } [libplacebo @ 0000023f7a8b5a40] [ 76] [libplacebo @ 0000023f7a8b5a40] [ 77] void main() { [libplacebo @ 0000023f7a8b5a40] [ 78] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 79] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 0.500000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 0.001953 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 0.996094 [libplacebo @ 0000023f7a8b5a40] constant_id=4: 4 [libplacebo @ 0000023f7a8b5a40] constant_id=5: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=6: 1.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=7: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=8: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=9: 64.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.796 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 4.943 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.010 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.038 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 0.001 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] (Re)creating 3840x1080x0 texture with format rgba16hf: src/renderer.c:762 [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(location=0) in vec2 _12; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(location=1) in vec2 _13; [libplacebo @ 0000023f7a8b5a40] [ 25] void main() { [libplacebo @ 0000023f7a8b5a40] [ 26] _3 = _12; [libplacebo @ 0000023f7a8b5a40] [ 27] vec2 va_pos = _13; [libplacebo @ 0000023f7a8b5a40] [ 28] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 29] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 24] [libplacebo @ 0000023f7a8b5a40] [ 25] #define _7(x) (_9 * (x) + _8) [libplacebo @ 0000023f7a8b5a40] [ 26] #define _a(x) (_c * (x) + _b) [libplacebo @ 0000023f7a8b5a40] [ 27] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 0000023f7a8b5a40] [ 28] _7(vec2(pos).x)\ [libplacebo @ 0000023f7a8b5a40] [ 29] ,_a(vec2(pos).y)\ [libplacebo @ 0000023f7a8b5a40] [ 30] ), 0.0).xyzw) [libplacebo @ 0000023f7a8b5a40] [ 31] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 32] [libplacebo @ 0000023f7a8b5a40] [ 33] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 34] { [libplacebo @ 0000023f7a8b5a40] [ 35] vec2 pos = _3, pt = _4; [libplacebo @ 0000023f7a8b5a40] [ 36] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 0000023f7a8b5a40] [ 37] vec2 dir = vec2(float(0), float(1)); [libplacebo @ 0000023f7a8b5a40] [ 38] pt *= dir; [libplacebo @ 0000023f7a8b5a40] [ 39] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 0000023f7a8b5a40] [ 40] float fcoord = dot(fcoord2, dir); [libplacebo @ 0000023f7a8b5a40] [ 41] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 0000023f7a8b5a40] [ 42] vec4 ws; [libplacebo @ 0000023f7a8b5a40] [ 43] float off; [libplacebo @ 0000023f7a8b5a40] [ 44] float c, ca = float(0.0); [libplacebo @ 0000023f7a8b5a40] [ 45] #pragma unroll 4 [libplacebo @ 0000023f7a8b5a40] [ 46] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 0000023f7a8b5a40] [ 47] if (n % 4u == 0u) [libplacebo @ 0000023f7a8b5a40] [ 48] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 0000023f7a8b5a40] [ 49] off = float(n); [libplacebo @ 0000023f7a8b5a40] [ 50] off += ws[n % 4u + 1u]; [libplacebo @ 0000023f7a8b5a40] [ 51] c = textureLod(_2, base + pt * off, 0.0).b; [libplacebo @ 0000023f7a8b5a40] [ 52] ca += ws[n % 4u] * c; [libplacebo @ 0000023f7a8b5a40] [ 53] } [libplacebo @ 0000023f7a8b5a40] [ 54] color.b = _f * ca; [libplacebo @ 0000023f7a8b5a40] [ 55] } [libplacebo @ 0000023f7a8b5a40] [ 56] return color; [libplacebo @ 0000023f7a8b5a40] [ 57] } [libplacebo @ 0000023f7a8b5a40] [ 58] [libplacebo @ 0000023f7a8b5a40] [ 59] void main() { [libplacebo @ 0000023f7a8b5a40] [ 60] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 61] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 0.500000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 0.001953 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 0.996094 [libplacebo @ 0000023f7a8b5a40] constant_id=4: 4 [libplacebo @ 0000023f7a8b5a40] constant_id=5: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=6: 1.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.740 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 4.030 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.008 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.054 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 [libplacebo @ 0000023f7a8b5a40] LUT invalidated, regenerating.. [libplacebo @ 0000023f7a8b5a40] Spent 0.001 ms generating shader LUT [libplacebo @ 0000023f7a8b5a40] vertex shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 0000023f7a8b5a40] [ 26] layout(location=0) in vec2 _18; [libplacebo @ 0000023f7a8b5a40] [ 27] layout(location=0) out vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 28] layout(location=1) in vec2 _19; [libplacebo @ 0000023f7a8b5a40] [ 29] void main() { [libplacebo @ 0000023f7a8b5a40] [ 30] _3 = _18; [libplacebo @ 0000023f7a8b5a40] [ 31] vec2 va_pos = _19; [libplacebo @ 0000023f7a8b5a40] [ 32] gl_Position = vec4(va_pos, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 33] } [libplacebo @ 0000023f7a8b5a40] fragment shader source: [libplacebo @ 0000023f7a8b5a40] [ 1] #version 450 [libplacebo @ 0000023f7a8b5a40] [ 2] #extension GL_KHR_shader_subgroup_basic : enable [libplacebo @ 0000023f7a8b5a40] [ 3] #extension GL_KHR_shader_subgroup_vote : enable [libplacebo @ 0000023f7a8b5a40] [ 4] #extension GL_KHR_shader_subgroup_arithmetic : enable [libplacebo @ 0000023f7a8b5a40] [ 5] #extension GL_KHR_shader_subgroup_ballot : enable [libplacebo @ 0000023f7a8b5a40] [ 6] #extension GL_KHR_shader_subgroup_shuffle : enable [libplacebo @ 0000023f7a8b5a40] [ 7] #extension GL_KHR_shader_subgroup_clustered : enable [libplacebo @ 0000023f7a8b5a40] [ 8] #extension GL_KHR_shader_subgroup_quad : enable [libplacebo @ 0000023f7a8b5a40] [ 9] #extension GL_ARB_texture_gather : enable [libplacebo @ 0000023f7a8b5a40] [ 10] layout(std430, push_constant) uniform PushC { [libplacebo @ 0000023f7a8b5a40] [ 11] layout(offset=0) vec2 _4; [libplacebo @ 0000023f7a8b5a40] [ 12] }; [libplacebo @ 0000023f7a8b5a40] [ 13] layout(constant_id=0) const float _8 = 1; [libplacebo @ 0000023f7a8b5a40] [ 14] layout(constant_id=1) const float _9 = 1; [libplacebo @ 0000023f7a8b5a40] [ 15] layout(constant_id=2) const float _b = 1; [libplacebo @ 0000023f7a8b5a40] [ 16] layout(constant_id=3) const float _c = 1; [libplacebo @ 0000023f7a8b5a40] [ 17] layout(constant_id=4) const uint _d = 1; [libplacebo @ 0000023f7a8b5a40] [ 18] layout(constant_id=5) const float _e = 1; [libplacebo @ 0000023f7a8b5a40] [ 19] layout(constant_id=6) const float _f = 1; [libplacebo @ 0000023f7a8b5a40] [ 20] layout(constant_id=7) const float _12 = 1; [libplacebo @ 0000023f7a8b5a40] [ 21] layout(constant_id=8) const float _13 = 1; [libplacebo @ 0000023f7a8b5a40] [ 22] layout(constant_id=9) const float _14 = 1; [libplacebo @ 0000023f7a8b5a40] [ 23] layout(binding=0) uniform sampler2D _2; [libplacebo @ 0000023f7a8b5a40] [ 24] layout(binding=1) uniform sampler2D _6; [libplacebo @ 0000023f7a8b5a40] [ 25] layout(binding=2) uniform sampler2D _11; [libplacebo @ 0000023f7a8b5a40] [ 26] layout(location=0) in vec2 _3; [libplacebo @ 0000023f7a8b5a40] [ 27] layout(location=0) out vec4 out_color; [libplacebo @ 0000023f7a8b5a40] [ 28] [libplacebo @ 0000023f7a8b5a40] [ 29] #define _7(x) (_9 * (x) + _8) [libplacebo @ 0000023f7a8b5a40] [ 30] #define _a(x) (_c * (x) + _b) [libplacebo @ 0000023f7a8b5a40] [ 31] #define _5(pos) (textureLod(_6, vec2(\ [libplacebo @ 0000023f7a8b5a40] [ 32] _7(vec2(pos).x)\ [libplacebo @ 0000023f7a8b5a40] [ 33] ,_a(vec2(pos).y)\ [libplacebo @ 0000023f7a8b5a40] [ 34] ), 0.0).xyzw) [libplacebo @ 0000023f7a8b5a40] [ 35] #define _10(pos) (texelFetch(_11, ivec2(pos), 0).x) [libplacebo @ 0000023f7a8b5a40] [ 36] vec4 _1() { [libplacebo @ 0000023f7a8b5a40] [ 37] [libplacebo @ 0000023f7a8b5a40] [ 38] vec4 color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 39] { [libplacebo @ 0000023f7a8b5a40] [ 40] vec2 pos = _3, pt = _4; [libplacebo @ 0000023f7a8b5a40] [ 41] vec2 size = vec2(textureSize(_2, 0)); [libplacebo @ 0000023f7a8b5a40] [ 42] vec2 dir = vec2(float(1), float(0)); [libplacebo @ 0000023f7a8b5a40] [ 43] pt *= dir; [libplacebo @ 0000023f7a8b5a40] [ 44] vec2 fcoord2 = fract(pos * size - vec2(0.5)); [libplacebo @ 0000023f7a8b5a40] [ 45] float fcoord = dot(fcoord2, dir); [libplacebo @ 0000023f7a8b5a40] [ 46] vec2 base = pos - fcoord * pt - pt * vec2(float(1)); [libplacebo @ 0000023f7a8b5a40] [ 47] vec4 ws; [libplacebo @ 0000023f7a8b5a40] [ 48] float off; [libplacebo @ 0000023f7a8b5a40] [ 49] float c, ca = float(0.0); [libplacebo @ 0000023f7a8b5a40] [ 50] #pragma unroll 4 [libplacebo @ 0000023f7a8b5a40] [ 51] for (uint n = 0u; n < _d; n += uint(2)) { [libplacebo @ 0000023f7a8b5a40] [ 52] if (n % 4u == 0u) [libplacebo @ 0000023f7a8b5a40] [ 53] ws = _5(vec2(float(n / 4u) / float(1), fcoord)); [libplacebo @ 0000023f7a8b5a40] [ 54] off = float(n); [libplacebo @ 0000023f7a8b5a40] [ 55] off += ws[n % 4u + 1u]; [libplacebo @ 0000023f7a8b5a40] [ 56] c = textureLod(_2, base + pt * off, 0.0).b; [libplacebo @ 0000023f7a8b5a40] [ 57] ca += ws[n % 4u] * c; [libplacebo @ 0000023f7a8b5a40] [ 58] } [libplacebo @ 0000023f7a8b5a40] [ 59] color.b = _f * ca; [libplacebo @ 0000023f7a8b5a40] [ 60] } [libplacebo @ 0000023f7a8b5a40] [ 61] // pl_shader_dither [libplacebo @ 0000023f7a8b5a40] [ 62] { [libplacebo @ 0000023f7a8b5a40] [ 63] float bias; [libplacebo @ 0000023f7a8b5a40] [ 64] vec2 pos = fract(gl_FragCoord.xy * 1.0/_12); [libplacebo @ 0000023f7a8b5a40] [ 65] bias = _10(ivec2(pos * _13)); [libplacebo @ 0000023f7a8b5a40] [ 66] const float scale = 1023.0; [libplacebo @ 0000023f7a8b5a40] [ 67] color = scale * color + vec4(bias); [libplacebo @ 0000023f7a8b5a40] [ 68] color = floor(color) * (1.0 / scale); [libplacebo @ 0000023f7a8b5a40] [ 69] } [libplacebo @ 0000023f7a8b5a40] [ 70] color *= vec4(1.0 / _14); [libplacebo @ 0000023f7a8b5a40] [ 71] vec4 _15 = color; [libplacebo @ 0000023f7a8b5a40] [ 72] color = vec4(0.0, 0.0, 0.0, 1.0); [libplacebo @ 0000023f7a8b5a40] [ 73] color[0] = _15[2]; [libplacebo @ 0000023f7a8b5a40] [ 74] return color; [libplacebo @ 0000023f7a8b5a40] [ 75] } [libplacebo @ 0000023f7a8b5a40] [ 76] [libplacebo @ 0000023f7a8b5a40] [ 77] void main() { [libplacebo @ 0000023f7a8b5a40] [ 78] out_color = _1(); [libplacebo @ 0000023f7a8b5a40] [ 79] } [libplacebo @ 0000023f7a8b5a40] Specialization constant values: [libplacebo @ 0000023f7a8b5a40] constant_id=0: 0.500000 [libplacebo @ 0000023f7a8b5a40] constant_id=1: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=2: 0.001953 [libplacebo @ 0000023f7a8b5a40] constant_id=3: 0.996094 [libplacebo @ 0000023f7a8b5a40] constant_id=4: 4 [libplacebo @ 0000023f7a8b5a40] constant_id=5: 0.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=6: 1.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=7: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=8: 64.000000 [libplacebo @ 0000023f7a8b5a40] constant_id=9: 64.000000 [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 1.771 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] shaderc compile status 'success' (0 errors, 0 warnings) [libplacebo @ 0000023f7a8b5a40] Spent 4.923 ms translating SPIR-V [libplacebo @ 0000023f7a8b5a40] Spent 0.009 ms compiling shader [libplacebo @ 0000023f7a8b5a40] Spent 0.040 ms creating pipeline [libplacebo @ 0000023f7a8b5a40] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0 Output #0, rawvideo, to 'Out-PLC.yuv': Metadata: encoder : Lavf60.21.101 Stream #0:0, 0, 1001/24000: Video: rawvideo, 1 reference frame (Y3[11][10] / 0xA0B3359), yuv420p10le(progressive), 3840x2160, 0/1, q=2-31, 2983000 kb/s, 23.98 fps, 23.98 tbn Metadata: encoder : Lavc60.40.100 rawvideo [out#0/rawvideo @ 0000023f78ef7480] Starting thread... [out_0_0 @ 0000023f7a860b80] EOF on sink link out_0_0:default. [vf#0:0 @ 0000023f7a85f440] Filtergraph returned EOF, finishing [vf#0:0 @ 0000023f7a85f440] All consumers returned EOF [vost#0:0/rawvideo @ 0000023f7a870a00] Encoder thread received EOF [libplacebo @ 0000023f7a8b5a40] Waiting for remaining commands... [vost#0:0/rawvideo @ 0000023f7a870a00] Terminating thread with return code 0 (success) [libplacebo @ 0000023f7a8b5a40] Memory heaps supported by device: [libplacebo @ 0000023f7a8b5a40] 0: flags 0x1 size 5800M [libplacebo @ 0000023f7a8b5a40] 1: flags 0x0 size 31G [libplacebo @ 0000023f7a8b5a40] 2: flags 0x1 size 256M [libplacebo @ 0000023f7a8b5a40] Memory types supported by device: [libplacebo @ 0000023f7a8b5a40] 0: flags 0x1 heap 0 [libplacebo @ 0000023f7a8b5a40] 1: flags 0x6 heap 1 [libplacebo @ 0000023f7a8b5a40] 2: flags 0xe heap 1 [libplacebo @ 0000023f7a8b5a40] 3: flags 0x7 heap 2 [libplacebo @ 0000023f7a8b5a40] Memory pool 0: [libplacebo @ 0000023f7a8b5a40] Compatible types: 0xf [libplacebo @ 0000023f7a8b5a40] Optimal flags: 0x1 [libplacebo @ 0000023f7a8b5a40] Slab 0: f x 16M: 0 used 0 res 64M alloc from heap 0, efficiency 100.00% [src/renderer.c:1652] [libplacebo @ 0000023f7a8b5a40] Slab 1: f x 4084K: 0 used 0 res 15M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:356] [libplacebo @ 0000023f7a8b5a40] Slab 2: ff x 32K: 0 used 0 res 256K alloc from heap 0, efficiency 100.00% [src/shaders/sampling.c:1007] [libplacebo @ 0000023f7a8b5a40] Slab 3: f x 63M: 0 used 0 res 255M alloc from heap 0, efficiency 100.00% [src/renderer.c:762] [libplacebo @ 0000023f7a8b5a40] Pool summary: 0 used 0 res 335M alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 0000023f7a8b5a40] Memory pool 1: [libplacebo @ 0000023f7a8b5a40] Compatible types: 0xffffffff [libplacebo @ 0000023f7a8b5a40] Required flags: 0x1 [libplacebo @ 0000023f7a8b5a40] Optimal flags: 0x2 [libplacebo @ 0000023f7a8b5a40] Buffer flags: 0xc3 [libplacebo @ 0000023f7a8b5a40] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:1160] [libplacebo @ 0000023f7a8b5a40] Pool summary: 0 used 0 res 255K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 0000023f7a8b5a40] Memory pool 2: [libplacebo @ 0000023f7a8b5a40] Compatible types: 0xffffffff [libplacebo @ 0000023f7a8b5a40] Optimal flags: 0x3 [libplacebo @ 0000023f7a8b5a40] Buffer flags: 0x3 [libplacebo @ 0000023f7a8b5a40] Slab 0: 3fffffffffffffff x 4224: 0 used 0 res 255K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 0000023f7a8b5a40] Slab 1: 7fff x 16K: 0 used 0 res 241K alloc from heap 2, efficiency 100.00% [../src/gpu/utils.c:533] [libplacebo @ 0000023f7a8b5a40] Pool summary: 0 used 0 res 497K alloc, efficiency 100.00%, utilization 0.00% [libplacebo @ 0000023f7a8b5a40] Memory summary: 0 used 0 res 336M alloc, efficiency 100.00%, utilization 0.00%, max page: 362M [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 64M [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 15M [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 256K [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 255M [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 255K Last message repeated 1 times [libplacebo @ 0000023f7a8b5a40] Freeing slab of size 241K [vf#0:0 @ 0000023f7a85f440] Terminating thread with return code 0 (success) [out#0/rawvideo @ 0000023f78ef7480] All streams finished [out#0/rawvideo @ 0000023f78ef7480] Terminating thread with return code 0 (success) [AVIOContext @ 0000023f7a862800] Statistics: 24883200 bytes written, 0 seeks, 95 writeouts [out#0/rawvideo @ 0000023f78ef7480] Output file #0 (Out-PLC.yuv): [out#0/rawvideo @ 0000023f78ef7480] Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (24883200 bytes); [out#0/rawvideo @ 0000023f78ef7480] Total: 1 packets (24883200 bytes) muxed [out#0/rawvideo @ 0000023f78ef7480] video:24300KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.000000% frame= 1 fps=0.0 q=-0.0 Lsize= 24300KiB time=00:00:00.04 bitrate=4772839.7kbits/s speed=0.161x [in#0/rawvideo @ 0000023f78efd480] Input file #0 (Source.yuv): [in#0/rawvideo @ 0000023f78efd480] Input stream #0:0 (video): 1 packets read (24883200 bytes); 1 frames decoded; 0 decode errors; [in#0/rawvideo @ 0000023f78efd480] Total: 1 packets (24883200 bytes) demuxed [AVIOContext @ 0000023f7a866f40] Statistics: 24883200 bytes read, 0 seeks ```
mightyhuhn commented 7 months ago

i found something that will not explain a colroshift but is oddly different.

the ire 10 03-10% Gray.mp4 is a mix of 24 and 25 on madVR or with color dithering a 25 24 25, 24 25 24, and very rare others on mpv it is 90-95% 24 and a rare 25. ire should be 255/10 so it should be a mix of 25 and 26 not? or 219/10+16=37.9.

so time for video-output-levels=limited madVR limited madVR ~90% 38 10% 37 still to low if the file is really ire 10 and my math is worth anything. mpv 37 no dither noise nothing.

so either the file is bad and has a static 37 and madVR is magickly making it 37.1 or there is something going on here.

only screengrabs have been used not screenshot functions. no scaling only chroma no filter just nothing.

edit: more accurate measurement using only the 250x250 cantered pixels and infranview:

2.19x10+16 = 37.9 2.55x10 = 25.5 madVR madVR limited range the image is 37 with some rare 38 in there so in infranview 37.11. 100/219x21.11 is roughly IRE 9.639 madVR full range the image is a 50/50 24 and 25 so in infranview 24.52. 100/255x24.52 is 9.615 so madVR has an error of 0.034 or 0.249% (((100/9.615)x9.639-100)

mpv: mpv limited range is 100 37 even in infranview. 100/219x21 = 9.589 mpv full range is 90/10 24 and 25 so in infranview 24.10. ire 9.451 that's an error of 0.138 or 1.460% (((100/9.451)x9.589-100)

my best guess is it doesn't dither with limited range output creating this massive error and the file is Y 37.

Chipcraft commented 7 months ago

Passing either RGBA or BGRA pixel formats through libplacebo's "format" results in a bit-exact output however, that is not the case with either YUV420P or YUV420P10 (and potentially others).

ffmpeg -init_hw_device vulkan -i PLC_Test\Input\RGBA.png -vf libplacebo=format=rgba PLC_Test\Output\RGBA.png

ffmpeg -init_hw_device vulkan -i PLC_Test\Input\BGRA.bmp -vf libplacebo=format=bgra PLC_Test\Output\BGRA.bmp

Meanwhile, for YUV420P or YUV420P10 inputs, the "-vf libplacebo=format=yuv420p" or "-vf libplacebo=format=yuv420p10" introduces the green tint in the output.

Also, introduced a third filter for testing purposes: VPP_QSV.

The output from VPP_QSV (Crop) results in a bit-exact output with LAV.

LAV (Crop):

ffmpeg -c:v libdav1d -i Georgia_1F.obu -frames:v 1 -update 1 -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf crop=7680:4316:0:2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -pix_fmt p010le -flags +cgop -g 120 LAV.h265

libplacebo (Crop):

ffmpeg -init_hw_device vulkan -c:v libdav1d -i Georgia_1F.obu -frames:v 1 -update 1 -bsf:v hevc_metadata=chroma_sample_loc_type=2 -vf libplacebo=crop_w=7680:crop_h=4316:crop_x=0:crop_y=2:w=7680:h=4316 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -pix_fmt p010le -flags +cgop -g 120 PLC.h265

VPP_QSV (Crop):

ffmpeg -hwaccel qsv -hwaccel_output_format qsv -c:v libdav1d -i Georgia_1F.obu -bsf:v hevc_metadata=chroma_sample_loc_type=2 -frames:v 1 -update 1 -vf vpp_qsv=cw=7680:ch=4316:cx=0:cy=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -pix_fmt p010le -flags +cgop -g 120 VPP.h265

haasn commented 7 months ago

Would it be correct to assume that using "libplacebo=format=yuv420p10le" on an input, that is already in yuv420p10le format would result in either a bit-exact output, or at the very least something with a difference below the limit of the human perception?

No, libplacebo uses a fully RGB internal pipeline, so both input/output to yuv420p will require conversion (upscaling, downscaling, YCbCr<->RGB)..

mightyhuhn commented 7 months ago

an error in chroma scaling could create such an error couldn't it?

haasn commented 7 months ago

an error in chroma scaling could create such an error couldn't it?

Indeed. Maybe something you can try is comparing:

To see which of these combinations are affected

Chipcraft commented 7 months ago

an error in chroma scaling could create such an error couldn't it?

Indeed. Maybe something you can try is comparing:

  • yuv420p input, rgba output
  • yuv444p input, rgba output
  • rgba input, yuv420p output
  • rgba input, yuv444p output

To see which of these combinations are affected

mightyhuhn commented 7 months ago

that leaves rgb conversation but that looked good on paper.

does libplacebo do RGB full/limited directly or always one and then level correct them? meaning it's so unlikely but the level conversation? it's maybe done twice in this yuv420p -> yuv420p workflow or not at all.

Chipcraft commented 6 months ago

@haasn

The issue appears to be related to the height of the input frame.

The RGB to YUV output is in line with LAV as long as the frame height is < 577 pixels.

RGB 55AAFFh to YUV420P

Input height 576 pixels:

LAV Y = 94h U = B2h V = 55h

libplacebo

Y = 94/95h U = B1/B2h V = 54/55h

Input height >= 577 pixels:

LAV Y = 94h U = B2h V = 55h

libplacebo Y = 97/98h U = AD/AEh V = 57/58h

EDIT: I suppose this is not the issue here. But a bit weird the output differing from the other two filters (LAV & e.g., VPP_QSV).

mightyhuhn commented 6 months ago

if no meta data is provided it may guess bt 601 instead of bt 709

Chipcraft commented 6 months ago

if no meta data is provided it may guess bt 601 instead of bt 709

Output from the RGB-to-YUV conversion is identical regardless of the flagged colorspace, primaries, transfer and range in FFMpeg. It only changes depending on the resolution (i.e., <= 576 height and >= 577).

ffmpeg -init_hw_device vulkan -i Input\577.png -c:v rawvideo -vf libplacebo=format=yuv420p10le -strict -1 577_None-PLC.yuv

ffmpeg -init_hw_device vulkan -i Input\577.png -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -c:v rawvideo -vf libplacebo=format=yuv420p10le -strict -1 577_2020-PLC.yuv

They both produce an identical output.

haasn commented 6 months ago

On latest FFmpeg master, YUV space and range are auto-negotiated, but color primaries and TRC are not yet. I'm working on that (tm).

So your command does nothing, because vf_libplacebo does not know about what tags you're setting "downstream".

mightyhuhn commented 6 months ago

but what does libplacebo guess differently between pal resolution and bigger than pal resolution? so we may get closer to the reason of this problem?

Chipcraft commented 6 months ago

@haasn

Found the issue. It is something in the YUV420P10LE <> P010LE conversion, which is causing the observed shift in the colors. In case of LAV, the packing-unpacking process is lossless, whereas with libplacebo it is not. The issue seems to be amplified further, when a libplacebo P010LE encoded source is unpacked by LAV (see PLC_Decompress.yuv). Unpacking P010LE to YUV420P10LE "within" libplacebo isn't lossless either however, the produced difference appears to be smaller (see PLC_Decompress-2.yuv).

LAV

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -c:v rawvideo -pix_fmt yuv420p10le -strict -1 LAV_Reference.yuv

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -c:v rawvideo -pix_fmt p010le -strict -1 LAV_Packed.yuv

ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt p010le -i LAV_Packed.yuv -c:v rawvideo -pix_fmt yuv420p10le -strict -1 LAV_Decompress.yuv

"LAV_Reference.yuv" and "LAV_Decompress.yuv" are a bit-exact match.

libplacebo

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -c:v rawvideo -vf libplacebo=format=yuv420p10le -strict -1 PLC_Reference.yuv

ffmpeg -init_hw_device vulkan -i Georgia_1F.obu -c:v rawvideo -vf libplacebo=format=p010le -strict -1 PLC_Packed.yuv

ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt p010le -i PLC_Packed.yuv -c:v rawvideo -pix_fmt yuv420p10le -strict -1 PLC_Decompress.yuv

ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt p010le -i PLC_Packed.yuv -c:v rawvideo -vf libplacebo=format=yuv420p10le -strict -1 PLC_Decompress-2.yuv

Not only neither the "PLC_Decompress.yuv" or the "PLC_Decompress-2.yuv" are a bit-exact match with the "PLC_Reference.yuv", but also the "PLC_Decompress.yuv" and "PLC_Decompress-2.yuv" differ between each other.

The encoded output between the "PLC_Packed.yuv" and "PLC_Decompress.yuv" are a bit-exact match. Meanwhile, the output from "PLC_Decompress-2.yuv" source still illustrates the issue, however the difference is smaller than with "PLC_Packed.yuv" / "PLC_Decompress.yuv".

Encode parameters `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt yuv420p10le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i LAV_Reference.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le LAV_Reference.h265` `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt p010le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i LAV_Packed.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le LAV_Packed.h265` `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt yuv420p10le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i PLC_Reference.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le PLC_Reference.h265` `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt p010le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i PLC_Packed.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le PLC_Packed.h265` `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt yuv420p10le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i PLC_Decompress.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le PLC_Decompress.h265` `ffmpeg -init_hw_device vulkan -s 7680x4320 -pix_fmt yuv420p10le -colorspace bt2020nc -color_primaries bt2020 -color_trc smpte2084 -color_range limited -i PLC_Decompress-2.yuv -bsf:v hevc_metadata=chroma_sample_loc_type=2 -c:v hevc_qsv -preset veryslow -scenario archive -profile:v main10 -level:v 61 -tier high -global_quality 14 -flags +cgop -g 120 -pix_fmt p010le PLC_Decompress-2.h265`

Outputs

Source ($\color[RGB]{0,100,0} OK$ ,"Georgia_1F.obu"): https://nle-chipcraft.com/Git/PlaceboShift/Source.png

LAV ($\color[RGB]{0,100,0} OK$ , "Reference" / "Packed" / "Decompress"): https://nle-chipcraft.com/Git/PlaceboShift/LAV_Any.png

libplacebo ($\color[RGB]{0,100,0} OK$ , "Reference"): https://nle-chipcraft.com/Git/PlaceboShift/PLC_Reference.png

libplacebo ($\color[RGB]{255,0,0} FAIL$ , "Packed" / "Decompress"): https://nle-chipcraft.com/Git/PlaceboShift/PLC_Packed.png

libplacebo ($\color[RGB]{255,140,0} FAIL$, "Decompress-2"): https://nle-chipcraft.com/Git/PlaceboShift/PLC_Decompress-2.png

Chipcraft commented 2 months ago

Closing as an assumed "won't fix", since it has been six months without anything being done.