#11245: FFMPEG SLOW FOR HEIC TO PNG WITH HEVC_CUVID
-------------------------------------+-------------------------------------
Reporter: dkode | Owner: (none)
Type: defect | Status: new
Priority: important | Component:
| undetermined
Version: 7.1 | Resolution:
Keywords: heif Hevc | Blocked By:
cuvid |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Description changed by dkode:
Old description:
> Summary of the bug:
> How to reproduce:
>
> Version Info: FFMPEG build with hevc_cuvid and no software decoder for
> hevc
>
> {{{
> ffmpeg -i
> ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
> built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
> configuration: --disable-decoders --disable-encoders --disable-
> decoder=vp9 --disable-decoder=hevc --enable-decoder=av1 --enable-
> decoder=cfhd --enable-decoder=dnxhd --enable-decoder=dvvideo --enable-
> decoder=h264 --enable-decoder=hevc_cuvid --enable-decoder=mjpeg --enable-
> decoder=jpeg2000 --enable-decoder=mpeg2video --enable-decoder=mpeg4
> --enable-decoder=vp6 --enable-decoder=vp7 --enable-decoder=vp8 --enable-
> decoder=h263 --enable-decoder=dpx --enable-decoder=mjpeg --enable-
> decoder=mpeg1video --enable-decoder=msrle --enable-decoder=qtrle
> --enable-decoder=wmv1 --enable-decoder=wmv2 --enable-decoder=wmv3
> --enable-decoder=msmpeg4v1 --enable-decoder=msmpeg4v2 --enable-
> decoder=msmpeg4v3 --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-
> decoder=wmapro --enable-decoder=mp2 --enable-decoder=opus --enable-
> decoder=png --enable-decoder=mjpegb --enable-decoder=svq3 --enable-
> decoder=cinepak --enable-decoder=vp6f --enable-decoder=aic --enable-
> decoder=hqx --enable-decoder=hq_hqa --enable-decoder=flv --enable-
> decoder=vc1 --enable-decoder=libdav1d --enable-decoder=aac --enable-
> decoder=mp3 --enable-decoder=vorbis --enable-decoder=speex --enable-
> decoder=flac --enable-decoder=gsm --enable-decoder=mp1 --enable-
> decoder=alac --enable-decoder=pcm_alaw --enable-decoder=pcm_bluray
> --enable-decoder=pcm_dvd --enable-decoder=pcm_f16le --enable-
> decoder=pcm_f24le --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le
> --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-
> decoder=pcm_lxf --enable-decoder=pcm_mulaw --enable-decoder=pcm_s16be
> --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-
> decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-
> decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-
> decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-
> decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-
> decoder=pcm_s64be --enable-decoder=pcm_s64le --enable-decoder=pcm_s8
> --enable-decoder=pcm_s8_planar --enable-decoder=pcm_sga --enable-
> decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le
> --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-
> decoder=pcm_u8 --enable-decoder=pcm_vidc --enable-encoder=gif --enable-
> encoder=mjpeg --enable-encoder=png --enable-encoder=rawvideo --enable-
> encoder=h264_nvenc --enable-encoder=hevc_nvenc --enable-encoder=libx264
> --enable-encoder=aac --enable-encoder=libmp3lame --enable-
> encoder=pcm_alaw --enable-encoder=pcm_bluray --enable-encoder=pcm_dvd
> --enable-encoder=pcm_f16le --enable-encoder=pcm_f24le --enable-
> encoder=pcm_f32be --enable-encoder=pcm_f32le --enable-encoder=pcm_f64be
> --enable-encoder=pcm_f64le --enable-encoder=pcm_lxf --enable-
> encoder=pcm_mulaw --enable-encoder=pcm_s16be --enable-
> encoder=pcm_s16be_planar --enable-encoder=pcm_s16le --enable-
> encoder=pcm_s16le_planar --enable-encoder=pcm_s24be --enable-
> encoder=pcm_s24daud --enable-encoder=pcm_s24le --enable-
> encoder=pcm_s24le_planar --enable-encoder=pcm_s32be --enable-
> encoder=pcm_s32le --enable-encoder=pcm_s32le_planar --enable-
> encoder=pcm_s64be --enable-encoder=pcm_s64le --enable-encoder=pcm_s8
> --enable-encoder=pcm_s8_planar --enable-encoder=pcm_sga --enable-
> encoder=pcm_u16le --enable-encoder=pcm_u24be --enable-encoder=pcm_u24le
> --enable-encoder=pcm_u32be --enable-encoder=pcm_u32le --enable-
> encoder=pcm_u8 --enable-encoder=pcm_vidc --enable-cuda-nvcc --enable-
> libnpp --enable-nvenc --enable-cuvid --enable-zlib --enable-gpl --enable-
> libx264 --enable-libdav1d --enable-libmp3lame --enable-librubberband
> --enable-libzimg --prefix=/av-processor/dist/ffmpeg --enable-shared
> --disable-static --enable-pic --enable-nonfree --enable-openssl --extra-
> cflags='-DHAVE_THREADS=1 -DHAVE_THREADS=1 -I/usr/local/cuda/include -I
> /av-processor/dist/extra_libs/include -I/usr/local/include -I/av-
> processor/dist/extra_libs/include' --extra-ldflags='
> -L/usr/local/cuda/lib64 -L/av-processor/dist/extra_libs/lib
> -L/usr/local/lib -L/av-processor/dist/extra_libs/lib'
> libavutil 59. 39.100 / 59. 39.100
> libavcodec 61. 19.100 / 61. 19.100
> libavformat 61. 7.100 / 61. 7.100
> libavdevice 61. 3.100 / 61. 3.100
> libavfilter 10. 4.100 / 10. 4.100
> libswscale 8. 3.100 / 8. 3.100
> libswresample 5. 3.100 / 5. 3.100
> libpostproc 58. 3.100 / 58. 3.100
> }}}
>
> {{{
> ffmpeg -i ~/ffmpeg_test/testfiles/LiveOff.HEIC -map 0:v:0 LiveOff_%d.png
> }}}
>
> This is grid type of heic image
>
>
> Patches should be submitted to the ffmpeg-devel mailing list and not this
> bug tracker.
New description:
Summary of the bug:
How to reproduce:
Version Info: FFMPEG build with hevc_cuvid and no software decoder for
hevc
{{{
ffmpeg -i
ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --disable-decoders --disable-encoders --disable-
decoder=vp9 --disable-decoder=hevc --enable-decoder=av1 --enable-
decoder=cfhd --enable-decoder=dnxhd --enable-decoder=dvvideo --enable-
decoder=h264 --enable-decoder=hevc_cuvid --enable-decoder=mjpeg --enable-
decoder=jpeg2000 --enable-decoder=mpeg2video --enable-decoder=mpeg4
--enable-decoder=vp6 --enable-decoder=vp7 --enable-decoder=vp8 --enable-
decoder=h263 --enable-decoder=dpx --enable-decoder=mjpeg --enable-
decoder=mpeg1video --enable-decoder=msrle --enable-decoder=qtrle --enable-
decoder=wmv1 --enable-decoder=wmv2 --enable-decoder=wmv3 --enable-
decoder=msmpeg4v1 --enable-decoder=msmpeg4v2 --enable-decoder=msmpeg4v3
--enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmapro
--enable-decoder=mp2 --enable-decoder=opus --enable-decoder=png --enable-
decoder=mjpegb --enable-decoder=svq3 --enable-decoder=cinepak --enable-
decoder=vp6f --enable-decoder=aic --enable-decoder=hqx --enable-
decoder=hq_hqa --enable-decoder=flv --enable-decoder=vc1 --enable-
decoder=libdav1d --enable-decoder=aac --enable-decoder=mp3 --enable-
decoder=vorbis --enable-decoder=speex --enable-decoder=flac --enable-
decoder=gsm --enable-decoder=mp1 --enable-decoder=alac --enable-
decoder=pcm_alaw --enable-decoder=pcm_bluray --enable-decoder=pcm_dvd
--enable-decoder=pcm_f16le --enable-decoder=pcm_f24le --enable-
decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be
--enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-
decoder=pcm_mulaw --enable-decoder=pcm_s16be --enable-
decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-
decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-
decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-
decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-
decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-
decoder=pcm_s64be --enable-decoder=pcm_s64le --enable-decoder=pcm_s8
--enable-decoder=pcm_s8_planar --enable-decoder=pcm_sga --enable-
decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le
--enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-
decoder=pcm_u8 --enable-decoder=pcm_vidc --enable-encoder=gif --enable-
encoder=mjpeg --enable-encoder=png --enable-encoder=rawvideo --enable-
encoder=h264_nvenc --enable-encoder=hevc_nvenc --enable-encoder=libx264
--enable-encoder=aac --enable-encoder=libmp3lame --enable-encoder=pcm_alaw
--enable-encoder=pcm_bluray --enable-encoder=pcm_dvd --enable-
encoder=pcm_f16le --enable-encoder=pcm_f24le --enable-encoder=pcm_f32be
--enable-encoder=pcm_f32le --enable-encoder=pcm_f64be --enable-
encoder=pcm_f64le --enable-encoder=pcm_lxf --enable-encoder=pcm_mulaw
--enable-encoder=pcm_s16be --enable-encoder=pcm_s16be_planar --enable-
encoder=pcm_s16le --enable-encoder=pcm_s16le_planar --enable-
encoder=pcm_s24be --enable-encoder=pcm_s24daud --enable-encoder=pcm_s24le
--enable-encoder=pcm_s24le_planar --enable-encoder=pcm_s32be --enable-
encoder=pcm_s32le --enable-encoder=pcm_s32le_planar --enable-
encoder=pcm_s64be --enable-encoder=pcm_s64le --enable-encoder=pcm_s8
--enable-encoder=pcm_s8_planar --enable-encoder=pcm_sga --enable-
encoder=pcm_u16le --enable-encoder=pcm_u24be --enable-encoder=pcm_u24le
--enable-encoder=pcm_u32be --enable-encoder=pcm_u32le --enable-
encoder=pcm_u8 --enable-encoder=pcm_vidc --enable-cuda-nvcc --enable-
libnpp --enable-nvenc --enable-cuvid --enable-zlib --enable-gpl --enable-
libx264 --enable-libdav1d --enable-libmp3lame --enable-librubberband
--enable-libzimg --prefix=/av-processor/dist/ffmpeg --enable-shared
--disable-static --enable-pic --enable-nonfree --enable-openssl --extra-
cflags='-DHAVE_THREADS=1 -DHAVE_THREADS=1 -I/usr/local/cuda/include -I/av-
processor/dist/extra_libs/include -I/usr/local/include -I/av-
processor/dist/extra_libs/include' --extra-ldflags='
-L/usr/local/cuda/lib64 -L/av-processor/dist/extra_libs/lib
-L/usr/local/lib -L/av-processor/dist/extra_libs/lib'
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
}}}
{{{
ffmpeg -i ~/ffmpeg_test/testfiles/LiveOff.HEIC -map 0:v:0 LiveOff_%d.png
}}}
This is grid type of heic image and ffmpeg is taking 40-60 seconds
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11245#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".