Re: [FFmpeg-devel] AVFrame.color_trc wrong since f2ad6238e4c0e99e2fc131ee14c586e87b045680
On 9/15/20 9:24 PM, James Almer wrote: On 9/15/2020 10:57 PM, Pavel Koshevoy wrote: that should be color_transfer=arib-std-b67 Would anyone object if I restored previous behavior? I'd prefer avoid reimplementing SEI parsing outside of libav just to get the correct per-frame color_trc... Yes, the point of the change was to set color_trc before the frame buffers were allocated, so a full revert would break that. Can you share the sample that reproduces this? I've privately sent a Google Drive link to James for a different smaller sample that reproduces the same problem, lg_4k_hlg.ts Pavel. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] AVFrame.color_trc wrong since f2ad6238e4c0e99e2fc131ee14c586e87b045680
On Tue, Sep 15, 2020, 21:25 James Almer wrote: > On 9/15/2020 10:57 PM, Pavel Koshevoy wrote: > > set_side_data used to do out->color_trc = > > s->sei.alternative_transfer.preferred_transfer_characteristics; > > > > In commit f2ad6238e4c0e99e2fc131ee14c586e87b045680 this was removed. > > Now ffprobe of an HLG stream reports wrong transfer characteristics for > > each frame: > > > > ``` > > $ ffprobe -show_frames 20190914-1435_iowa_vs_iowa-state_fox-cfb-dertp.ts > | > > grep color_transfer= | head > > > > ffprobe version N-99190-g7cc8a2b Copyright (c) 2007-2020 the FFmpeg > > developers > > built with gcc 8 (Ubuntu 8.4.0-1ubuntu1~16.04.1) > > configuration: --prefix=/home/xyz/x86_64 --enable-rpath --enable-shared > > --disable-static --disable-stripping --enable-libfreetype > > --enable-libfontconfig --enable-libfribidi --enable-libass > > --enable-libmodplug --enable-openssl --enable-ffnvcodec --enable-cuda > > --extra-ldflags='-L/home/xyz/x86_64/lib -L/usr/local/cuda/lib64' > > --extra-cflags='-I/home/xyz/x86_64/include -I/usr/local/cuda/include' > > libavutil 56. 59.100 / 56. 59.100 > > libavcodec 58.106.100 / 58.106.100 > > libavformat58. 56.100 / 58. 56.100 > > libavdevice58. 11.102 / 58. 11.102 > > libavfilter 7. 87.100 / 7. 87.100 > > libswscale 5. 8.100 / 5. 8.100 > > libswresample 3. 8.100 / 3. 8.100 > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [hevc @ 0xb78b00] PPS id out of range: 0 > > Last message repeated 1 times > > [hevc @ 0xb78b00] Error parsing NAL unit #2. > > [mpegts @ 0xb72c40] PES packet size mismatch > > > > > > > > > > > > [mpegts @ 0xb72c40] Packet corrupt (stream = 2, dts = 3870328878). > > > > > > > > > > > > [mpegts @ 0xb72c40] PES packet size mismatch > > > > > > > > > > > > [mpegts @ 0xb72c40] Packet corrupt (stream = 1, dts = 3870334067). > > [mpegts @ 0xb72c40] PES packet size mismatch > > [mpegts @ 0xb72c40] Packet corrupt (stream = 2, dts = 3870328878). > > [mpegts @ 0xb72c40] stream 0 : no PTS found at end of file, duration not > set > > Input #0, mpegts, from > '20190914-1435_iowa_vs_iowa-state_fox-cfb-dertp.ts': > > Duration: 00:05:00.05, start: 42703.686200, bitrate: 70429 kb/s > > Program 1 > > Stream #0:0[0x3ff]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), > > yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR > > 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc > > Stream #0:1[0x400](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), > > 48000 Hz, stereo, fltp, 126 kb/s > > Stream #0:2[0x401](eng): Audio: eac3 ([129][0][0][0] / 0x0081), 48000 > > Hz, 5.1(side), fltp, 384 kb/s > > [hevc @ 0xba2d80] Could not find ref with POC -40 > > [hevc @ 0xba2d80] Could not find ref with POC -48 > > [hevc @ 0xba2d80] Could not find ref with POC -32 > > [hevc @ 0xba2d80] First slice in a frame missing. > > Last message repeated 34 times > > [aac @ 0xba1200] channel element 2.4 is not allocated > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > color_transfer=bt2020-10 > > ^C > > > > ``` > > > > that should be color_transfer=arib-std-b67 > > > > Would anyone object if I restored previous behavior? I'd prefer avoid > > reimplementing SEI parsing outside of libav just to get the correct > > per-frame color_trc... > > Yes, the point of the change was to set color_trc before the frame > buffers were allocated, so a full revert would break that. > I don't think I understand what color_trc has to do with buffers... it's not a buffer property (it does not affect the size or layout of the buffer). I wasn't planning on a full revert, just want to restore what was removed from set_side_data. > Can you share the sample that reproduces this? > I may be able to share a short chunk. At 70Mbps even a short chunk would be large. I'd like to confirm tomorrow whether I have permission to share a short file publicly or privately. Thank you, Pavel ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org
Re: [FFmpeg-devel] AVFrame.color_trc wrong since f2ad6238e4c0e99e2fc131ee14c586e87b045680
On 9/15/2020 10:57 PM, Pavel Koshevoy wrote: > set_side_data used to do out->color_trc = > s->sei.alternative_transfer.preferred_transfer_characteristics; > > In commit f2ad6238e4c0e99e2fc131ee14c586e87b045680 this was removed. > Now ffprobe of an HLG stream reports wrong transfer characteristics for > each frame: > > ``` > $ ffprobe -show_frames 20190914-1435_iowa_vs_iowa-state_fox-cfb-dertp.ts | > grep color_transfer= | head > > ffprobe version N-99190-g7cc8a2b Copyright (c) 2007-2020 the FFmpeg > developers > built with gcc 8 (Ubuntu 8.4.0-1ubuntu1~16.04.1) > configuration: --prefix=/home/xyz/x86_64 --enable-rpath --enable-shared > --disable-static --disable-stripping --enable-libfreetype > --enable-libfontconfig --enable-libfribidi --enable-libass > --enable-libmodplug --enable-openssl --enable-ffnvcodec --enable-cuda > --extra-ldflags='-L/home/xyz/x86_64/lib -L/usr/local/cuda/lib64' > --extra-cflags='-I/home/xyz/x86_64/include -I/usr/local/cuda/include' > libavutil 56. 59.100 / 56. 59.100 > libavcodec 58.106.100 / 58.106.100 > libavformat58. 56.100 / 58. 56.100 > libavdevice58. 11.102 / 58. 11.102 > libavfilter 7. 87.100 / 7. 87.100 > libswscale 5. 8.100 / 5. 8.100 > libswresample 3. 8.100 / 3. 8.100 > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [hevc @ 0xb78b00] PPS id out of range: 0 > Last message repeated 1 times > [hevc @ 0xb78b00] Error parsing NAL unit #2. > [mpegts @ 0xb72c40] PES packet size mismatch > > > > > > [mpegts @ 0xb72c40] Packet corrupt (stream = 2, dts = 3870328878). > > > > > > [mpegts @ 0xb72c40] PES packet size mismatch > > > > > > [mpegts @ 0xb72c40] Packet corrupt (stream = 1, dts = 3870334067). > [mpegts @ 0xb72c40] PES packet size mismatch > [mpegts @ 0xb72c40] Packet corrupt (stream = 2, dts = 3870328878). > [mpegts @ 0xb72c40] stream 0 : no PTS found at end of file, duration not set > Input #0, mpegts, from '20190914-1435_iowa_vs_iowa-state_fox-cfb-dertp.ts': > Duration: 00:05:00.05, start: 42703.686200, bitrate: 70429 kb/s > Program 1 > Stream #0:0[0x3ff]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), > yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160 [SAR 1:1 DAR > 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc > Stream #0:1[0x400](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), > 48000 Hz, stereo, fltp, 126 kb/s > Stream #0:2[0x401](eng): Audio: eac3 ([129][0][0][0] / 0x0081), 48000 > Hz, 5.1(side), fltp, 384 kb/s > [hevc @ 0xba2d80] Could not find ref with POC -40 > [hevc @ 0xba2d80] Could not find ref with POC -48 > [hevc @ 0xba2d80] Could not find ref with POC -32 > [hevc @ 0xba2d80] First slice in a frame missing. > Last message repeated 34 times > [aac @ 0xba1200] channel element 2.4 is not allocated > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > color_transfer=bt2020-10 > ^C > > ``` > > that should be color_transfer=arib-std-b67 > > Would anyone object if I restored previous behavior? I'd prefer avoid > reimplementing SEI parsing outside of libav just to get the correct > per-frame color_trc... Yes, the point of the change was to set color_trc before the frame buffers were allocated, so a full revert would break that. Can you share the sample that reproduces this? > > Thank you, > Pavel. > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".