[FFmpeg-trac] #8735(undetermined:new): videotoolbox causes chroma artifacts in comparison to sw decoding

FFmpeg trac at avcodec.org
Fri Jun 12 17:18:24 EEST 2020


#8735: videotoolbox causes chroma artifacts in comparison to sw decoding
-------------------------------------+-------------------------------------
             Reporter:  der_richter  |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 in the following sample, at around 3:16 (as an example), the red rectangle
 has visible chroma artifacts/aliasing when decoded with videotoolbox.

 videotoolbox output:
 [[Image(https://0x0.st/iVhk.png)]]

 sw decode output:
 [[Image(https://0x0.st/iVhd.png)]]

 sample file: https://0x0.st/sDVT.mkv
 related mpv issue: https://github.com/mpv-player/mpv/issues/6369

 {{{
 ffmpeg -hwaccel videotoolbox -i
 "/Volumes/AkemiData/Downloads/ffmpeg_videotoolbox_issues/sDVT.mkv" -f null
 -
 ffmpeg version git-2020-06-11-bc8ab084 Copyright (c) 2000-2020 the FFmpeg
 developers
   built with Apple clang version 11.0.0 (clang-1100.0.33.12)
   configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-bc8ab08 --enable-
 shared --enable-pthreads --enable-version3 --enable-avresample
 --cc=/usr/bin/clang --host-cflags='-Os -w -pipe -march=nehalem -mmacosx-
 version-min=10.14
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -fno-
 stack-check' --host-ldflags='-L/usr/local/opt/openssl at 1.1/lib
 -L/usr/local/opt/libxml2/lib -L/usr/local/opt/python at 3.8/lib
 -L/usr/local/opt/sqlite/lib -L/usr/local/opt/readline/lib
 -L/usr/local/opt/openssl at 1.1/lib -L/usr/local/lib -F/usr/local/Frameworks
 -Wl,-headerpad_max_install_names
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk'
 --enable-ffplay --enable-gpl --enable-libaom --enable-libbluray --enable-
 libdav1d --enable-libmp3lame --enable-libopus --enable-librubberband
 --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-
 libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma
 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-
 libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
 libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-
 videotoolbox --disable-libjack --disable-indev=jack --enable-gpl --enable-
 nonfree --enable-hardcoded-tables --enable-libfdk-aac --enable-libgme
 --enable-libbs2b --enable-libgsm --enable-libxml2 --enable-openssl
 --enable-libwavpack --enable-libzmq --enable-libzimg --enable-opencl
   libavutil      56. 54.100 / 56. 54.100
   libavcodec     58. 92.100 / 58. 92.100
   libavformat    58. 46.101 / 58. 46.101
   libavdevice    58. 11.100 / 58. 11.100
   libavfilter     7. 86.100 /  7. 86.100
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.100
 Input #0, matroska,webm, from
 '/Volumes/AkemiData/Downloads/ffmpeg_videotoolbox_issues/sDVT.mkv':
   Metadata:
     encoder         : libebml v1.3.5 + libmatroska v1.4.8
     creation_time   : 2017-11-20T03:32:29.000000Z
   Duration: 00:06:07.37, start: 0.000000, bitrate: 6643 kb/s
     Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv,
 bt709/unknown/unknown), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr,
 1k tbn, 23.98 tbc (default)
     Metadata:
       BPS             : 5794944
       BPS-eng         : 5794944
       DURATION        : 00:06:07.367000000
       DURATION-eng    : 00:06:07.367000000
       NUMBER_OF_FRAMES: 8808
       NUMBER_OF_FRAMES-eng: 8808
       NUMBER_OF_BYTES : 266108920
       NUMBER_OF_BYTES-eng: 266108920
       _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2017-11-20 03:32:29
       _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-20 03:32:29
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
     Stream #0:1(eng): Audio: flac, 48000 Hz, stereo, s32 (24 bit)
 (default)
     Metadata:
       BPS             : 846380
       BPS-eng         : 846380
       DURATION        : 00:06:07.365000000
       DURATION-eng    : 00:06:07.365000000
       NUMBER_OF_FRAMES: 4306
       NUMBER_OF_FRAMES-eng: 4306
       NUMBER_OF_BYTES : 38866300
       NUMBER_OF_BYTES-eng: 38866300
       _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2017-11-20 03:32:29
       _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-20 03:32:29
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
     Stream #0:2: Subtitle: ass (default)
     Metadata:
       BPS             : 133
       BPS-eng         : 133
       DURATION        : 00:05:44.590000000
       DURATION-eng    : 00:05:44.590000000
       NUMBER_OF_FRAMES: 94
       NUMBER_OF_FRAMES-eng: 94
       NUMBER_OF_BYTES : 5745
       NUMBER_OF_BYTES-eng: 5745
       _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2017-11-20 03:32:29
       _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-20 03:32:29
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 Stream mapping:
   Stream #0:0 -> #0:0 (hevc (native) -> wrapped_avframe (native))
   Stream #0:1 -> #0:1 (flac (native) -> pcm_s16le (native))
 Press [q] to stop, [?] for help
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf58.46.101
     Stream #0:0: Video: wrapped_avframe, p010le(progressive), 1920x1080
 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc
 (default)
     Metadata:
       BPS             : 5794944
       BPS-eng         : 5794944
       DURATION        : 00:06:07.367000000
       DURATION-eng    : 00:06:07.367000000
       NUMBER_OF_FRAMES: 8808
       NUMBER_OF_FRAMES-eng: 8808
       NUMBER_OF_BYTES : 266108920
       NUMBER_OF_BYTES-eng: 266108920
       _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2017-11-20 03:32:29
       _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-20 03:32:29
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       encoder         : Lavc58.92.100 wrapped_avframe
     Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
 (default)
     Metadata:
       BPS             : 846380
       BPS-eng         : 846380
       DURATION        : 00:06:07.365000000
       DURATION-eng    : 00:06:07.365000000
       NUMBER_OF_FRAMES: 4306
       NUMBER_OF_FRAMES-eng: 4306
       NUMBER_OF_BYTES : 38866300
       NUMBER_OF_BYTES-eng: 38866300
       _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2017-11-20 03:32:29
       _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-20 03:32:29
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       encoder         : Lavc58.92.100 pcm_s16le
 frame= 8808 fps=153 q=-0.0 Lsize=N/A time=00:06:07.36 bitrate=N/A
 speed=6.38x
 video:4610kB audio:68881kB subtitle:0kB other streams:0kB global
 headers:0kB muxing overhead: unknown
 }}}

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


More information about the FFmpeg-trac mailing list