[FFmpeg-user] Trouble transcoding with cuda

Michael Shaffer mikeshaffer at gmail.com
Fri Sep 6 21:13:35 EEST 2019


I'm using NVENC on a GeForce 1060 to do a "-vf curves" type of filter (for
removing fog/haze from a web cam view). A while ago someone on here told me
that the CPU actually does the filter. The GPU does the encoding to H264.
Just an idea, but maybe the CPU is handling the filter you're trying to run
and that's why it's so slow.

On Fri, Sep 6, 2019 at 1:10 PM Ray Randomnic <randomnicode at gmail.com> wrote:

> Hey folks, any luck with this??
>
>
>
> On Wed, Sep 4, 2019 at 2:07 PM Ray Randomnic <randomnicode at gmail.com>
> wrote:
>
> > ffmpeg version N-94578-gd6bd902599-gcff309097a+3 Copyright (c) 2000-2019
> > the FFmpeg developers
> >   built with gcc 9.2.0 (Rev1, Built by MSYS2 project)
> >   configuration:  --disable-autodetect --enable-amf --enable-bzlib
> > --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2
> --enable-iconv
> > --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2
> --enable-ffnvcodec
> > --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-libopus
> > --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
> > --enable-libdav1d --disable-debug --enable-fontconfig --enable-libass
> > --enable-libbluray --enable-libfreetype --enable-libmfx
> --enable-libmysofa
> > --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libopenjpeg
> > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora
> > --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc
> > --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg
> > --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid
> > --enable-libaom --enable-libopenmpt --enable-version3
> --enable-chromaprint
> > --enable-decklink --enable-frei0r --enable-libbs2b --enable-libcaca
> > --enable-libcdio --enable-libfdk-aac --enable-libflite
> --enable-libfribidi
> > --enable-libgme --enable-libgsm --enable-libilbc --enable-libsvthevc
> > --enable-libkvazaar --enable-libmodplug --enable-librtmp
> > --enable-librubberband --enable-libssh --enable-libtesseract
> > --enable-libxavs --enable-libzmq --enable-libzvbi --enable-openal
> > --enable-libvmaf --enable-libcodec2 --enable-libsrt --enable-ladspa
> > --enable-opencl --enable-opengl --enable-libnpp --enable-libopenh264
> > --enable-openssl --extra-cflags=-fopenmp --extra-libs=-lgomp
> > --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++
> > --extra-cflags=-DLIBSSH_STATIC
> > --extra-ldflags='-Wl,--allow-multiple-definition'
> > --extra-cflags=-DCACA_STATIC --extra-cflags=-DMODPLUG_STATIC
> > --extra-cflags=-DCHROMAPRINT_NODLL --extra-libs=-lstdc++
> > --extra-cflags=-DZMQ_STATIC --extra-libs=-lpsapi
> > --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --disable-w32threads
> > --extra-cflags=-DKVZ_STATIC_LIB --enable-nonfree
> > --extra-cflags='-IC:/PROGRA~1/NVIDIA~2/CUDA/v10.1/include'
> > --extra-ldflags='-LC:/PROGRA~1/NVIDIA~2/CUDA/v10.1/lib/x64'
> >   libavutil      56. 33.100 / 56. 33.100
> >   libavcodec     58. 55.100 / 58. 55.100
> >   libavformat    58. 31.101 / 58. 31.101
> >   libavdevice    58.  9.100 / 58.  9.100
> >   libavfilter     7. 58.100 /  7. 58.100
> >   libswscale      5.  6.100 /  5.  6.100
> >   libswresample   3.  6.100 /  3.  6.100
> >   libpostproc    55.  6.100 / 55.  6.100
> > Hyper fast Audio and Video encoder
> >
> > On Wed, Sep 4, 2019 at 2:05 PM Ray Randomnic <randomnicode at gmail.com>
> > wrote:
> >
> >> Link for the sample is still alive. I am able to download it.
> Right-click
> >> and click save (or use wget or curl?)?
> >> http://awakeman.redirectme.net/web/testvideo/sample.mp4
> >>
> >> As mentioned in the first email, the ffmpeg version is
> >> N-94578-gd6bd902599-gcff309097a+3
> >>
> >> It's compiled from the latest source as of a week ago.
> >>
> >>
> >>
> >> On Wed, Sep 4, 2019 at 11:39 AM Dennis Mungai <dmngaie at gmail.com>
> wrote:
> >>
> >>> On Wed, 4 Sep 2019 at 07:38, Ray Randomnic <randomnicode at gmail.com>
> >>> wrote:
> >>> >
> >>> > Hey,
> >>> >
> >>> > Sure, any video taken by a Samsung device (such as Note or Galaxy S9
> or
> >>> > S10) with the HDR10+ setting will do. A sample is posted here:
> >>> > http://awakeman.redirectme.net/web/testvideo/sample.mp4
> >>> >
> >>> > Thanks.
> >>> >
> >>> > On Tue, Sep 3, 2019 at 10:07 PM Dennis Mungai <dmngaie at gmail.com>
> >>> wrote:
> >>> >
> >>> > > On Wed, 4 Sep 2019 at 04:32, Ray Randomnic <randomnicode at gmail.com
> >
> >>> wrote:
> >>> > > >
> >>> > > > Hey folks,
> >>> > > >
> >>> > > > I'm trying to transcode an HEVC (yuv420p10le) encoded file to
> H264
> >>> using
> >>> > > a
> >>> > > > GTX 1650 nvenc and having issues with what I assume are the pixel
> >>> formats
> >>> > > > conversions on hardware. My encode speed (in fps) is pretty low
> >>> (see
> >>> > > > below), far lower than I get when transcoding HEVC -> HEVC.
> ffmpeg
> >>> > > version
> >>> > > > is N-94578-gd6bd902599-gcff309097a+3 (on a Windows 10 OS, though
> I
> >>> don't
> >>> > > > think this is relevant). For the purposes of this experiment,
> >>> let's say
> >>> > > I'm
> >>> > > > not concerned with lossiness with format conversions.
> >>> > > >
> >>> > > > I'd like to know what I'm doing wrong and what commands I can
> >>> issue for
> >>> > > the
> >>> > > > following:
> >>> > > > decode on GPU -> format conversion (if necessary) on GPU ->
> encode
> >>> on
> >>> > > GPU.
> >>> > > > I might not be understanding a few concepts.
> >>> > > >
> >>> > > > The combination of options that I thought were available and I
> >>> tried out
> >>> > > > are:
> >>> > > > - decoder (I mostly left this blank for auto) and encoder (always
> >>> > > > h264_nvenc)
> >>> > > > - hwaccel
> >>> > > > - hwaccel_output_format
> >>> > > > - filters (vf):
> >>> > > >   - format
> >>> > > >   - scale_npp (for format conversion on gpu)
> >>> > > >
> >>> > > > I have no idea what the options pix_fmt or other filters like
> >>> colorspace
> >>> > > do
> >>> > > > for hardware (how is pix_fmt different from
> >>> hwaccel_output_format?). At
> >>> > > > this point I'm kind of stuck. Don't know how to convert formats
> on
> >>> the
> >>> > > GPU
> >>> > > > (I assume the format conversion is happening on the CPU).
> >>> > > >
> >>> > > > Input details:
> >>> > > > ffprobe input.mp4
> >>> > > >
> >>> > > > Stream #0:0(eng): Video: hevc (Main 10) (hvc1 / 0x31637668),
> >>> > > > yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 1920x1080, 24886
> kb/s,
> >>> SAR
> >>> > > 1:1
> >>> > > > DAR 16:9, 29.99 fps, ...
> >>> > > >
> >>> > > > Summary of various combinations (- indicates left blank):
> >>> > > > test | hwaccel | hwaccel_output_format | filter (vf)
>   |
> >>> > > > encodefps | note
> >>> > > > 1    | cuda    | -                     | -
> >>> | X
> >>> > > >    | Failed
> >>> > > > 2    | cuda    | cuda                  | -
> >>> | X
> >>> > > >    | Failed
> >>> > > > 3    | cuda    | yuv420p               | -
> >>> | 361
> >>> > > >    | Video messed up
> >>> > > > 4    | cuda    | cuda                  | format=yuv420p
> >>>  | X
> >>> > > >    | Failed
> >>> > > > 5    | cuvid   | cuda                  | format=yuv420p
> >>>  | 91
> >>> > > >   | Not using GPU decode
> >>> > > > 6    | cuda    | -                     | format=yuv420p
> >>>  | 161
> >>> > > >    | Not using GPU format conversion
> >>> > > > 7    | cuvid   | -                     | format=yuv420p
> >>>  | 91
> >>> > > >   | Not using GPU decode
> >>> > > > 8    | cuda    | -                     | scale_npp=format=yuv420p
> >>> | X
> >>> > > >    | Failed
> >>> > > > 9    | cuda    | cuda                  | scale_npp=format=yuv420p
> >>> | X
> >>> > > >    | Failed
> >>> > > >
> >>> > > > I would expect a speed of around test 3 (without the screwed up
> >>> video).
> >>> > > Is
> >>> > > > there any way to convert the pixel formats on the hardware
> without
> >>> > > screwing
> >>> > > > up the video? On a similar note, I'd love for someone to explain
> >>> the
> >>> > > > failing encodes.
> >>> > > >
> >>> > > > Here are the details for corresponding encodes:
> >>> > > >
> >>> > > >    1. ffmpeg -loglevel verbose -hwaccel cuda -i input.mp4 -c:v
> >>> h264_nvenc
> >>> > > >    output.mp4
> >>> > > >
> >>> > > >    Fails with the following:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 000001cc9670e4c0] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 000001cc8740fc00] NVDEC capabilities:
> >>> > > >    [hevc @ 000001cc8740fc00] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 000001cc8740fc00] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 000001cc8740fc00] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 000001cc87420840] w:1920
> h:1080
> >>> > > >    pixfmt:p010le tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] 1 CUDA capable devices found
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] [ GPU #0 - < GeForce GTX 1650
> >
> >>> has
> >>> > > >    Compute SM 7.5 ]
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] 10 bit encode not supported
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] No NVENC capable devices found
> >>> > > >    [h264_nvenc @ 000001cc8747fbc0] Nvenc unloaded
> >>> > > >    Error initializing output stream 0:0 -- Error while opening
> >>> encoder
> >>> > > for
> >>> > > >    output stream #0:0 - maybe incorrect parameters such as
> >>> bit_rate,
> >>> > > rate,
> >>> > > >    width or height
> >>> > > >
> >>> > > >    2. ffmpeg -loglevel verbose -hwaccel cuda
> >>> -hwaccel_output_format cuda
> >>> > > -i
> >>> > > >    input.mp4 -c:v h264_nvenc output.mp4
> >>> > > >
> >>> > > >    Fails with the following:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 00000240b7932340] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 00000240b79e37c0] NVDEC capabilities:
> >>> > > >    [hevc @ 00000240b79e37c0] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 00000240b79e37c0] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 00000240b79e37c0] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 00000240b7937e00] w:1920
> h:1080
> >>> > > >    pixfmt:cuda tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [h264_nvenc @ 00000240b7483700] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 00000240b7483700] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 00000240b7483700] 10 bit encode not supported
> >>> > > >    [h264_nvenc @ 00000240b7483700] Provided device doesn't
> support
> >>> > > required
> >>> > > >    NVENC features
> >>> > > >    [h264_nvenc @ 00000240b7483700] Nvenc unloaded
> >>> > > >    Error initializing output stream 0:0 -- Error while opening
> >>> encoder
> >>> > > for
> >>> > > >    output stream #0:0 - maybe incorrect parameters such as
> >>> bit_rate,
> >>> > > rate,
> >>> > > >    width or height
> >>> > > >
> >>> > > >    Alright, so it seems that the hardware h264 encoder doesn't
> >>> support 10
> >>> > > >    bit encodes (that's coming from the decoder). So lets try
> >>> changing the
> >>> > > >    format:
> >>> > > >
> >>> > > >
> >>> > > >    3. ffmpeg -loglevel verbose -hwaccel cuda
> -hwaccel_output_format
> >>> > > yuv420p
> >>> > > >    -i input.mp4 -c:v h264_nvenc output.mp4
> >>> > > >
> >>> > > >    Pretty decent encode at ~ 360 fps. Alas, the video is screwed
> >>> up.
> >>> > > Colors
> >>> > > >    are weird:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 00000256c9ac7b40] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 00000256cbb737c0] NVDEC capabilities:
> >>> > > >    [hevc @ 00000256cbb737c0] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 00000256cbb737c0] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 00000256cbb737c0] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 00000256cbac7e00] w:1920
> h:1080
> >>> > > >    pixfmt:yuv420p tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [h264_nvenc @ 00000256cb693700] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 00000256cb693700] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 00000256cb693700] 1 CUDA capable devices found
> >>> > > >    [h264_nvenc @ 00000256cb693700] [ GPU #0 - < GeForce GTX 1650
> >
> >>> has
> >>> > > >    Compute SM 7.5 ]
> >>> > > >    [h264_nvenc @ 00000256cb693700] supports NVENC
> >>> > > >
> >>> > > >    Let's use a format filter to change format:
> >>> > > >
> >>> > > >    4. ffmpeg -loglevel verbose -hwaccel cuda
> >>> -hwaccel_output_format cuda
> >>> > > -i
> >>> > > >    input.mp4 -vf format=yuv420p -c:v h264_nvenc output.mp4
> >>> > > >
> >>> > > >    Fails with the following:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 0000019390de5c80] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 00000193908675c0] NVDEC capabilities:
> >>> > > >    [hevc @ 00000193908675c0] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 00000193908675c0] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 00000193908675c0] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 00000193a031ee80] w:1920
> h:1080
> >>> > > >    pixfmt:cuda tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [auto_scaler_0 @ 00000193b7aee780] w:iw h:ih flags:'bicubic'
> >>> interl:0
> >>> > > >    [Parsed_format_0 @ 00000193908eee80] auto-inserting filter
> >>> > > >    'auto_scaler_0' between the filter 'graph 0 input from stream
> >>> 0:0'
> >>> > > and the
> >>> > > >    filter 'Parsed_format_0'
> >>> > > >    Impossible to convert between the formats supported by the
> >>> filter
> >>> > > 'graph
> >>> > > >    0 input from stream 0:0' and the filter 'auto_scaler_0'
> >>> > > >    Error reinitializing filters!
> >>> > > >    Failed to inject frame into filter network: Function not
> >>> implemented
> >>> > > >    Error while processing the decoded data for stream #0:0
> >>> > > >
> >>> > > >    5. ffmpeg -loglevel verbose -hwaccel cuvid
> >>> -hwaccel_output_format cuda
> >>> > > >    -i input.mp4 -vf format=yuv420p -c:v h264_nvenc output.mp4
> >>> > > >
> >>> > > >    Succeeds, but only encodes at around 91 fps, due to, I assume,
> >>> not
> >>> > > using
> >>> > > >    GPU decoder. What is the difference between cuvid and cuda
> >>> hwaccel
> >>> > > (why did
> >>> > > >    the previous fail and this succeed)? Here is the relevant
> >>> output:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 000002152cc3cc00] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 000002152ac33700] Initializing cuvid hwaccel
> >>> > > >    [AVHWFramesContext @ 000002152cc3f0c0] Pixel format
> >>> 'yuv420p10le' is
> >>> > > not
> >>> > > >    supported
> >>> > > >    [hevc @ 000002152ac33700] Error initializing a CUDA frame pool
> >>> > > >    cuvid hwaccel requested for input stream #0:0, but cannot be
> >>> > > initialized.
> >>> > > >    [hevc @ 000002152ac33700] Error parsing NAL unit #2.
> >>> > > >    [hevc @ 000002152ac79180] Could not find ref with POC 0
> >>> > > >    Error while decoding stream #0:0: Operation not permitted
> >>> > > >    [graph 0 input from stream 0:0 @ 000002152d638b80] w:1920
> h:1080
> >>> > > >    pixfmt:yuv420p10le tb:1/90000 fr:30/1 sar:1/1
> sws_param:flags=2
> >>> > > >    [auto_scaler_0 @ 000002152ca176c0] w:iw h:ih flags:'bicubic'
> >>> interl:0
> >>> > > >    [Parsed_format_0 @ 000002152d3fee40] auto-inserting filter
> >>> > > >    'auto_scaler_0' between the filter 'graph 0 input from stream
> >>> 0:0'
> >>> > > and the
> >>> > > >    filter 'Parsed_format_0'
> >>> > > >    [auto_scaler_0 @ 000002152ca176c0] w:1920 h:1080
> fmt:yuv420p10le
> >>> > > sar:1/1
> >>> > > >    -> w:1920 h:1080 fmt:yuv420p sar:1/1 flags:0x4
> >>> > > >    [h264_nvenc @ 000002152ac31800] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 000002152ac31800] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 000002152ac31800] 1 CUDA capable devices found
> >>> > > >    [h264_nvenc @ 000002152ac31800] [ GPU #0 - < GeForce GTX 1650
> >
> >>> has
> >>> > > >    Compute SM 7.5 ]
> >>> > > >    [h264_nvenc @ 000002152ac31800] supports NVENC
> >>> > > >
> >>> > > >    Take out hwaccel_output:
> >>> > > >
> >>> > > >    6. ffmpeg -loglevel verbose -hwaccel cuda -i in.mp4 -vf
> >>> format=yuv420p
> >>> > > >    -c:v h264_nvenc out.mp4
> >>> > > >
> >>> > > >    Succeeds, encodes at 161 fps (using both hardware GPU decoder
> >>> and
> >>> > > >    encoder, but I believe the changing of format is happening on
> >>> the CPU
> >>> > > >    between the two stages).
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 0000025491bf2b00] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 0000025491b84900] NVDEC capabilities:
> >>> > > >    [hevc @ 0000025491b84900] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 0000025491b84900] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 0000025491b84900] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 0000025491c0eec0] w:1920
> h:1080
> >>> > > >    pixfmt:p010le tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [auto_scaler_0 @ 00000254b747cfc0] w:iw h:ih flags:'bicubic'
> >>> interl:0
> >>> > > >    [Parsed_format_0 @ 000002549203d840] auto-inserting filter
> >>> > > >    'auto_scaler_0' between the filter 'graph 0 input from stream
> >>> 0:0'
> >>> > > and the
> >>> > > >    filter 'Parsed_format_0'
> >>> > > >    [auto_scaler_0 @ 00000254b747cfc0] w:1920 h:1080 fmt:p010le
> >>> sar:1/1 ->
> >>> > > >    w:1920 h:1080 fmt:yuv420p sar:1/1 flags:0x4
> >>> > > >    [h264_nvenc @ 00000254920a0f40] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 00000254920a0f40] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 00000254920a0f40] 1 CUDA capable devices found
> >>> > > >    [h264_nvenc @ 00000254920a0f40] [ GPU #0 - < GeForce GTX 1650
> >
> >>> has
> >>> > > >    Compute SM 7.5 ]
> >>> > > >    [h264_nvenc @ 00000254920a0f40] supports NVENC
> >>> > > >
> >>> > > >
> >>> > > >    7. ffmpeg -loglevel verbose -hwaccel cuvid -i in.mp4 -vf
> >>> > > format=yuv420p
> >>> > > >    -c:v h264_nvenc out.mp4
> >>> > > >
> >>> > > >    Only encoding on GPU, not decoding (91 fps).
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 000002163875b5c0] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 00000216380c3c00] Initializing cuvid hwaccel
> >>> > > >    [AVHWFramesContext @ 00000216387fc300] Pixel format
> >>> 'yuv420p10le' is
> >>> > > not
> >>> > > >    supported
> >>> > > >    [hevc @ 00000216380c3c00] Error initializing a CUDA frame pool
> >>> > > >    cuvid hwaccel requested for input stream #0:0, but cannot be
> >>> > > initialized.
> >>> > > >    [hevc @ 00000216380c3c00] Error parsing NAL unit #2.
> >>> > > >    [hevc @ 000002163813d300] Could not find ref with POC 0
> >>> > > >    Error while decoding stream #0:0: Operation not permitted
> >>> > > >    [graph 0 input from stream 0:0 @ 00000216387594c0] w:1920
> h:1080
> >>> > > >    pixfmt:yuv420p10le tb:1/90000 fr:30/1 sar:1/1
> sws_param:flags=2
> >>> > > >    [auto_scaler_0 @ 000002164f8a0c40] w:iw h:ih flags:'bicubic'
> >>> interl:0
> >>> > > >    [Parsed_format_0 @ 00000216387593c0] auto-inserting filter
> >>> > > >    'auto_scaler_0' between the filter 'graph 0 input from stream
> >>> 0:0'
> >>> > > and the
> >>> > > >    filter 'Parsed_format_0'
> >>> > > >    [auto_scaler_0 @ 000002164f8a0c40] w:1920 h:1080
> fmt:yuv420p10le
> >>> > > sar:1/1
> >>> > > >    -> w:1920 h:1080 fmt:yuv420p sar:1/1 flags:0x4
> >>> > > >    [h264_nvenc @ 0000021638590f40] Loaded Nvenc version 9.0
> >>> > > >    [h264_nvenc @ 0000021638590f40] Nvenc initialized successfully
> >>> > > >    [h264_nvenc @ 0000021638590f40] 1 CUDA capable devices found
> >>> > > >    [h264_nvenc @ 0000021638590f40] [ GPU #0 - < GeForce GTX 1650
> >
> >>> has
> >>> > > >    Compute SM 7.5 ]
> >>> > > >    [h264_nvenc @ 0000021638590f40] supports NVENC
> >>> > > >
> >>> > > >    Lets see if I can do format conversion in the GPU (instead of
> >>> GPU ->
> >>> > > CPU
> >>> > > >    -> GPU), by using the scale_npp filter.
> >>> > > >
> >>> > > >    8. ffmpeg -loglevel verbose -hwaccel cuda -i input.mp4 -vf
> >>> > > >    scale_npp=format=yuv420p -c:v h264_nvenc output.mp4
> >>> > > >
> >>> > > >    Fails
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 0000022f3001e080] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 0000022f207d7f40] NVDEC capabilities:
> >>> > > >    [hevc @ 0000022f207d7f40] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 0000022f207d7f40] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 0000022f207d7f40] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 0000022f3034ee80] w:1920
> h:1080
> >>> > > >    pixfmt:p010le tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [auto_scaler_0 @ 0000022f47b2d300] w:iw h:ih flags:'bicubic'
> >>> interl:0
> >>> > > >    [Parsed_scale_npp_0 @ 0000022f20c49b40] auto-inserting filter
> >>> > > >    'auto_scaler_0' between the filter 'graph 0 input from stream
> >>> 0:0'
> >>> > > and the
> >>> > > >    filter 'Parsed_scale_npp_0'
> >>> > > >    Impossible to convert between the formats supported by the
> >>> filter
> >>> > > 'graph
> >>> > > >    0 input from stream 0:0' and the filter 'auto_scaler_0'
> >>> > > >    Error reinitializing filters!
> >>> > > >    Failed to inject frame into filter network: Function not
> >>> implemented
> >>> > > >    Error while processing the decoded data for stream #0:0
> >>> > > >
> >>> > > >
> >>> > > >    9. ffmpeg -loglevel verbose -hwaccel cuda
> >>> -hwaccel_output_format cuda
> >>> > > -i
> >>> > > >    in.mp4 -vf scale_npp=format=yuv420p -c:v h264_nvenc out.mp4
> >>> > > >
> >>> > > >    Fails:
> >>> > > >
> >>> > > >    [graph_1_in_0_1 @ 00000200040adac0] tb:1/48000 samplefmt:fltp
> >>> > > >    samplerate:48000 chlayout:0x3
> >>> > > >    [hevc @ 00000200747b65c0] NVDEC capabilities:
> >>> > > >    [hevc @ 00000200747b65c0] format supported: yes, max_mb_count:
> >>> 262144
> >>> > > >    [hevc @ 00000200747b65c0] min_width: 144, max_width: 8192
> >>> > > >    [hevc @ 00000200747b65c0] min_height: 144, max_height: 8192
> >>> > > >    [graph 0 input from stream 0:0 @ 00000200040aa8c0] w:1920
> h:1080
> >>> > > >    pixfmt:cuda tb:1/90000 fr:30/1 sar:1/1 sws_param:flags=2
> >>> > > >    [Parsed_scale_npp_0 @ 0000020074c75b80] Unsupported input
> >>> format:
> >>> > > p010le
> >>> > > >    [Parsed_scale_npp_0 @ 0000020074c75b80] Failed to configure
> >>> output pad
> >>> > > >    on Parsed_scale_npp_0
> >>> > > >    Error reinitializing filters!
> >>> > > >    Failed to inject frame into filter network: Function not
> >>> implemented
> >>> > > >    Error while processing the decoded data for stream #0:0
> >>> > > >
> >>> > > >
> >>> > > > I'd appreciate any help or pointer in the right direction (even
> an
> >>> > > > alternate mailing list).
> >>> > >
> >>> > >
> >>> > > Hey there,
> >>> > >
> >>> > > Could you kindly provide a download link to the sample of the input
> >>> > > file you're working on?
> >>> > > That way we can reproduce what you're seeing here, thanks!
> >>>
> >>> Another thing:
> >>>
> >>> What version of FFmpeg are you running?
> >>> _______________________________________________
> >>> ffmpeg-user mailing list
> >>> ffmpeg-user at ffmpeg.org
> >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >>>
> >>> To unsubscribe, visit link above, or email
> >>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> >>
> >>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list