On 19/05/2025 10.34, Erik Dobberkau wrote:
I had written:
I have a UHD m2ts that FFmpeg identifies "yuv420p10le(tv,
bt2020nc/bt2020/smpte2084)". To the best
of my knowledge that means so-called "yuv420" format, planar pixel
matrices, 10 bits-per-primary,
little-endian bytes, with limited black..white range and -- now I have to
guess --
colorspace=bt2020nc, primaries=bt2020 (i.e. RGB to YUV formula),
transfer=smpte2084 (i.e. HDR using
PQ transfer function). Is all that correct?

Almost. "colorspace" ("bt2020nc") is the YUV matrix. The primaries are
BT.2020 ("bt2020"). 10bpc planar LE, signal range and transfer function
were assumed correctly. ;-)
Derived from [1], where the mappings from ffmpeg/libav internal enums to
user-facing strings are documented.

In "bt2020nc", what does "nc" signify?

Non-constant luminance as per BT Rec.2020 Table 4. See [2].

Why is 'colorspace' there at all? Doesn't 'primaries' together with
'transfer' tell the whole story?

See above, without a YUV matrix you won't get far...

Thanks again, Erik.

yuv420p10le(tv,bt2020nc/bt2020/smpte2084)
             \  \        \      \
              \  matrix   \      transfer
               range       primaries
Is the above _always_ the correct interpretation of the order?

Here: https://ffmpeg.org/ffmpeg-filters.html#colorspace,
1) Does "Input video needs to have an even size" really mean an even number of 
rows?
2) Is 'colorspace=space=<string>' really 'matrix'?
3) What is 'colorspace=format=<string>'?
4) The formats, whatever they are, are all yuv, so 'colorspace=format=<string>' 
outputs yuv?
5) Are all 'colorspace' outputs always yuv?

...almost done.

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to