Opened 4 years ago

Closed 4 years ago

#8775 closed defect (duplicate)

Theora bad encoding on 64 bit

Reported by: Ted Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Theora encoding using the 64 bit version of ffmpeg generates bad data.

How to reproduce:

ffmpeg -i input.mp4 -c:v libtheora -q:v 7 -c:a libvorbis output.ogg

Tested on several different binaries:
ffmpeg-20200628-4cfcfb3-win64-static
ffmpeg-20200623-ce297b4-win64-static
ffmpeg-4.3-win64-static
ffmpeg-4.2.3-win64-static

Output

ffmpeg started on 2020-07-03 at 11:56:55
Report written to "ffmpeg-20200703-115655.log"
Log level: 48
ffmpeg version git-2020-06-28-4cfcfb3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200621
  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-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 55.100 / 56. 55.100
  libavcodec     58. 93.100 / 58. 93.100
  libavformat    58. 47.100 / 58. 47.100
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    creation_time   : 2017-12-13T10:05:17.000000Z
    artist          : Microsoft Game DVR
    title           : Satari
  Duration: 00:00:24.19, start: 0.000000, bitrate: 9649 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1020 [SAR 1:1 DAR 32:17], 9168 kb/s, 30.14 fps, 60 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : VideoHandler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 133 kb/s (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> theora (libtheora))
  Stream #0:1 -> #0:1 (aac (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
Output #0, ogg, to 'output.ogg':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    title           : Satari
    artist          : Microsoft Game DVR
    encoder         : Lavf58.47.100
    Stream #0:0(und): Video: theora (libtheora), yuv420p, 1920x1020 [SAR 1:1 DAR 32:17], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.93.100 libtheora
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
    Stream #0:1(und): Audio: vorbis (libvorbis), 48000 Hz, stereo, fltp (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : SoundHandler
      encoder         : Lavc58.93.100 libvorbis
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
frame=  728 fps= 15 q=-0.0 Lsize=   20528kB time=00:00:24.29 bitrate=6923.0kbits/s dup=2 drop=3 speed=0.513x
video:20140kB audio:285kB subtitle:0kB other streams:0kB global headers:7kB muxing overhead: 0.505970%

ffplay partial output

ffplay.exe -report .\output.ogg
ffplay started on 2020-07-03 at 12:00:19
Report written to "ffplay-20200703-120019.log"
Log level: 48
ffplay version git-2020-06-28-4cfcfb3 Copyright (c) 2003-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200621
  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-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 55.100 / 56. 55.100
  libavcodec     58. 93.100 / 58. 93.100
  libavformat    58. 47.100 / 58. 47.100
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, ogg, from '.\output.ogg':0KB vq=    0KB sq=    0B f=0/0
  Duration: 00:00:24.29, start: 0.000000, bitrate: 6923 kb/s
    Stream #0:0(und): Video: theora, yuv420p, 1920x1020 [SAR 1:1 DAR 32:17], 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.93.100 libtheora
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
    Stream #0:1(und): Audio: vorbis, 48000 Hz, stereo, fltp, 112 kb/s
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : SoundHandler
      encoder         : Lavc58.93.100 libvorbis
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
[theora @ 000002ac19240580] error in unpack_block_qpis
[theora @ 000002ac19cb9480] error in unpack_dct_coeffs
[theora @ 000002ac19dae1c0] error in unpack_vectorsq=    0B f=0/0
[theora @ 000002ac1a66e2c0] error in unpack_block_qpis
[theora @ 000002ac1a879f40] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_block_qpis
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c58ac00] error in unpack_block_qpis
[theora @ 000002ac1c78ca40] error in unpack_block_qpis
[theora @ 000002ac1c9928c0] error in unpack_block_qpis
[theora @ 000002ac1cbd7dc0] error in unpack_block_qpis
[theora @ 000002ac1cbdb480] error in unpack_block_qpis
[theora @ 000002ac1cbd9480] error in unpack_vectors
[theora @ 000002ac1cbd8240] error in unpack_block_qpis
[theora @ 000002ac19cb9480] error in unpack_block_qpis
[theora @ 000002ac19dae1c0] error in unpack_block_qpis
[theora @ 000002ac1a879f40] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_dct_coeffs
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c58ac00] error in unpack_block_qpis
[theora @ 000002ac1c78ca40] error in unpack_block_qpis
[theora @ 000002ac1cbdb000] error in unpack_block_qpis
[theora @ 000002ac1cbd7dc0] error in unpack_block_qpis
[theora @ 000002ac1cbd8240] error in unpack_block_qpis
[theora @ 000002ac1cbdb480] error in unpack_block_qpis
[theora @ 000002ac193fe140] error in unpack_block_qpis
[theora @ 000002ac19240580] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac19cb9480] error in unpack_block_qpis
[theora @ 000002ac19dae1c0] error in unpack_block_qpis
[theora @ 000002ac1a66e2c0] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1a879f40] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_block_qpis
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c9928c0] error in unpack_vectorsq=    0B f=0/0
[theora @ 000002ac1cbd7dc0] error in unpack_block_qpis
[theora @ 000002ac1cbdb000] error in unpack_block_qpis
[theora @ 000002ac1cbdb480] error in unpack_block_qpis
[theora @ 000002ac1cbd9480] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1cbd8240] error in unpack_block_qpis
[theora @ 000002ac193fe140] error in unpack_block_qpis
[theora @ 000002ac19240580] error in unpack_block_qpis
[theora @ 000002ac19dae1c0] error in unpack_block_qpis
[theora @ 000002ac19cb9480] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_block_qpis
[theora @ 000002ac1a66e2c0] error in unpack_block_qpis
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c58ac00] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1c78ca40] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1cbdb000] error in unpack_block_qpis
[theora @ 000002ac1c9928c0] error in unpack_block_qpis
[theora @ 000002ac1cbd7dc0] error in unpack_block_qpis
[theora @ 000002ac1cbd9480] error in unpack_block_qpis
[theora @ 000002ac1cbd8240] error in unpack_block_qpis
[theora @ 000002ac193fe140] error in unpack_block_qpis
[theora @ 000002ac19240580] error in unpack_block_qpis
[theora @ 000002ac19cb9480] error in unpack_block_qpis
[theora @ 000002ac1a66e2c0] error in unpack_block_qpis
[theora @ 000002ac19dae1c0] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1a879f40] error in unpack_block_qpis
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c58ac00] error in unpack_block_qpis
[theora @ 000002ac1cbd7dc0] error in unpack_block_qpis
[theora @ 000002ac1c9928c0] error in unpack_block_qpis
[theora @ 000002ac1cbdb000] error in unpack_block_qpis
[theora @ 000002ac1cbd8240] error in unpack_block_qpis   0B f=0/0
[theora @ 000002ac1cbdb480] error in unpack_block_qpis
[theora @ 000002ac1cbd9480] error in unpack_block_qpis
[theora @ 000002ac19240580] error in unpack_block_qpis
[theora @ 000002ac193fe140] error in unpack_block_qpis
[theora @ 000002ac19cb9480] error in unpack_block_qpis
[theora @ 000002ac1a66e2c0] error in unpack_block_qpis
[theora @ 000002ac19dae1c0] error in unpack_block_qpis
[theora @ 000002ac1aa79dc0] error in unpack_block_qpis
[theora @ 000002ac1c386d80] error in unpack_block_qpis
[theora @ 000002ac1c58ac00] error in unpack_block_qpis

Encoding using the 32 bit version of ffmpeg using the same command is generating correct data.

Output

ffmpeg started on 2020-07-03 at 12:02:24
Report written to "ffmpeg-20200703-120224.log"
Log level: 48
ffmpeg version git-2020-06-28-4cfcfb3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200621
  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-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 55.100 / 56. 55.100
  libavcodec     58. 93.100 / 58. 93.100
  libavformat    58. 47.100 / 58. 47.100
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    creation_time   : 2017-12-13T10:05:17.000000Z
    artist          : Microsoft Game DVR
    title           : Satari
  Duration: 00:00:24.19, start: 0.000000, bitrate: 9649 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1920x1020 [SAR 1:1 DAR 32:17], 9168 kb/s, 30.14 fps, 60 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : VideoHandler
      encoder         : AVC Coding
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 133 kb/s (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> theora (libtheora))
  Stream #0:1 -> #0:1 (aac (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
Output #0, ogg, to 'output.ogg':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    title           : Satari
    artist          : Microsoft Game DVR
    encoder         : Lavf58.47.100
    Stream #0:0(und): Video: theora (libtheora), yuv420p, 1920x1020 [SAR 1:1 DAR 32:17], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.93.100 libtheora
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
    Stream #0:1(und): Audio: vorbis (libvorbis), 48000 Hz, stereo, fltp (default)
    Metadata:
      creation_time   : 2017-12-13T10:05:17.000000Z
      handler_name    : SoundHandler
      encoder         : Lavc58.93.100 libvorbis
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: mp41isom
      title           : Satari
      artist          : Microsoft Game DVR
frame=  728 fps= 15 q=-0.0 Lsize=   12537kB time=00:00:24.29 bitrate=4228.0kbits/s dup=2 drop=3 speed=0.501x
video:12187kB audio:285kB subtitle:0kB other streams:0kB global headers:7kB muxing overhead: 0.527514%

Tested on binaries:
ffmpeg-20200628-4cfcfb3-win32-static

Attachments (1)

logs.zip (16.5 KB ) - added by Ted 4 years ago.
Logs reported by ffmpeg

Download all attachments as: .zip

Change History (6)

by Ted, 4 years ago

Attachment: logs.zip added

Logs reported by ffmpeg

comment:1 by Carl Eugen Hoyos, 4 years ago

Component: ffmpegundetermined
Keywords: theora encode broken bad data encoding 64bit removed
Resolution: invalid
Status: newclosed

comment:2 by Elon Musk, 4 years ago

Resolution: invalid
Status: closedreopened

No explanation for closing given at all.
Extremely rude by same rude person who repeats same rude mistakes over and over again.

comment:3 by Carl Eugen Hoyos, 4 years ago

Resolution: invalid
Status: reopenedclosed

comment:4 by Elon Musk, 4 years ago

Resolution: invalid
Status: closedreopened

comment:5 by Carl Eugen Hoyos, 4 years ago

Resolution: duplicate
Status: reopenedclosed

See #8767 (which is a duplicate of an older ticket).

Note: See TracTickets for help on using tickets.