Opened 3 months ago

Last modified 2 months ago

#8962 new defect

Vulkan filters crash

Reported by: paulpacifico Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: vulkan crash
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello ffmpeg team,

I tried everything to get vulkan filters works but it just always crash...

ffmpeg version N-99827-g700c0cef20

Here is my command:

ffmpeg- loglevel debug -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i testsrc2 -vf hwupload,avgblur_vulkan -f null -

And the debug log:

ffmpeg version N-99827-g700c0cef20 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  configuration:  --disable-static --enable-shared --cc='ccache gcc' --cxx='ccache g++' --disable-autodetect --disable-debug --disable-w32threads --enable-sdl2 --enable-gpl --enable-version3 --enable-fontconfig --enable-iconv --enable-libass --enable-libdav1d --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libzimg --enable-lzma --enable-zlib --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libspeex --enable-libxvid --enable-libgsm --enable-libsvtav1 --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-libopenmpt --enable-amf --enable-opencl --enable-vulkan --enable-libglslang --enable-schannel --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-libs=-liconv --shlibdir=/local64/bin-video
  libavutil      56. 60.100 / 56. 60.100
  libavcodec     58.112.101 / 58.112.101
  libavformat    58. 64.100 / 58. 64.100
  libavdevice    58. 11.102 / 58. 11.102
  libavfilter     7. 88.100 /  7. 88.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan=vk'.
Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'vk'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'lavfi'.
Reading option '-i' ... matched as input url with argument 'testsrc2'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'hwupload,avgblur_vulkan'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument vulkan=vk.
[AVHWDeviceContext @ 0000026d757a8cc0] GPU listing:
[AVHWDeviceContext @ 0000026d757a8cc0]     0: Unknown AMD GPU (discrete) (0x6601)
[AVHWDeviceContext @ 0000026d757a8cc0] Using queue family 0 (total queues: 1) for graphics
[AVHWDeviceContext @ 0000026d757a8cc0]     QF 0 flags: (graphics) (compute) (transfers) (sparse)
[AVHWDeviceContext @ 0000026d757a8cc0] Using queue family 1 (total queues: 2) for compute
[AVHWDeviceContext @ 0000026d757a8cc0]     QF 1 flags: (compute) (transfers) (sparse)
[AVHWDeviceContext @ 0000026d757a8cc0] Using queue family 2 (total queues: 2) for transfers
[AVHWDeviceContext @ 0000026d757a8cc0]     QF 2 flags: (transfers) (sparse)
[AVHWDeviceContext @ 0000026d757a8cc0] Using device extension "VK_EXT_external_memory_host"
[AVHWDeviceContext @ 0000026d757a8cc0] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 0000026d757a8cc0] Using device: Unknown AMD GPU
[AVHWDeviceContext @ 0000026d757a8cc0] Alignments:
[AVHWDeviceContext @ 0000026d757a8cc0]     optimalBufferCopyRowPitchAlignment: 1
[AVHWDeviceContext @ 0000026d757a8cc0]     minMemoryMapAlignment:              64
[AVHWDeviceContext @ 0000026d757a8cc0]     minImportedHostPointerAlignment:    4096
Applying option filter_hw_device (set hardware device used when filtering) with argument vk.
Successfully parsed a group of options.
Parsing a group of options: input url testsrc2.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: testsrc2.
detected 4 logical cores
[Parsed_testsrc2_0 @ 0000026d757aeec0] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
[AVFilterGraph @ 0000026d77146dc0] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed
[lavfi @ 0000026d771a4480] All info found
Input #0, lavfi, from 'testsrc2':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 1, 1/25: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 0/1, 25 tbr, 25 tbn, 25 tbc
Successfully opened the file.
Parsing a group of options: output url -.
Applying option vf (set video filters) with argument hwupload,avgblur_vulkan.
Applying option f (force format) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[rawvideo @ 0000026d756d7600] PACKET SIZE: 115200, STRIDE: 480
[graph 0 input from stream 0:0 @ 0000026d771c3b00] Setting 'video_size' to value '320x240'
[graph 0 input from stream 0:0 @ 0000026d771c3b00] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0000026d771c3b00] Setting 'time_base' to value '1/25'
[graph 0 input from stream 0:0 @ 0000026d771c3b00] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 0000026d771c3b00] Setting 'frame_rate' to value '25/1'
[graph 0 input from stream 0:0 @ 0000026d771c3b00] w:320 h:240 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
[AVFilterGraph @ 0000026d756d5700] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[hwupload @ 0000026d756d54c0] Surface format is yuv420p.
[Parsed_avgblur_vulkan_1 @ 0000026d771c3700] Shader avgblur_compute_hor:
1       #version 460
2       #define IS_WITHIN(v1, v2) ((v1.x < v2.x) && (v1.y < v2.y))
3
4       layout (local_size_x = 32, local_size_y = 1, local_size_z = 1) in;
5
6       layout (set = 0, binding = 0) uniform sampler2D input_img[3];
7       layout (set = 0, binding = 1, rgba8) uniform writeonly image2D output_img[3];
8
9       #define FILTER_RADIUS (2)
10      #define INC(x) (ivec2(x, 0))
11      #define DIR(var) (var.x)
12
13      shared vec4 cache[DIR(gl_WorkGroupSize) + FILTER_RADIUS*2 + 1];
14
15      void distort(const ivec2 pos, const int idx)
16      {
17          const uint cp = DIR(gl_LocalInvocationID) + FILTER_RADIUS;
18
19          cache[cp] = texture(input_img[idx], pos);
20
21          const ivec2 loc_l = pos - INC(FILTER_RADIUS);
22          cache[cp - FILTER_RADIUS] = texture(input_img[idx], loc_l);
23
24          const ivec2 loc_h = pos + INC(DIR(gl_WorkGroupSize));
25          cache[cp + DIR(gl_WorkGroupSize)] = texture(input_img[idx], loc_h);
26
27          barrier();
28
29          vec4 sum = vec4(0);
30          for (int p = -FILTER_RADIUS; p <= FILTER_RADIUS; p++)
31              sum += cache[cp + p];
32
33          sum /= vec4(FILTER_RADIUS*2 + 1);
34          imageStore(output_img[idx], pos, sum);
35      }
36
37      void main()
38      {
39          ivec2 size;
40          const ivec2 pos = ivec2(gl_GlobalInvocationID.xy);
41
42          size = imageSize(output_img[0]);
43          if (IS_WITHIN(pos, size)) {
44              distort(pos, 0);
45          }
46
47          size = imageSize(output_img[1]);
48          if (IS_WITHIN(pos, size)) {
49              distort(pos, 1);
50          }
51
52          size = imageSize(output_img[2]);
53          if (IS_WITHIN(pos, size)) {
54              distort(pos, 2);
55          }
56      }
[Parsed_avgblur_vulkan_1 @ 0000026d771c3700] Shader avgblur_compute_hor linked! Size: 4340 bytes

Then crash...

I know my vulkan GPU shows "Unknown" but i get the same crash on any computer (AMD or Nvidia on Windows plateform).

Thanks for all.
Paul.

Change History (2)

comment:1 Changed 2 months ago by Gyan

Can reproduce with my build on Windows 7 but not on Windows 10. The former has a discrete Nvidia Maxwell 1 GPU (750 Ti). Vulkan API 1.2.142. Driver 456.55. There's an access violation (c0000005) in nvoglv64.dll reported. The Vulkan Cube supplied with LunarG's Vulkan SDK works.

These are the contents of nv-vk64.json

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": ".\\nvoglv64.dll",
        "api_version" : "1.2.142"
    },
    "layer": {
        "name": "VK_LAYER_NV_optimus",
        "type": "INSTANCE",
        "library_path": ".\\nvoglv64.dll",
        "api_version" : "1.2.142",
        "implementation_version" : "1",
        "description" : "NVIDIA Optimus layer",
        "functions": {
            "vkGetInstanceProcAddr": "vk_optimusGetInstanceProcAddr",
            "vkGetDeviceProcAddr": "vk_optimusGetDeviceProcAddr"
        },
        "disable_environment": {
            "DISABLE_LAYER_NV_OPTIMUS_1": ""
        }
    }
}

The (working) Windows 10 GPU is the on-die Intel® UHD Graphics 630.

comment:2 Changed 2 months ago by Anton1699

I can reproduce this with an Nvidia GTX 1060 6GB on Windows 8.1 Pro x64.

ffmpeg started on 2020-11-05 at 18:25:25
Report written to "ffmpeg-20201105-182525.log"
Log level: 48
Command line:
ffmpeg -hide_banner -report -init_hw_device "vulkan=gpu:0" -filter_hw_device gpu -i e17.mkv -filter_complex "[0:0]hwupload,scale_vulkan=1280:720,hwdownload,format=yuv420p[out]" -map "[out]" -f null NUL
Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan=gpu:0'.
Reading option '-filter_hw_device' ... matched as option 'filter_hw_device' (set hardware device used when filtering) with argument 'gpu'.
Reading option '-i' ... matched as input url with argument 'e17.mkv'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[0:0]hwupload,scale_vulkan=1280:720,hwdownload,format=yuv420p[out]'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[out]'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option 'NUL' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option report (generate a report) with argument 1.
Applying option init_hw_device (initialise hardware device) with argument vulkan=gpu:0.
[AVHWDeviceContext @ 00000006183c0fc0] GPU listing:
[AVHWDeviceContext @ 00000006183c0fc0]     0: GeForce GTX 1060 6GB (discrete) (0x1c03)
[AVHWDeviceContext @ 00000006183c0fc0] Using queue family 0 (total queues: 16) for graphics 
[AVHWDeviceContext @ 00000006183c0fc0]     QF 0 flags: (graphics) (compute) (transfers) (sparse) 
[AVHWDeviceContext @ 00000006183c0fc0] Using queue family 2 (total queues: 8) for compute 
[AVHWDeviceContext @ 00000006183c0fc0]     QF 2 flags: (compute) (transfers) (sparse) 
[AVHWDeviceContext @ 00000006183c0fc0] Using queue family 1 (total queues: 2) for transfers 
[AVHWDeviceContext @ 00000006183c0fc0]     QF 1 flags: (transfers) (sparse) 
[AVHWDeviceContext @ 00000006183c0fc0] Using device extension "VK_EXT_external_memory_host"
[AVHWDeviceContext @ 00000006183c0fc0] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 00000006183c0fc0] Using device: GeForce GTX 1060 6GB
[AVHWDeviceContext @ 00000006183c0fc0] Alignments:
[AVHWDeviceContext @ 00000006183c0fc0]     optimalBufferCopyRowPitchAlignment: 1
[AVHWDeviceContext @ 00000006183c0fc0]     minMemoryMapAlignment:              64
[AVHWDeviceContext @ 00000006183c0fc0]     minImportedHostPointerAlignment:    4096
Applying option filter_hw_device (set hardware device used when filtering) with argument gpu.
Applying option filter_complex (create a complex filtergraph) with argument [0:0]hwupload,scale_vulkan=1280:720,hwdownload,format=yuv420p[out].
Successfully parsed a group of options.
Parsing a group of options: input url e17.mkv.
Successfully parsed a group of options.
Opening an input file: e17.mkv.
[NULL @ 00000006183c94c0] Opening 'e17.mkv' for reading
[file @ 00000006183c9b00] Setting default whitelist 'file,crypto,data'
[matroska,webm @ 00000006183c94c0] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
st:2 removing common factor 1000000 from timebase
[matroska,webm @ 00000006183c94c0] Before avformat_find_stream_info() pos: 3003 bytes read:34002 seeks:2 nb_streams:3
[h264 @ 00000006183f2180] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006183f2180] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006183f2180] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006183f2180] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006183f2180] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183f2180] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183f2180] Format yuv420p chosen by get_format().
[h264 @ 00000006183f2180] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006183f2180] no picture 
[h264 @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006183f2180] ct_type:4 pic_struct:0
[matroska,webm @ 00000006183c94c0] All info found
[matroska,webm @ 00000006183c94c0] After avformat_find_stream_info() pos: 43464 bytes read:99538 seeks:2 frames:21
Input #0, matroska,webm, from 'e17.mkv':
  Metadata:
    encoder         : libmakemkv v1.15.3 (1.3.10/1.5.2) win(x64-release)
    creation_time   : 2020-10-15T19:05:52.000000Z
  Duration: 00:43:09.25, start: 0.000000, bitrate: 31281 kb/s
    Chapter #0:0: start 0.000000, end 103.520083
    Metadata:
      title           : Chapter 01
    Chapter #0:1: start 103.520083, end 627.501875
    Metadata:
      title           : Chapter 02
    Chapter #0:2: start 627.501875, end 1276.817208
    Metadata:
      title           : Chapter 03
    Chapter #0:3: start 1276.817208, end 2009.841167
    Metadata:
      title           : Chapter 04
    Chapter #0:4: start 2009.841167, end 2561.433875
    Metadata:
      title           : Chapter 05
    Chapter #0:5: start 2561.433875, end 2589.253333
    Metadata:
      title           : Chapter 06
    Stream #0:0(eng), 3, 1/1000: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
    Metadata:
      BPS-eng         : 27026968
      DURATION-eng    : 00:43:09.253333333
      NUMBER_OF_FRAMES-eng: 62080
      NUMBER_OF_BYTES-eng: 8747457377
      SOURCE_ID-eng   : 001011
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.15.3 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-10-15 19:05:52
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Stream #0:1(deu), 9, 1/1000: Audio: dts (DTS-HD MA), 48000 Hz, stereo, s32p (24 bit) (default)
    Metadata:
      title           : Stereo
      BPS-eng         : 2109585
      DURATION-eng    : 00:43:09.258666666
      NUMBER_OF_FRAMES-eng: 242743
      NUMBER_OF_BYTES-eng: 682782536
      SOURCE_ID-eng   : 001100
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.15.3 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-10-15 19:05:52
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Stream #0:2(eng), 9, 1/1000: Audio: dts (DTS-HD MA), 48000 Hz, stereo, s32p (24 bit)
    Metadata:
      title           : Stereo
      BPS-eng         : 2140467
      DURATION-eng    : 00:43:09.258666666
      NUMBER_OF_FRAMES-eng: 242743
      NUMBER_OF_BYTES-eng: 692777912
      SOURCE_ID-eng   : 001101
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.15.3 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-10-15 19:05:52
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
Successfully opened the file.
[Parsed_scale_vulkan_1 @ 0000000618952dc0] Setting 'w' to value '1280'
[Parsed_scale_vulkan_1 @ 0000000618952dc0] Setting 'h' to value '720'
[Parsed_format_3 @ 00000006235a9680] Setting 'pix_fmts' to value 'yuv420p'
Parsing a group of options: output url NUL.
Applying option map (set input stream mapping) with argument [out].
Applying option f (force format) with argument null.
Successfully parsed a group of options.
Opening an output file: NUL.
Successfully opened the file.
detected 12 logical cores
[h264 @ 00000006183c08c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
Stream mapping:
  Stream #0:0 (h264) -> hwupload
  format -> Stream #0:0 (wrapped_avframe)
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 00000006183c08c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006183c08c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006183c08c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006183c08c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 00000006183c08c0] Format yuv420p chosen by get_format().
[h264 @ 00000006183c08c0] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 00000006183c08c0] ct_type:4 pic_struct:0
[h264 @ 00000006183c08c0] no picture 
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0000000623969fc0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0000000623969fc0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000000623969fc0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0000000623969fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000623969fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000623969fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000623969fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000623969fc0] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 0000000618951400] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0000000618951400] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000000618951400] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0000000618951400] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951400] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951400] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951400] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951400] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0000000618951880] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0000000618951880] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000000618951880] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0000000618951880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0000000618951880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 0000000618951880] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 0000000618951fc0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0000000618951fc0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0000000618951fc0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0000000618951fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000618951fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000618951fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000618951fc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0000000618951fc0] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 00000006237a7740] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237a7740] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a7740] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a7740] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7740] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7740] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7740] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a7740] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a84c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237a84c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a84c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a84c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a84c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a84c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a84c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a84c0] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 00000006237a9bc0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237a9bc0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a9bc0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a9bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237a9bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237a9bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237a9bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a9bc0] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237aa040] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237aa040] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237aa040] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237aa040] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237aa040] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237aa040] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237aa040] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237aa040] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a7280] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237a7280] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a7280] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a7280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a7280] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 00000006237aa4c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237aa4c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237aa4c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237aa4c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237aa4c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237aa4c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237aa4c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006237aa4c0] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a9700] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006237a9700] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a9700] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a9700] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9700] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9700] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9700] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9700] ct_type:4 pic_struct:0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 00000006237a9280] nal_unit_type: 9(AUD), nal_ref_idc: 0
[NULL @ 00000006183f2180] ct_type:4 pic_struct:0
[h264 @ 00000006237a9280] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006237a9280] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006237a9280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9280] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 00000006237a9280] ct_type:4 pic_struct:0
[h264 @ 00000006183c08c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 00000006183c08c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 00000006183c08c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 00000006183c08c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006183c08c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006183c08c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006183c08c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 00000006183c08c0] ct_type:4 pic_struct:0
[Parsed_scale_vulkan_1 @ 00000006239715c0] Setting 'w' to value '1280'
[Parsed_scale_vulkan_1 @ 00000006239715c0] Setting 'h' to value '720'
[Parsed_format_3 @ 000000062718ef00] Setting 'pix_fmts' to value 'yuv420p'
[graph 0 input from stream 0:0 @ 000000062397eec0] Setting 'video_size' to value '1920x1080'
[graph 0 input from stream 0:0 @ 000000062397eec0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 000000062397eec0] Setting 'time_base' to value '1/1000'
[graph 0 input from stream 0:0 @ 000000062397eec0] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 000000062397eec0] Setting 'frame_rate' to value '24000/1001'
[graph 0 input from stream 0:0 @ 000000062397eec0] w:1920 h:1080 pixfmt:yuv420p tb:1/1000 fr:24000/1001 sar:1/1
[AVFilterGraph @ 0000000623963b00] query_formats: 6 queried, 5 merged, 0 already done, 0 delayed
[hwupload @ 0000000628972a00] Surface format is yuv420p.
[Parsed_scale_vulkan_1 @ 00000006239715c0] Shader scale_compute: 
1	#version 460
2	#define IS_WITHIN(v1, v2) ((v1.x < v2.x) && (v1.y < v2.y))
3	
4	layout (local_size_x = 32, local_size_y = 32, local_size_z = 1) in;
5	
6	layout (set = 0, binding = 0) uniform sampler2D input_img[3];
7	layout (set = 0, binding = 1, rgba8) uniform writeonly image2D output_img[3];
8	
9	layout (set = 1, binding = 0, std430) readonly buffer params {
10	    mat4 yuv_matrix;
11	};
12	
13	
14	vec4 scale_bilinear(int idx, ivec2 pos, vec2 crop_range, vec2 crop_off)
15	{
16	    vec2 npos = (vec2(pos) + 0.5f) / imageSize(output_img[idx]);
17	    npos *= crop_range;
18	    npos += crop_off;
19	    return texture(input_img[idx], npos);
20	}
21	
22	
23	void write_420(vec4 src, ivec2 pos)
24	{
25	    imageStore(output_img[0], pos, vec4(src.r, 0.0, 0.0, 0.0));
26	    pos /= ivec2(2);
27	    imageStore(output_img[1], pos, vec4(src.g, 0.0, 0.0, 0.0));
28	    imageStore(output_img[2], pos, vec4(src.b, 0.0, 0.0, 0.0));
29	}
30	
31	void main()
32	{[Parsed_scale_vulkan_1 @ 00000006239715c0] Shader scale_compute linked! Size: 2464 bytes
Note: See TracTickets for help on using tickets.