[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