I believe there were concerns on pushing the CUDA thumbnail filter and that is 
possible to get similar performance using the normal thumbnail filter. The CUDA 
thumbnail filter is useful for generating thumbnails on the hwaccel cuvid 
pipeline, as it can directly operate on the video memory and give significantly 
higher performance, owing to the fact that there are no sysmem to vidmem copies 
as well as the fact that the encoding and CUDA HW being separate, the CUDA 
thumbnail filter may not degrade the encode performance at all.

The following commands run show that using the Cuda thumbnail filter on the hw 
pipeline could be 3x-4x faster.

E:\>ffmpeg -vsync 0 -y -hwaccel cuvid -c:v h264_cuvid -i amazing.264 
-filter_complex 
[0:v]split=2[in0][in1];[in0]thumbnail_cuda=600,hwdownload,format=nv12[out0];[in1]scale_npp=1920:1080
[out1] -map [out0] thumb%03d.jpg -map [out1] -c:v h264_nvenc out.264 2> hw.txt

E:\>ffmpeg -vsync 0 -y -c:v h264_cuvid -i amazing.264 -filter_complex 
[0:v]split=2[in0][in1];[in0]thumbnail[out0];[in1]scale[out1] -map [out0] 
thumb%03d.jpg -map [out1] -c:v h264_nvenc
out.264 2> sw.txt

Thanks,
Yogender

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers
  built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64
  configuration: --enable-nonfree --disable-shared --enable-nvenc --enable-cuda 
--enable-cuvid --enable-libnpp --enable-cuda-sdk --enable-libnpp 
--extra-cflags=-Ilocal/include --extra-cflags=-I../nv_sdk 
--extra-ldflags='-libpath:../nv_sdk' --toolchain=msvc
  libavutil      55. 74.100 / 55. 74.100
  libavcodec     57.104.101 / 57.104.101
  libavformat    57. 81.100 / 57. 81.100
  libavdevice    57.  8.100 / 57.  8.100
  libavfilter     6.101.100 /  6.101.100
  libswscale      4.  7.103 /  4.  7.103
  libswresample   2.  8.100 /  2.  8.100
[h264 @ 00000057E4367AE0] Stream #0: not enough frames to estimate rate; 
consider increasing probesize
Input #0, h264, from 'amazing.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1072 [SAR 
134:135 DAR 16:9], 24 fps, 24 tbr, 1200k tbn, 48 tbc
Stream mapping:
  Stream #0:0 (h264_cuvid) -> split
  format -> Stream #0:0 (mjpeg)
  scale_npp -> Stream #1:0 (h264_nvenc)
Press [q] to stop, [?] for help
[swscaler @ 00000057E43BF400] deprecated pixel format used, make sure you did 
set range correctly
Output #0, image2, to 'thumb%03d.jpg':
  Metadata:
    encoder         : Lavf57.81.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 1920x1072 [SAR 134:135 DAR 16:9], 
q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc
    Metadata:
      encoder         : Lavc57.104.101 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Output #1, h264, to 'out.264':
  Metadata:
    encoder         : Lavf57.81.100
    Stream #1:0: Video: h264 (h264_nvenc) (Main), cuda, 1920x1080 [SAR 1:1 DAR 
16:9], q=-1--1, 2000 kb/s, 24 fps, 24 tbn, 24 tbc
    Metadata:
      encoder         : Lavc57.104.101 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:06.12 bitrate=N/A 
speed=12.2x    
frame=    0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:12.91 bitrate=N/A 
speed=12.9x    
frame=    0 fps=0.0 q=0.0 q=29.0 size=N/A time=00:00:18.58 bitrate=N/A 
speed=12.3x    
frame=    0 fps=0.0 q=0.0 q=27.0 size=N/A time=00:00:24.20 bitrate=N/A speed=  
12x    
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #150 (pts_time=6.249990) 
selected from a set of 600 images
frame=    1 fps=0.4 q=3.0 q=25.0 size=N/A time=00:00:30.54 bitrate=N/A 
speed=12.2x    
frame=    1 fps=0.3 q=3.0 q=28.0 size=N/A time=00:00:37.37 bitrate=N/A 
speed=12.4x    
frame=    1 fps=0.3 q=3.0 q=29.0 size=N/A time=00:00:44.00 bitrate=N/A 
speed=12.5x    
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #461 (pts_time=44.208262) 
selected from a set of 600 images
frame=    2 fps=0.5 q=1.6 q=29.0 size=N/A time=00:00:50.25 bitrate=N/A 
speed=12.5x    
frame=    2 fps=0.4 q=1.6 q=31.0 size=N/A time=00:00:56.91 bitrate=N/A 
speed=12.6x    
frame=    2 fps=0.4 q=1.6 q=30.0 size=N/A time=00:01:03.41 bitrate=N/A 
speed=12.6x    
frame=    2 fps=0.4 q=1.6 q=25.0 size=N/A time=00:01:09.83 bitrate=N/A 
speed=12.6x    
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #216 (pts_time=58.999906) 
selected from a set of 600 images
frame=    3 fps=0.5 q=1.6 q=27.0 size=N/A time=00:01:15.91 bitrate=N/A 
speed=12.6x    
frame=    3 fps=0.5 q=1.6 q=26.0 size=N/A time=00:01:22.00 bitrate=N/A 
speed=12.6x    
[NULL @ 00000057E437A9E0] missing picture in access unit with size 37
[Parsed_thumbnail_cuda_1 @ 00000057E6D88900] frame id #104 (pts_time=79.333207) 
selected from a set of 237 images
frame=    4 fps=0.6 q=2.0 Lq=25.0 size=N/A time=00:01:25.12 bitrate=N/A 
speed=12.6x    
video:21132kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: unknown
ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers
  built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64
  configuration: --enable-nonfree --disable-shared --enable-nvenc --enable-cuda 
--enable-cuvid --enable-libnpp --enable-cuda-sdk --enable-libnpp 
--extra-cflags=-Ilocal/include --extra-cflags=-I../nv_sdk 
--extra-ldflags='-libpath:../nv_sdk' --toolchain=msvc
  libavutil      55. 74.100 / 55. 74.100
  libavcodec     57.104.101 / 57.104.101
  libavformat    57. 81.100 / 57. 81.100
  libavdevice    57.  8.100 / 57.  8.100
  libavfilter     6.101.100 /  6.101.100
  libswscale      4.  7.103 /  4.  7.103
  libswresample   2.  8.100 /  2.  8.100
[h264 @ 000000CDC1327A20] Stream #0: not enough frames to estimate rate; 
consider increasing probesize
Input #0, h264, from 'amazing.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1072 [SAR 
134:135 DAR 16:9], 24 fps, 24 tbr, 1200k tbn, 48 tbc
Stream mapping:
  Stream #0:0 (h264_cuvid) -> split
  thumbnail -> Stream #0:0 (mjpeg)
  scale -> Stream #1:0 (h264_nvenc)
Press [q] to stop, [?] for help
[swscaler @ 000000CDC4970FC0] deprecated pixel format used, make sure you did 
set range correctly
Output #0, image2, to 'thumb%03d.jpg':
  Metadata:
    encoder         : Lavf57.81.100
    Stream #0:0: Video: mjpeg, yuvj444p(pc), 1920x1072 [SAR 134:135 DAR 16:9], 
q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc
    Metadata:
      encoder         : Lavc57.104.101 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Output #1, h264, to 'out.264':
  Metadata:
    encoder         : Lavf57.81.100
    Stream #1:0: Video: h264 (h264_nvenc) (Main), nv12, 1920x1080 [SAR 1:1 DAR 
16:9], q=-1--1, 2000 kb/s, 24 fps, 24 tbn, 24 tbc
    Metadata:
      encoder         : Lavc57.104.101 h264_nvenc
    Side data:
      cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 4000000 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:00.95 bitrate=N/A speed= 
1.9x    
frame=    0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:02.41 bitrate=N/A speed= 
2.4x    
frame=    0 fps=0.0 q=0.0 q=25.0 size=N/A time=00:00:03.87 bitrate=N/A 
speed=2.57x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #13 (pts_time=0.541666) 
selected from a set of 100 images
frame=    1 fps=0.5 q=3.9 q=25.0 size=N/A time=00:00:05.37 bitrate=N/A 
speed=2.67x    
frame=    1 fps=0.4 q=3.9 q=25.0 size=N/A time=00:00:07.00 bitrate=N/A 
speed=2.78x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #29 (pts_time=5.374992) 
selected from a set of 100 images
frame=    2 fps=0.7 q=1.9 q=29.0 size=N/A time=00:00:08.54 bitrate=N/A 
speed=2.82x    
frame=    2 fps=0.6 q=1.9 q=25.0 size=N/A time=00:00:10.20 bitrate=N/A 
speed=2.88x    
frame=    2 fps=0.5 q=1.9 q=25.0 size=N/A time=00:00:11.87 bitrate=N/A 
speed=2.93x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #86 (pts_time=11.916648) 
selected from a set of 100 images
frame=    3 fps=0.7 q=1.6 q=25.0 size=N/A time=00:00:13.41 bitrate=N/A 
speed=2.94x    
frame=    3 fps=0.6 q=1.6 q=25.0 size=N/A time=00:00:15.08 bitrate=N/A 
speed=2.98x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #72 (pts_time=15.499975) 
selected from a set of 100 images
frame=    4 fps=0.7 q=2.2 q=26.0 size=N/A time=00:00:16.62 bitrate=N/A 
speed=2.98x    
frame=    4 fps=0.7 q=2.2 q=29.0 size=N/A time=00:00:18.25 bitrate=N/A speed=   
3x    
frame=    4 fps=0.6 q=2.2 q=27.0 size=N/A time=00:00:19.87 bitrate=N/A 
speed=3.02x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #98 (pts_time=20.749967) 
selected from a set of 100 images
frame=    5 fps=0.7 q=4.3 q=28.0 size=N/A time=00:00:21.41 bitrate=N/A 
speed=3.02x    
frame=    5 fps=0.7 q=4.3 q=28.0 size=N/A time=00:00:23.04 bitrate=N/A 
speed=3.03x    
frame=    5 fps=0.6 q=4.3 q=29.0 size=N/A time=00:00:24.66 bitrate=N/A 
speed=3.04x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #57 (pts_time=23.208296) 
selected from a set of 100 images
frame=    6 fps=0.7 q=6.8 q=27.0 size=N/A time=00:00:26.20 bitrate=N/A 
speed=3.04x    
frame=    6 fps=0.7 q=6.8 q=26.0 size=N/A time=00:00:27.87 bitrate=N/A 
speed=3.05x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #91 (pts_time=28.791621) 
selected from a set of 100 images
frame=    7 fps=0.7 q=9.6 q=26.0 size=N/A time=00:00:29.41 bitrate=N/A 
speed=3.05x    
frame=    7 fps=0.7 q=9.6 q=28.0 size=N/A time=00:00:31.08 bitrate=N/A 
speed=3.06x    
frame=    7 fps=0.7 q=9.6 q=30.0 size=N/A time=00:00:32.70 bitrate=N/A 
speed=3.07x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #38 (pts_time=30.749951) 
selected from a set of 100 images
frame=    8 fps=0.7 q=12.4 q=29.0 size=N/A time=00:00:34.25 bitrate=N/A 
speed=3.07x    
frame=    8 fps=0.7 q=12.4 q=28.0 size=N/A time=00:00:35.87 bitrate=N/A 
speed=3.08x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #21 (pts_time=34.208278) 
selected from a set of 100 images
frame=    9 fps=0.7 q=15.3 q=28.0 size=N/A time=00:00:37.45 bitrate=N/A 
speed=3.08x    
frame=    9 fps=0.7 q=15.3 q=29.0 size=N/A time=00:00:39.08 bitrate=N/A 
speed=3.08x    
frame=    9 fps=0.7 q=15.3 q=30.0 size=N/A time=00:00:40.75 bitrate=N/A 
speed=3.09x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #47 (pts_time=39.458270) 
selected from a set of 100 images
frame=   10 fps=0.7 q=18.3 q=28.0 size=N/A time=00:00:42.29 bitrate=N/A 
speed=3.09x    
frame=   10 fps=0.7 q=18.3 q=28.0 size=N/A time=00:00:43.91 bitrate=N/A 
speed=3.09x    
frame=   10 fps=0.7 q=18.3 q=29.0 size=N/A time=00:00:45.54 bitrate=N/A speed= 
3.1x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #47 (pts_time=43.624930) 
selected from a set of 100 images
frame=   11 fps=0.7 q=21.3 q=28.0 size=N/A time=00:00:47.08 bitrate=N/A speed= 
3.1x    
frame=   11 fps=0.7 q=21.3 q=31.0 size=N/A time=00:00:48.75 bitrate=N/A speed= 
3.1x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #63 (pts_time=48.458256) 
selected from a set of 100 images
frame=   12 fps=0.7 q=24.3 q=29.0 size=N/A time=00:00:50.29 bitrate=N/A speed= 
3.1x    
frame=   12 fps=0.7 q=24.3 q=29.0 size=N/A time=00:00:51.95 bitrate=N/A 
speed=3.11x    
frame=   12 fps=0.7 q=24.3 q=33.0 size=N/A time=00:00:53.62 bitrate=N/A 
speed=3.11x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #64 (pts_time=52.666582) 
selected from a set of 100 images
frame=   13 fps=0.7 q=24.8 q=32.0 size=N/A time=00:00:55.16 bitrate=N/A 
speed=3.11x    
frame=   13 fps=0.7 q=24.8 q=31.0 size=N/A time=00:00:56.83 bitrate=N/A 
speed=3.11x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #66 (pts_time=56.916576) 
selected from a set of 100 images
frame=   14 fps=0.7 q=24.8 q=31.0 size=N/A time=00:00:58.37 bitrate=N/A 
speed=3.11x    
frame=   14 fps=0.7 q=24.8 q=28.0 size=N/A time=00:01:00.00 bitrate=N/A 
speed=3.12x    
frame=   14 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:01.66 bitrate=N/A 
speed=3.12x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #39 (pts_time=59.958238) 
selected from a set of 100 images
frame=   15 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:03.20 bitrate=N/A 
speed=3.12x    
frame=   15 fps=0.7 q=24.8 q=29.0 size=N/A time=00:01:04.87 bitrate=N/A 
speed=3.12x    
frame=   15 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:06.50 bitrate=N/A 
speed=3.13x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #55 (pts_time=64.791563) 
selected from a set of 100 images
frame=   16 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:08.04 bitrate=N/A 
speed=3.12x    
frame=   16 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:09.66 bitrate=N/A 
speed=3.13x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #79 (pts_time=69.958222) 
selected from a set of 100 images
frame=   17 fps=0.7 q=24.8 q=25.0 size=N/A time=00:01:11.20 bitrate=N/A 
speed=3.12x    
frame=   17 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:12.83 bitrate=N/A 
speed=3.13x    
frame=   17 fps=0.7 q=24.8 q=25.0 size=N/A time=00:01:14.45 bitrate=N/A 
speed=3.13x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #71 (pts_time=73.791548) 
selected from a set of 100 images
frame=   18 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:16.00 bitrate=N/A 
speed=3.13x    
frame=   18 fps=0.7 q=24.8 q=27.0 size=N/A time=00:01:17.62 bitrate=N/A 
speed=3.13x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #33 (pts_time=76.374877) 
selected from a set of 100 images
frame=   19 fps=0.8 q=24.8 q=26.0 size=N/A time=00:01:19.12 bitrate=N/A 
speed=3.13x    
frame=   19 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:20.75 bitrate=N/A 
speed=3.13x    
frame=   19 fps=0.7 q=24.8 q=26.0 size=N/A time=00:01:22.33 bitrate=N/A 
speed=3.13x    
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #38 (pts_time=80.749871) 
selected from a set of 100 images
frame=   20 fps=0.7 q=24.8 q=24.0 size=N/A time=00:01:23.83 bitrate=N/A 
speed=3.12x    
[NULL @ 000000CDC13399E0] missing picture in access unit with size 37
[Parsed_thumbnail_1 @ 000000CDC48E4F00] frame id #14 (pts_time=83.916533) 
selected from a set of 37 images
frame=   21 fps=0.8 q=24.8 Lq=26.0 size=N/A time=00:01:25.12 bitrate=N/A 
speed=3.13x    
video:22454kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: unknown
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to