Opened 16 months ago
Closed 16 months ago
#10091 closed defect (fixed)
Not reading NCLC on mov/prores files
| Reported by: | agfline | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | prores |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
ffmpeg & ffprobe can't read NCLC tags (primaries, trc, matrix) out of .mov files containing prores video, although it's working for .mov files containing AVC video stream.
I can observe the same behavior when looking at AVCodecParameters members (color_primaries, color_trc and color_space). They're correctly set when decoding h264 and 'unknown' with prores.
All files have been verified with mediainfo, they do contain NCLC tags.
How to reproduce:
$ ffmpeg -i ./h264.mov -codec:v prores -profile:v 0 -pix_fmt yuv422p10 -color_primaries 1 -color_trc 1 -color_range 1 ./prores.mov ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-shared --extra-libs='-lpthread -lm -latomic' --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libpulse --enable-libx264 --enable-libtheora --enable-libxvid --enable-libspeex --enable-libsoxr --enable-openal --enable-cuda --pkg-config-flags=--static --enable-chromaprint --enable-librubberband --enable-libzimg --enable-libopenjpeg --enable-nvenc --enable-openssl --enable-libsnappy --enable-libx265 --enable-libwebp --enable-opengl --enable-libshine libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 $ ffprobe -hide_banner -loglevel error -show_streams ./prores.mov | grep color_* color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Change History (5)
comment:1 by , 16 months ago
| Component: | undetermined → avformat |
|---|---|
| Keywords: | NCLC tags prores removed |
| Priority: | important → wish |
| Type: | defect → enhancement |
comment:2 by , 16 months ago
although it's working for .mov files containing AVC video stream.
That is because NCLC is duplicated in AVC bitstream.
comment:3 by , 16 months ago
| Component: | avformat → avcodec |
|---|---|
| Keywords: | prores added; mov removed |
| Priority: | wish → normal |
| Type: | enhancement → defect |
comment:4 by , 16 months ago
| Status: | new → open |
|---|
Workaround in https://patchwork.ffmpeg.org/project/ffmpeg/patch/20221210153319.2831-1-jamrial@gmail.com/
Is there really bitstream colorspace data too in prores? BTW, hevc and avc also have a problem that container metadata does not have priority.
comment:5 by , 16 months ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
Should be fixed in 7fab58647c3eb32e04a58b9810a3e864305ebf2f.



Please test current FFmpeg git head and provide an input file to make this a valid ticket.