[FFmpeg-trac] #7759(ffmpeg:new): Wrong length/frames with VP9 when using yuva420p and lossless

FFmpeg trac at avcodec.org
Wed Feb 27 16:55:42 EET 2019


#7759: Wrong length/frames with VP9 when using yuva420p and lossless
-------------------------------------+-------------------------------------
             Reporter:  ChristianW   |                     Type:  defect
               Status:  new          |                 Priority:  critical
            Component:  ffmpeg       |                  Version:
             Keywords:  yuva420p     |  unspecified
  lossless                           |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 There will be wrong number of frames/length if VP9 and alpha with lossless
 is used.
 If lossless is not used then it works ok.
 If no alpha(yuv420p) is used it works ok.
 Easies is to look at the time=00:00:07.16 versus the wrong time=00:00:6.52
 So the video stopps before the last frame.
 Very bad when a looping video is needed.

 /Christian

 '''Ok when running(180 frames of png with alpha) with alpha and without
 lossless:'''
 ffmpeg -i Image%04d.png -c:v libvpx-vp9 -pix_fmt yuva420p output.webm
 ffmpeg version N-93252-gf948082e5f Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 8.2.1 (GCC) 20190212
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
 fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
 libdav1d --enable-libbluray --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-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2
 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
 libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
 --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
 --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-
 nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 26.100 / 56. 26.100
   libavcodec     58. 47.102 / 58. 47.102
   libavformat    58. 26.101 / 58. 26.101
   libavdevice    58.  6.101 / 58.  6.101
   libavfilter     7. 48.100 /  7. 48.100
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.100
 Input #0, image2, from 'Image%04d.png':
   '''Duration: 00:00:07.20''', start: 0.000000, bitrate: N/A
     Stream #0:0: Video: png, rgba(pc), 320x180 [SAR 2835:2835 DAR 16:9],
 25 fps, 25 tbr, 25 tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (png (native) -> vp9 (libvpx-vp9))
 Press [q] to stop, [?] for help
 [libvpx-vp9 @ 00000220f80fd5c0] v1.8.0-166-g2543f37a3
 Output #0, webm, to 'output.webm':
   Metadata:
     encoder         : Lavf58.26.101
     Stream #0:0: Video: vp9 (libvpx-vp9), yuva420p, 320x180 [SAR 1:1 DAR
 16:9], q=-1--1, 200 kb/s, 25 fps, 1k tbn, 25 tbc
     Metadata:
       encoder         : Lavc58.47.102 libvpx-vp9
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 frame=  180 fps= 29 q=0.0 Lsize=     257kB '''time=00:00:07.16''' bitrate=
 293.5kbits/s speed=1.14x
 video:158kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 62.363186%



 '''Ok when running(180 frames of png with alpha) without alpha and with
 lossless:'''
 ffmpeg -i Image%04d.png -c:v libvpx-vp9 -lossless 1 -pix_fmt yuv420p
 output.webm
 ffmpeg version N-93252-gf948082e5f Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 8.2.1 (GCC) 20190212
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
 fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
 libdav1d --enable-libbluray --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-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2
 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
 libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
 --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
 --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-
 nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 26.100 / 56. 26.100
   libavcodec     58. 47.102 / 58. 47.102
   libavformat    58. 26.101 / 58. 26.101
   libavdevice    58.  6.101 / 58.  6.101
   libavfilter     7. 48.100 /  7. 48.100
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.100
 Input #0, image2, from 'Image%04d.png':
   '''Duration: 00:00:07.20''', start: 0.000000, bitrate: N/A
     Stream #0:0: Video: png, rgba(pc), 320x180 [SAR 2835:2835 DAR 16:9],
 25 fps, 25 tbr, 25 tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (png (native) -> vp9 (libvpx-vp9))
 Press [q] to stop, [?] for help
 [libvpx-vp9 @ 0000025298b9cdc0] v1.8.0-166-g2543f37a3
 Output #0, webm, to 'output.webm':
   Metadata:
     encoder         : Lavf58.26.101
     Stream #0:0: Video: vp9 (libvpx-vp9), yuv420p, 320x180 [SAR 1:1 DAR
 16:9], q=-1--1, 200 kb/s, 25 fps, 1k tbn, 25 tbc
     Metadata:
       encoder         : Lavc58.47.102 libvpx-vp9
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 frame=  180 fps= 52 q=0.0 Lsize=    1974kB '''time=00:00:07.16'''
 bitrate=2258.1kbits/s speed=2.06x
 video:1972kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.098054%



 '''Not ok when running(180 frames of png with alpha) with alpha and with
 lossless:'''
 ffmpeg -i Image%04d.png -c:v libvpx-vp9 -lossless 1 -pix_fmt yuva420p
 output.webm
 ffmpeg version N-93252-gf948082e5f Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 8.2.1 (GCC) 20190212
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
 fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
 libdav1d --enable-libbluray --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-libwavpack
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2
 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
 libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
 --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
 --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-
 nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 26.100 / 56. 26.100
   libavcodec     58. 47.102 / 58. 47.102
   libavformat    58. 26.101 / 58. 26.101
   libavdevice    58.  6.101 / 58.  6.101
   libavfilter     7. 48.100 /  7. 48.100
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.100
 Input #0, image2, from 'Image%04d.png':
   '''Duration: 00:00:07.20''', start: 0.000000, bitrate: N/A
     Stream #0:0: Video: png, rgba(pc), 320x180 [SAR 2835:2835 DAR 16:9],
 25 fps, 25 tbr, 25 tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (png (native) -> vp9 (libvpx-vp9))
 Press [q] to stop, [?] for help
 [libvpx-vp9 @ 000001ae26efcdc0] v1.8.0-166-g2543f37a3
 Output #0, webm, to 'output.webm':
   Metadata:
     encoder         : Lavf58.26.101
     Stream #0:0: Video: vp9 (libvpx-vp9), yuva420p, 320x180 [SAR 1:1 DAR
 16:9], q=-1--1, 200 kb/s, 25 fps, 1k tbn, 25 tbc
     Metadata:
       encoder         : Lavc58.47.102 libvpx-vp9
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 frame=  180 fps= 34 q=0.0 Lsize=    1986kB '''time=00:00:06.52'''
 bitrate=2494.3kbits/s speed=1.24x
 video:1797kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 10.490592%

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7759>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list