Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#8937 closed defect (invalid)

Incorrect color when decoding h264 file

Reported by: iss 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:
When converting attached file, colors are different to what I see when I play it with ffplay. Ffplay displays correct colors.

This has been reported to us as a bug, but I don't see any obvious issue in our code and I get same result when converting to png file. So I figured this could be ffmpeg bug.

How to reproduce:

% ffmpeg -i incorrect_color_h264.mp4 -frames 1 out.png
% ffplay incorrect_color_h264.mp4

Full console output:

$ ./ffmpeg.exe  -v 9 -loglevel 99 -i incorrect_color_h264.mp4 -frames 0  out.png
ffmpeg version N-99577-g2b5e18a953 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3-win32 (GCC) 20200320
  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-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-opencl --enable-libvmaf --enable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
  libavutil      56. 60.100 / 56. 60.100
  libavcodec     58.111.101 / 58.111.101
  libavformat    58. 62.100 / 58. 62.100
  libavdevice    58. 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
  libpostproc    55.  8.100 / 55.  8.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument 'incorrect_color_h264.mp4'.
Reading option '-frames' ... matched as option 'frames' (set the number of frames to output) with argument '0'.
Reading option 'out.png' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url incorrect_color_h264.mp4.
Successfully parsed a group of options.
Opening an input file: incorrect_color_h264.mp4.
[NULL @ 0000020c2dcb4cc0] Opening 'incorrect_color_h264.mp4' for reading
[file @ 0000020c2dcb60c0] Setting default whitelist 'file,crypto,data'
Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048
Probing mp3 score:1 size:2048
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'ftyp' parent:'root' sz: 24 8 259628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'uuid' parent:'root' sz: 40 32 259628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'mdat' parent:'root' sz: 258018 72 259628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'moov' parent:'root' sz: 1546 258090 259628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'mvhd' parent:'moov' sz: 108 8 1538
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] time scale = 30000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'trak' parent:'moov' sz: 1361 116 1538
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'tkhd' parent:'trak' sz: 92 8 1353
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'mdia' parent:'trak' sz: 1261 100 1353
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'mdhd' parent:'mdia' sz: 32 8 1253
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'hdlr' parent:'mdia' sz: 45 40 1253
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] ctype=[0][0][0][0]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] stype=vide
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'minf' parent:'mdia' sz: 1176 85 1253
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'vmhd' parent:'minf' sz: 20 8 1168
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'dinf' parent:'minf' sz: 36 28 1168
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'dref' parent:'dinf' sz: 28 8 28
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stbl' parent:'minf' sz: 1112 64 1168
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stsd' parent:'stbl' sz: 152 8 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] size=136 4CC=avc1 codec_type=0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'avcC' parent:'stsd' sz: 50 8 50
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stts' parent:'stbl' sz: 24 160 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] track[0].stts.entries = 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] sample_count=204, sample_duration=1000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stsc' parent:'stbl' sz: 28 184 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] track[0].stsc.entries = 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stsz' parent:'stbl' sz: 836 212 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] sample_size = 0 sample_count = 204
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stco' parent:'stbl' sz: 20 1048 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'stss' parent:'stbl' sz: 44 1068 1104
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] keyframe_count = 7
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 0, offset 50, dts 0, size 11106, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 1, offset 2bb2, dts 1000, size 240, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 2, offset 2ca2, dts 2000, size 31, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 3, offset 2cc1, dts 3000, size 18, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 4, offset 2cd3, dts 4000, size 18, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 5, offset 2ce5, dts 5000, size 18, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 6, offset 2cf7, dts 6000, size 18, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 7, offset 2d09, dts 7000, size 18, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 8, offset 2d1b, dts 8000, size 18, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 9, offset 2d2d, dts 9000, size 2490, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 10, offset 36e7, dts 10000, size 10096, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 11, offset 5e57, dts 11000, size 5609, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 12, offset 7440, dts 12000, size 8154, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 13, offset 941a, dts 13000, size 13015, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 14, offset c6f1, dts 14000, size 1446, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 15, offset cc97, dts 15000, size 1193, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 16, offset d140, dts 16000, size 1193, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 17, offset d5e9, dts 17000, size 1193, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 18, offset da92, dts 18000, size 1193, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 19, offset df3b, dts 19000, size 1193, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 20, offset e3e4, dts 20000, size 1193, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 21, offset e88d, dts 21000, size 1193, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 22, offset ed36, dts 22000, size 1193, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 23, offset f1df, dts 23000, size 1193, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 24, offset f688, dts 24000, size 1193, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 25, offset fb31, dts 25000, size 1193, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 26, offset ffda, dts 26000, size 1193, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 27, offset 10483, dts 27000, size 1193, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 28, offset 1092c, dts 28000, size 1193, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 29, offset 10dd5, dts 29000, size 1193, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 30, offset 1127e, dts 30000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 31, offset 14f3f, dts 31000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 32, offset 153b5, dts 32000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 33, offset 155d2, dts 33000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 34, offset 157ef, dts 34000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 35, offset 15a0c, dts 35000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 36, offset 15c29, dts 36000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 37, offset 15e46, dts 37000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 38, offset 16063, dts 38000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 39, offset 16280, dts 39000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 40, offset 1649d, dts 40000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 41, offset 166ba, dts 41000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 42, offset 168d7, dts 42000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 43, offset 16af4, dts 43000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 44, offset 16d11, dts 44000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 45, offset 16f2e, dts 45000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 46, offset 1714b, dts 46000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 47, offset 17368, dts 47000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 48, offset 17585, dts 48000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 49, offset 177a2, dts 49000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 50, offset 179bf, dts 50000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 51, offset 17bdc, dts 51000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 52, offset 17df9, dts 52000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 53, offset 18016, dts 53000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 54, offset 18233, dts 54000, size 541, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 55, offset 18450, dts 55000, size 541, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 56, offset 1866d, dts 56000, size 541, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 57, offset 1888a, dts 57000, size 541, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 58, offset 18aa7, dts 58000, size 541, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 59, offset 18cc4, dts 59000, size 541, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 60, offset 18ee1, dts 60000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 61, offset 1cba2, dts 61000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 62, offset 1d018, dts 62000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 63, offset 1d235, dts 63000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 64, offset 1d452, dts 64000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 65, offset 1d66f, dts 65000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 66, offset 1d88c, dts 66000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 67, offset 1daa9, dts 67000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 68, offset 1dcc6, dts 68000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 69, offset 1dee3, dts 69000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 70, offset 1e100, dts 70000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 71, offset 1e31d, dts 71000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 72, offset 1e53a, dts 72000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 73, offset 1e757, dts 73000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 74, offset 1e974, dts 74000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 75, offset 1eb91, dts 75000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 76, offset 1edae, dts 76000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 77, offset 1efcb, dts 77000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 78, offset 1f1e8, dts 78000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 79, offset 1f405, dts 79000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 80, offset 1f622, dts 80000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 81, offset 1f83f, dts 81000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 82, offset 1fa5c, dts 82000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 83, offset 1fc79, dts 83000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 84, offset 1fe96, dts 84000, size 541, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 85, offset 200b3, dts 85000, size 541, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 86, offset 202d0, dts 86000, size 541, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 87, offset 204ed, dts 87000, size 541, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 88, offset 2070a, dts 88000, size 541, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 89, offset 20927, dts 89000, size 541, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 90, offset 20b44, dts 90000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 91, offset 24805, dts 91000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 92, offset 24c7b, dts 92000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 93, offset 24e98, dts 93000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 94, offset 250b5, dts 94000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 95, offset 252d2, dts 95000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 96, offset 254ef, dts 96000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 97, offset 2570c, dts 97000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 98, offset 25929, dts 98000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 99, offset 25b46, dts 99000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 100, offset 25d63, dts 100000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 101, offset 25f80, dts 101000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 102, offset 2619d, dts 102000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 103, offset 263ba, dts 103000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 104, offset 265d7, dts 104000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 105, offset 267f4, dts 105000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 106, offset 26a11, dts 106000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 107, offset 26c2e, dts 107000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 108, offset 26e4b, dts 108000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 109, offset 27068, dts 109000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 110, offset 27285, dts 110000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 111, offset 274a2, dts 111000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 112, offset 276bf, dts 112000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 113, offset 278dc, dts 113000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 114, offset 27af9, dts 114000, size 541, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 115, offset 27d16, dts 115000, size 541, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 116, offset 27f33, dts 116000, size 541, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 117, offset 28150, dts 117000, size 541, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 118, offset 2836d, dts 118000, size 541, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 119, offset 2858a, dts 119000, size 541, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 120, offset 287a7, dts 120000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 121, offset 2c468, dts 121000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 122, offset 2c8de, dts 122000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 123, offset 2cafb, dts 123000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 124, offset 2cd18, dts 124000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 125, offset 2cf35, dts 125000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 126, offset 2d152, dts 126000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 127, offset 2d36f, dts 127000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 128, offset 2d58c, dts 128000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 129, offset 2d7a9, dts 129000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 130, offset 2d9c6, dts 130000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 131, offset 2dbe3, dts 131000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 132, offset 2de00, dts 132000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 133, offset 2e01d, dts 133000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 134, offset 2e23a, dts 134000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 135, offset 2e457, dts 135000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 136, offset 2e674, dts 136000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 137, offset 2e891, dts 137000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 138, offset 2eaae, dts 138000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 139, offset 2eccb, dts 139000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 140, offset 2eee8, dts 140000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 141, offset 2f105, dts 141000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 142, offset 2f322, dts 142000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 143, offset 2f53f, dts 143000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 144, offset 2f75c, dts 144000, size 541, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 145, offset 2f979, dts 145000, size 541, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 146, offset 2fb96, dts 146000, size 541, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 147, offset 2fdb3, dts 147000, size 541, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 148, offset 2ffd0, dts 148000, size 541, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 149, offset 301ed, dts 149000, size 541, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 150, offset 3040a, dts 150000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 151, offset 340cb, dts 151000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 152, offset 34541, dts 152000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 153, offset 3475e, dts 153000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 154, offset 3497b, dts 154000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 155, offset 34b98, dts 155000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 156, offset 34db5, dts 156000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 157, offset 34fd2, dts 157000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 158, offset 351ef, dts 158000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 159, offset 3540c, dts 159000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 160, offset 35629, dts 160000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 161, offset 35846, dts 161000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 162, offset 35a63, dts 162000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 163, offset 35c80, dts 163000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 164, offset 35e9d, dts 164000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 165, offset 360ba, dts 165000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 166, offset 362d7, dts 166000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 167, offset 364f4, dts 167000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 168, offset 36711, dts 168000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 169, offset 3692e, dts 169000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 170, offset 36b4b, dts 170000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 171, offset 36d68, dts 171000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 172, offset 36f85, dts 172000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 173, offset 371a2, dts 173000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 174, offset 373bf, dts 174000, size 541, distance 24, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 175, offset 375dc, dts 175000, size 541, distance 25, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 176, offset 377f9, dts 176000, size 541, distance 26, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 177, offset 37a16, dts 177000, size 541, distance 27, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 178, offset 37c33, dts 178000, size 541, distance 28, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 179, offset 37e50, dts 179000, size 541, distance 29, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 180, offset 3806d, dts 180000, size 15553, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 181, offset 3bd2e, dts 181000, size 1142, distance 1, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 182, offset 3c1a4, dts 182000, size 541, distance 2, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 183, offset 3c3c1, dts 183000, size 541, distance 3, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 184, offset 3c5de, dts 184000, size 541, distance 4, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 185, offset 3c7fb, dts 185000, size 541, distance 5, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 186, offset 3ca18, dts 186000, size 541, distance 6, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 187, offset 3cc35, dts 187000, size 541, distance 7, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 188, offset 3ce52, dts 188000, size 541, distance 8, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 189, offset 3d06f, dts 189000, size 541, distance 9, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 190, offset 3d28c, dts 190000, size 541, distance 10, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 191, offset 3d4a9, dts 191000, size 541, distance 11, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 192, offset 3d6c6, dts 192000, size 541, distance 12, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 193, offset 3d8e3, dts 193000, size 541, distance 13, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 194, offset 3db00, dts 194000, size 541, distance 14, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 195, offset 3dd1d, dts 195000, size 541, distance 15, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 196, offset 3df3a, dts 196000, size 541, distance 16, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 197, offset 3e157, dts 197000, size 541, distance 17, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 198, offset 3e374, dts 198000, size 541, distance 18, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 199, offset 3e591, dts 199000, size 541, distance 19, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 200, offset 3e7ae, dts 200000, size 541, distance 20, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 201, offset 3e9cb, dts 201000, size 541, distance 21, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 202, offset 3ebe8, dts 202000, size 541, distance 22, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] AVIndex stream 0, sample 203, offset 3ee05, dts 203000, size 541, distance 23, keyframe 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'udta' parent:'moov' sz: 69 1477 1538
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'meta' parent:'udta' sz: 53 8 61
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'hdlr' parent:'meta' sz: 33 8 41
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] ctype=[0][0][0][0]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] stype=mdir
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'ilst' parent:'meta' sz: 8 41 41
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] type:'Xtra' parent:'udta' sz: 8 61 61
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] on_parse_exit_offset=259628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] Before avformat_find_stream_info() pos: 259628 bytes read:34314 seeks:1 nb_streams:1
[h264 @ 0000020c2dcc7280] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0000020c2dcc7280] nal_unit_type: 8(PPS), nal_ref_idc: 3
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] stream 0, sample 0, dts 0
[h264 @ 0000020c2dcc7280] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 0000020c2dcc7280] nal_unit_type: 6(SEI), nal_ref_idc: 0
    Last message repeated 1 times
[h264 @ 0000020c2dcc7280] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0000020c2dcc7280] Format yuv420p chosen by get_format().
[h264 @ 0000020c2dcc7280] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] stream 0: start_time: 0 duration: 6.8
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] format: start_time: 0 duration: 6.8 (estimate from stream) bitrate=305 kb/s
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020c2dcb4cc0] After avformat_find_stream_info() pos: 11186 bytes read:67082 seeks:2 frames:1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'incorrect_color_h264.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    creation_time   : 2020-09-28T23:10:48.000000Z
  Duration: 00:00:06.80, start: 0.000000, bitrate: 305 kb/s
    Stream #0:0(und), 1, 1/30000: Video: h264 (Constrained Baseline), 1 reference frame (avc1 / 0x31637661), yuv420p(left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 0/1, 303 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2020-09-28T23:10:48.000000Z
      handler_name    : VideoHandler
      encoder         : AVC Coding
Successfully opened the file.
Parsing a group of options: output url out.png.
Applying option frames (set the number of frames to output) with argument 0.
Successfully parsed a group of options.
Opening an output file: out.png.
Successfully opened the file.
detected 16 logical cores
[h264 @ 0000020c2dcbdcc0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0000020c2dcbdcc0] nal_unit_type: 8(PPS), nal_ref_idc: 3
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Press [q] to stop, [?] for help
No more output streams to write to, finishing.
Finishing stream 0:0 without any data written to it.
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] Setting 'video_size' to value '1920x1080'
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] Setting 'time_base' to value '1/30000'
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] Setting 'frame_rate' to value '30/1'
[graph 0 input from stream 0:0 @ 0000020c2dce0cc0] w:1920 h:1080 pixfmt:yuv420p tb:1/30000 fr:30/1 sar:1/1
[format @ 0000020c2e52f480] Setting 'pix_fmts' to value 'rgb24|rgba|rgb48be|rgba64be|pal8|gray|ya8|gray16be|ya16be|monob'
[auto_scaler_0 @ 0000020c2dd8e8c0] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 0000020c2dd8e8c0] w:iw h:ih flags:'bicubic' interl:0
[format @ 0000020c2e52f480] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[AVFilterGraph @ 0000020c2dcbe280] query_formats: 4 queried, 2 merged, 1 already done, 0 delayed
[auto_scaler_0 @ 0000020c2dd8e8c0] picking rgb24 out of 10 ref:yuv420p alpha:0
[auto_scaler_0 @ 0000020c2dd8e8c0] w:1920 h:1080 fmt:yuv420p sar:1/1 -> w:1920 h:1080 fmt:rgb24 sar:1/1 flags:0x4
Output #0, image2, to 'out.png':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    encoder         : Lavf58.62.100
    Stream #0:0(und), 0, 1/30: Video: png, 1 reference frame, rgb24(left), 1920x1080 [SAR 1:1 DAR 16:9], 0/1, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
    Metadata:
      creation_time   : 2020-09-28T23:10:48.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.111.101 png
frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (incorrect_color_h264.mp4):
  Input stream #0:0 (video): 0 packets read (0 bytes); 0 frames decoded;
  Total: 0 packets (0 bytes) demuxed
Output file #0 (out.png):
  Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
  Total: 0 packets (0 bytes) muxed
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0000020c2dcbe340] Statistics: 67082 bytes read, 2 seeks

Attachments (3)

incorrect_color_h264.mp4 (253.5 KB ) - added by iss 3 years ago.
Sample media
expected_result.png (14.8 KB ) - added by iss 3 years ago.
Expected result
actual_result.png (20.0 KB ) - added by iss 3 years ago.
Actual result

Download all attachments as: .zip

Change History (14)

by iss, 3 years ago

Attachment: incorrect_color_h264.mp4 added

Sample media

by iss, 3 years ago

Attachment: expected_result.png added

Expected result

by iss, 3 years ago

Attachment: actual_result.png added

Actual result

comment:1 by Carl Eugen Hoyos, 3 years ago

It appears to me that ffplay shows wrong colours but ffmpeg creates a correct output: Why do you think the expected_result.png file is correct / how did you produce it?

in reply to:  1 comment:2 by iss, 3 years ago

Replying to cehoyos:

It appears to me that ffplay shows wrong colours but ffmpeg creates a correct output: Why do you think the expected_result.png file is correct / how did you produce it?

I think that expected result is correct, because it shows correct in most players I tested (web browser, VLC, ffplay, even windows thumbnail looks like expected_result.png)

Unfortunately I can't tell how the file was created, it was provided as sample for bug report - see https://developer.blender.org/T81307

Perhaps not quite useful information is, that I have converted pFrame buffer data to RGB (I did this manually for 2 pixels) and the darker color was different to either of those results. There is good chance I did not do this correctly though, I am not used to other pixel formats than our RGBA.

This was my sample for darker pixel:

pFrame->data[0][100]
pFrame->data[1][100]
pFrame->data[2][100]

And lighter pixel:

pFrame->data[0][0]
pFrame->data[1][0]
pFrame->data[2][0]

I used this util to convert values https://www.mikekohn.net/file_formats/yuv_rgb_converter.php

comment:3 by Balling, 3 years ago

web browser, VLC, ffplay,

This is not true. thumbnail is actually actual_result.png.

Last edited 3 years ago by Balling (previous) (diff)

comment:4 by 3DLight, 3 years ago

We've recorded the pattern video with OBS Studio (recording program) from our display.

This was our first post.
https://blenderartists.org/t/big-color-problem-with-video-editing/

This was our second post.
https://developer.blender.org/T81307

We've contacted four days ago Prof. Dr.-Ing. Jörn Ostermann at https://www.mpegstandards.org for this color problem. Unfortunately couldn't help much.

Last edited 3 years ago by 3DLight (previous) (diff)

in reply to:  4 comment:5 by Carl Eugen Hoyos, 3 years ago

Replying to 3DLight:

We've recorded the pattern video with OBS Studio (recording program) from our display.

But you don't have a YUV420 display, do you?

Note that all information has to be posted here in the ticket (except for large sample files), please do not use other external resources.

From a quick look, the attached file does not contain the necessary information to decide how it should be displayed: Given that you apparently control the input file, why don't you add the missing information when creating the file?

comment:6 by 3DLight, 3 years ago

Do you mean color format with YUV420 display?
Our Display:
Bit depth: 8-bit
Color format: RGB
Color space: Standard dynamic range (SDR)

Here is another user who tested this:
https://blenderartists.org/t/big-color-problem-with-video-editing/1255975/7
Quote: "It’s like the color management of video files (mp4 files at least) is broken."

cehoyos: "Given that you apparently control the input file, why don't you add the missing information when creating the file?"
The pattern is an image. We've set the image as full screen. Then we recorded the whole display screen with OBS Studio.

Last edited 3 years ago by 3DLight (previous) (diff)

in reply to:  6 comment:7 by Carl Eugen Hoyos, 3 years ago

Replying to 3DLight:

Color format: RGB

Then why are you recording in yuv420?

Please run ffmpeg -i on any mp4 file you find and compare with the attached input file: You will see that most files contain information about the colourspace that is missing from the file you created.

comment:8 by 3DLight, 3 years ago

We don't know why it's missing. We don't have that know-how for this.

Last edited 3 years ago by 3DLight (previous) (diff)

in reply to:  8 comment:9 by Balling, 3 years ago

Replying to 3DLight:

We don't know why it's missing. We don't have that know-how for this.

read this https://trac.ffmpeg.org/wiki/colorspace

comment:10 by Balling, 3 years ago

Resolution: invalid
Status: newclosed

Well, because it is 1920x1080, it is automatically promoted to BT.709 and limited range. But not in ffmpeg.
So, use ffmpeg -i incorrect_color_h264.mp4 -c copy -colorspace bt709 -color_primaries bt709 -color_trc bt709 out.mp4 to set all the stuff and then when you will do out.png it will be good.

comment:11 by iss, 3 years ago

Thanks for looking into this and sorry for wasting your time. Next time I will try to do more research, but I was out of ideas this time.

Note: See TracTickets for help on using tickets.