#11309: ffmpeg 7.1 fails to write color_primaries and color_trc -------------------------------------+------------------------------------- Reporter: wywh | Type: defect Status: new | Priority: normal Component: | Version: 7.1 undetermined | Keywords: | Blocked By: color_primaries color_trc | Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- In ffmpeg 7.0.2_2 and 4.4.5_0 the command below works as expected but in 7.1 it fails to write color_primaries and color_trc.
There is also a new alert: "Codec AVOption gop_timecode (MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start.) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream." {{{ ffmpeg7 -i input.mp4 -c:v libx265 -crf 28 -preset medium -pix_fmt yuv420p10le -profile:v main10 -color_range 1 -color_primaries:v bt470bg -color_trc:v bt709 -colorspace:v smpte170m -timecode 00:00:00:00 -tag:v hvc1 -c:a aac -b:a 128k ffmpeg7.mp4 ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers built with Apple clang version 16.0.0 (clang-1600.0.26.3) configuration: --cc=/usr/bin/clang --datadir=/opt/local/libexec/ffmpeg7/share/data --docdir=/opt/local/libexec/ffmpeg7/share/doc --progs-suffix=7 --prefix=/opt/local/libexec/ffmpeg7 --enable-audiotoolbox --disable- indev=jack --disable-libjack --disable-libopencore-amrnb --disable- libopencore-amrwb --disable-libplacebo --disable-libvmaf --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-metal --enable- opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport --enable-videotoolbox --disable-xlib --enable-avfilter --enable-fontconfig --enable-gnutls --enable-lcms2 --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libfribidi --enable- libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-lzma --enable-pthreads --enable-shared --enable- swscale --enable-zlib --enable-libaom --enable-libsvtav1 --arch=x86_64 --enable-x86asm --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-postproc libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.100 / 61. 19.100 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 encoder : Lavf58.76.100 Duration: 00:00:02.00, start: 0.000000, bitrate: 1016 kb/s Stream #0:0[0x1](und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 863 kb/s, 50 fps, 50 tbr, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] timecode : 00:00:00:00 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : TimeCodeHandler timecode : 00:00:00:00 [out#0/mp4 @ 0x7f94bba10e80] Codec AVOption gop_timecode (MPEG GOP Timecode in hh:mm:ss[:;.]ff format. Overrides timecode_frame_start.) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream. Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help x265 [info]: HEVC encoder version 3.6+1-aa7f602f7 x265 [info]: build info [Mac OS X][clang 16.0.0][64 bit] 10bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 x265 [info]: Main 10 profile, Level-3.1 (Main tier) x265 [info]: Thread pool created using 12 threads x265 [info]: Slices : 1 x265 [info]: frame threads / pool features : 3 / wpp(9 rows) x265 [warning]: Source height < 720p; disabling lookahead-slices x265 [info]: Coding QT: max CU size, min CU size : 64 / 8 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3 x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00 x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2 x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0 x265 [info]: References / ref-limit cu / depth : 3 / off / on x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1 x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp x265 [info]: tools: b-intra strong-intra-smoothing deblock sao Output #0, mp4, to 'ffmpeg7.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 timecode : 00:00:00:00 encoder : Lavf61.7.100 Stream #0:0(und): Video: hevc (hvc1 / 0x31637668), yuv420p10le(tv, smpte170m/unknown/unknown, progressive), 768x576 [SAR 1:1 DAR 4:3], q=2-31, 50 fps, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] timecode : 00:00:00:00 encoder : Lavc61.19.100 libx265 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc61.19.100 aac [out#0/mp4 @ 0x7f94bba10e80] video:190KiB audio:30KiB subtitle:0KiB other streams:0KiB global headers:2KiB muxing overhead: 2.988819% frame= 100 fps= 87 q=37.4 Lsize= 227KiB time=00:00:01.96 bitrate= 950.1kbits/s speed= 1.7x x265 [info]: frame I: 1, Avg QP:30.71 kb/s: 3501.20 x265 [info]: frame P: 21, Avg QP:31.01 kb/s: 1954.04 x265 [info]: frame B: 78, Avg QP:36.82 kb/s: 426.02 x265 [info]: Weighted P-Frames: Y:9.5% UV:9.5% encoded 100 frames in 1.13s (88.61 fps), 777.66 kb/s, Avg QP:35.54 [aac @ 0x7f94bba7bf40] Qavg: 200.813 }}} In ffmpeg 4.4.5 (and 7.0.2_2) it works: {{{ ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -pix_fmt yuv420p10le -profile:v main10 -color_range 1 -color_primaries:v bt470bg -color_trc:v bt709 -colorspace:v smpte170m -timecode 00:00:00:00 -tag:v hvc1 -c:a aac -b:a 128k ffmpeg4.mp4 ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developers built with Apple clang version 16.0.0 (clang-1600.0.26.3) configuration: --prefix=/opt/local --cc=/usr/bin/clang --mandir=/opt/local/share/man --enable-audiotoolbox --disable-indev=jack --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable- opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport --enable-videotoolbox --enable-avfilter --enable-avresample --enable- fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable- libdav1d --enable-libfreetype --enable-libfribidi --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-lzma --enable-pthreads --enable-shared --enable-swscale --enable- zlib --enable-libaom --enable-libsvtav1 --arch=x86_64 --enable-x86asm --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-postproc libavutil 56. 70.100 / 56. 70.100 libavcodec 58.134.100 / 58.134.100 libavformat 58. 76.100 / 58. 76.100 libavdevice 58. 13.100 / 58. 13.100 libavfilter 7.110.100 / 7.110.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 9.100 / 5. 9.100 libswresample 3. 9.100 / 3. 9.100 libpostproc 55. 9.100 / 55. 9.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 encoder : Lavf58.76.100 Duration: 00:00:02.00, start: 0.000000, bitrate: 1016 kb/s Stream #0:0(und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 863 kb/s, 50 fps, 50 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] timecode : 00:00:00:00 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : TimeCodeHandler timecode : 00:00:00:00 Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help x265 [info]: HEVC encoder version 3.6+1-aa7f602f7 x265 [info]: build info [Mac OS X][clang 16.0.0][64 bit] 10bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 x265 [info]: Main 10 profile, Level-3.1 (Main tier) x265 [info]: Thread pool created using 12 threads x265 [info]: Slices : 1 x265 [info]: frame threads / pool features : 3 / wpp(9 rows) x265 [warning]: Source height < 720p; disabling lookahead-slices x265 [info]: Coding QT: max CU size, min CU size : 64 / 8 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3 x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00 x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2 x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0 x265 [info]: References / ref-limit cu / depth : 3 / off / on x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1 x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp x265 [info]: tools: b-intra strong-intra-smoothing deblock sao [mp4 @ 0x7f9c5381d800] Application provided duration: -9223372036854775808 / timestamp: -9223372036854775808 is out of range for mov/mp4 format [mp4 @ 0x7f9c5381d800] pts has no value Output #0, mp4, to 'ffmpeg4.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2mp41 timecode : 00:00:00:00 encoder : Lavf58.76.100 Stream #0:0(und): Video: hevc (hvc1 / 0x31637668), yuv420p10le(tv, smpte170m/bt470bg/bt709, progressive), 768x576 [SAR 1:1 DAR 4:3], q=2-31, 0.02 fps, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] timecode : 00:00:00:00 encoder : Lavc58.134.100 libx265 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc58.134.100 aac frame= 100 fps= 88 q=37.4 Lsize= 228kB time=00:00:01.94 bitrate= 960.8kbits/s speed=1.71x video:190kB audio:31kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 2.976367% x265 [info]: frame I: 1, Avg QP:30.71 kb/s: 3501.20 x265 [info]: frame P: 21, Avg QP:31.01 kb/s: 1954.04 x265 [info]: frame B: 78, Avg QP:36.82 kb/s: 426.02 x265 [info]: Weighted P-Frames: Y:9.5% UV:9.5% encoded 100 frames in 1.12s (89.50 fps), 777.66 kb/s, Avg QP:35.54 [aac @ 0x7f9c53824000] Qavg: 161.075 }}} Like ffprobe below, also !MediaInfo reports that ffmpeg 7.1 fails to write color_primaries and color_trc while in ffmpeg 4 output they are written. {{{ ffprobe7 -v error -show_streams input.mp4 | grep color_ color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown ffprobe7 -v error -show_streams ffmpeg7.mp4 | grep color_ color_range=tv color_space=smpte170m color_transfer=unknown color_primaries=unknown ffprobe7 -v error -show_streams ffmpeg4.mp4 | grep color_ color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/11309> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
_______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".