[FFmpeg-devel] [PATCH 1/7] lavu/pixfmt: summarize yuv naming conventions

Michael Niedermayer michael at niedermayer.cc
Thu Aug 4 16:49:24 EEST 2022


On Tue, Aug 02, 2022 at 06:54:15PM +0200, Nicolas George wrote:
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
>  libavutil/pixfmt.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> 
> Identical to the one I posted last week.
> 
> 
> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> index 2d3927cc3f..3d0f92ed4d 100644
> --- a/libavutil/pixfmt.h
> +++ b/libavutil/pixfmt.h
> @@ -60,6 +60,23 @@
>   * For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like
>   * for pal8. This palette is filled in automatically by the function
>   * allocating the picture.
> + *
> + * @par
> + * Summary of the naming conventions for YUV formats:
> + *    444         422         440         420         411         410
> + * ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━┿━┿━┿━╋   ╋━┿━┿━┿━╋
> + * ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╂─╂─╂─╂─╂   ╂─┼─╂─┼─╂   ╋━┿━┿━┿━╋   ╂─┼─┼─┼─╂
> + * ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━┿━┿━┿━╋   ╂─┼─┼─┼─╂
> + * ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╂─╂─╂─╂─╂   ╂─┼─╂─┼─╂   ╋━┿━┿━┿━╋   ╂─┼─┼─┼─╂
> + * ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━╋━╋━╋━╋   ╋━┿━╋━┿━╋   ╋━┿━┿━┿━╋   ╋━┿━┿━┿━╋
> + * where
> + * ┼─┼ = luma pixel  ╋━╋ = chroma pixel
> + * ┼─┼               ╋━╋
> + *
> + * yuv4ab →
> + *  log2_chroma_w = log₂(4/a)
> + *  log2_chroma_h = b == a ? 0 : b == 0 ? log2_chroma_w : unused
> + * i.e. a = horizontally, number of luma pixels for four chroma pixels
>   */

You seem to describe samples as rectangular areas of constant value IIUC.
If you look at the ITU/ISO specs (mpeg2, h264 or others) they are described
by point samples. The desity of samples matches. While the default locations
do not.
What you list above are where probably most sane people would place the
samples. But ISO/ITU, probably because of historic TV standard reasons and
interlacing convertion reasons place the chroma samples in a more crooked way
I think either the ascii art should be adapted or the text should clarify
this difference

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

"Nothing to hide" only works if the folks in power share the values of
you and everyone you know entirely and always will -- Tom Scott

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220804/dc688817/attachment.sig>


More information about the ffmpeg-devel mailing list