Description
The current specification disallows 4:2:0 streams ("The value of chroma_format_idc MUST be 0, 2, 3, or 4."), but the codec definition does otherwise support 4:2:0 straightforwardly (with chroma_format_idc = 1 like in H.26x). Currently the openapv encoder will accept 4:2:0 input and creates a 4:2:0 stream with chroma_format_idc = 1, even though the specification directly prohibits this. This creates confusion for users who will try to encode 4:2:0 content and get nonconforming streams output.
Can you therefore please clarify whether 4:2:0 is supported or not?
- If it is intended to be supported then the specification should be updated to allow it.
- If it is not intended to be supported then the reference encoder should not allow creation 4:2:0 streams.
- If it is intended as a future feature but not currently supported then suggest gating it behind a
--non-standard-conforming
flag or similar so that a naive user does not unexpectedly create a nonstandard 4:2:0 stream.
(Prompted by a user surprised when the ffmpeg decoder rejected a 4:2:0 stream created by the reference encoder. If the first or third of these options then I will add that support. If the second then the current behaviour is correct.)