[FFmpeg-trac] #9693(swscale:new): change of matrix cannot happen on full range

FFmpeg trac at avcodec.org
Sat Mar 19 22:58:56 EET 2022


#9693: change of matrix cannot happen on full range
---------------------------------+--------------------------------------
             Reporter:  Balling  |                     Type:  defect
               Status:  new      |                 Priority:  important
            Component:  swscale  |                  Version:  git-master
             Keywords:  zscale   |               Blocked By:
             Blocking:           |  Reproduced by developer:  1
Analyzed by developer:  0        |
---------------------------------+--------------------------------------
 Summary of the bug:

 I have BT.709 sample that I want to do a jpeg image from, yet because std-
 complient jpeg is only bt.601 full range and thus the change of matrix
 must occur it just sees hevc video as bt.601 full range and does a no-op!
 Does not happen in png (remove gAMA from png). So apparently
 c523724c693ee031d8b5351aff6232a1f7d86876 was not enough!
 How to reproduce:
 {{{
 PS C:\Users\xxxx>ffmpeg.exe  -i "this one does it.mp4" -frames:v 1 -q:v 1
 318281.jpg
 ffmpeg version N-105504-g04cc7a5548-20220207 Copyright (c) 2000-2022 the
 FFmpeg developers
   built with gcc 11.2.0 (crosstool-NG 1.24.0.498_5075e1f)
   configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static
 --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64
 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug
 --enable-shared --disable-static --disable-w32threads --enable-pthreads
 --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype
 --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig
 --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf
 --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-
 avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac
 --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme
 --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus
 --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp
 --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-
 libopenmpt --enable-librav1e --enable-librubberband --enable-schannel
 --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1
 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi
 --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-
 libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-
 libxvid --enable-libzimg --enable-libzvbi --extra-
 cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread
 --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20220207
   libavutil      57. 21.100 / 57. 21.100
   libavcodec     59. 20.100 / 59. 20.100
   libavformat    59. 17.101 / 59. 17.101
   libavdevice    59.  5.100 / 59.  5.100
   libavfilter     8. 26.101 /  8. 26.101
   libswscale      6.  5.100 /  6.  5.100
   libswresample   4.  4.100 /  4.  4.100
   libpostproc    56.  4.100 / 56.  4.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'this one does it.mp4':
   Metadata:
     major_brand     : qt
     minor_version   : 0
     compatible_brands: qt
     creation_time   : 2021-07-05T19:03:03.000000Z
     com.apple.quicktime.description: [{"rParams":"2560000,{1080,
 1920}","appRecord":"1","videoIndex":"1","userDevice":"iPhone11,8","userSystem":"14.2"}]
     com.apple.quicktime.software:
 {"TEEditor":"1"},{"isFastImport":"0"},{"transType":"2"},{"source":"1"}
     com.apple.quicktime.copyright: ba465c12a45eb7a886ad4f22aa7710b6
   Duration: 00:00:07.03, start: 0.000000, bitrate: 4004 kb/s
   Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 132 kb/s (default)
     Metadata:
       creation_time   : 2021-07-05T19:03:03.000000Z
       handler_name    : Core Media Audio
       vendor_id       : [0][0][0][0]
   Stream #0:1[0x2](und): Video: hevc (Main) (hvc1 / 0x31637668),
 yuvj420p(pc, bt709), 720x1280, 3864 kb/s, 29.01 fps, 29 tbr, 600 tbn
 (default)
     Metadata:
       creation_time   : 2021-07-05T19:03:03.000000Z
       handler_name    : Core Media Video
       vendor_id       : [0][0][0][0]
       encoder         : HEVC
 Stream mapping:
   Stream #0:1 -> #0:0 (hevc (native) -> mjpeg (native))
 Press [q] to stop, [?] for help
 Output #0, image2, to '318281.jpg':
   Metadata:
     major_brand     : qt
     minor_version   : 0
     compatible_brands: qt
     com.apple.quicktime.copyright: ba465c12a45eb7a886ad4f22aa7710b6
     com.apple.quicktime.description: [{"rParams":"2560000,{1080,
 1920}","appRecord":"1","videoIndex":"1","userDevice":"iPhone11,8","userSystem":"14.2"}]
     com.apple.quicktime.software:
 {"TEEditor":"1"},{"isFastImport":"0"},{"transType":"2"},{"source":"1"}
     encoder         : Lavf59.17.101
   Stream #0:0(und): Video: mjpeg, yuvj420p(pc, bt709, progressive),
 720x1280, q=2-31, 200 kb/s, 29 fps, 29 tbn (default)
     Metadata:
       creation_time   : 2021-07-05T19:03:03.000000Z
       handler_name    : Core Media Video
       vendor_id       : [0][0][0][0]
       encoder         : Lavc59.20.100 mjpeg
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
 frame=    1 fps=0.0 q=1.0 Lsize=N/A time=00:00:00.03 bitrate=N/A
 speed=1.13x
 video:105kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}

 The sample is here:
 https://mega.nz/folder/5EMWDDrS#MlG_UA9CHvG633ldHvmnTQ/folder/tQtm0TpB

 The downupstream issue is here
 https://github.com/n00mkrad/flowframes/issues/84
 zscale is affected too, foring does not work.

 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9693>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list