Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Jan Ekström" <jeebjp@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 1/4] avutil/pix{desc, fmt}: add new matrix coefficients from H.273 v3
Date: Fri, 29 Mar 2024 20:32:37 +0200
Message-ID: <CAEu79SY9Xn-dXzzYiBWR4D26Uz7QL61mtbGX_wqOeMp5=BDuzQ@mail.gmail.com> (raw)
In-Reply-To: <20240329003343.1099137-1-jeebjp@gmail.com>

On Fri, Mar 29, 2024 at 2:33 AM Jan Ekström <jeebjp@gmail.com> wrote:
>
> * SMPTE ST 2128 IPT-C2 defines the coefficients utilized in DoVi
>   Profile 5. Profile 5 can thus now be represented in VUI as
>   {AVCOL_RANGE_JPEG, AVCOL_PRI_BT2020, AVCOL_TRC_SMPTE2084,
>    AVCOL_SPC_IPT_C2, AVCHROMA_LOC_LEFT} (although other chroma
>   sample locations are allowed). AVCOL_TRC_SMPTE2084 should in
>   this case be interpreted as 'PQ with reshaping'.
> * YCgCo-Re and YCgCo-Ro define the bitexact YCgCo-R, where the
>   number of bits added to a source RGB bit depth is 2 (i.e., even)
>   and 1 (i.e., odd), respectively.
> ---
>  doc/APIchanges      | 4 ++++
>  libavutil/pixdesc.c | 3 +++
>  libavutil/pixfmt.h  | 3 +++
>  libavutil/version.h | 2 +-
>  4 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/doc/APIchanges b/doc/APIchanges
> index aa102b4925..296d87d8fb 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2024-03-07
>
>  API changes, most recent first:
>
> +2024-03-27 - xxxxxxxxxx - lavu 59.11.100 - pixfmt.h
> +  Add AVCOL_SPC_IPT_C2, AVCOL_SPC_YCGCO_RE and AVCOL_SPC_YCGCO_RO
> +  to map new matrix coefficients defined by H.273 v3.
> +
>  2024-03-27 - xxxxxxxxxx - lavu 59.10.100 - frame.h
>    Add AVSideDataDescriptor, enum AVSideDataProps, and
>    av_frame_side_data_desc().
> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> index 9c708520b1..1c0bcf2232 100644
> --- a/libavutil/pixdesc.c
> +++ b/libavutil/pixdesc.c
> @@ -2854,6 +2854,9 @@ static const char * const color_space_names[] = {
>      [AVCOL_SPC_CHROMA_DERIVED_NCL] = "chroma-derived-nc",
>      [AVCOL_SPC_CHROMA_DERIVED_CL] = "chroma-derived-c",
>      [AVCOL_SPC_ICTCP] = "ictcp",
> +    [AVCOL_SPC_IPT_C2] = "ipt-c2",
> +    [AVCOL_SPC_YCGCO_RE] = "ycgco-re",
> +    [AVCOL_SPC_YCGCO_RO] = "ycgco-ro",
>  };
>
>  static const char * const chroma_location_names[] = {
> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> index 4aa20e4e58..430118d3e1 100644
> --- a/libavutil/pixfmt.h
> +++ b/libavutil/pixfmt.h
> @@ -623,6 +623,9 @@ enum AVColorSpace {
>      AVCOL_SPC_CHROMA_DERIVED_NCL = 12, ///< Chromaticity-derived non-constant luminance system
>      AVCOL_SPC_CHROMA_DERIVED_CL = 13, ///< Chromaticity-derived constant luminance system
>      AVCOL_SPC_ICTCP       = 14, ///< ITU-R BT.2100-0, ICtCp
> +    AVCOL_SPC_IPT_C2      = 15, ///< SMPTE ST 2128
> +    AVCOL_SPC_YCGCO_RE    = 16, ///< YCgCo-R, even addition of bits
> +    AVCOL_SPC_YCGCO_RO    = 17, ///< YCgCo-R, odd addition of bits
>      AVCOL_SPC_NB                ///< Not part of ABI
>  };

To aid in review as for whatever reason the 2023-09 H.273 v3 is not
yet publicly available (even though H.274 is from the same September
period), you can first of all see the summary in
https://www.itu.int/itu-t/workprog/wp_item.aspx?isn=18689 .

The latest related drafts from JVET-Experts
(https://jvet-experts.org/doc_end_user/all_meeting.php being the
index) are:
- CICP/H.273: JVET-AD1003 v2 from
https://jvet-experts.org/doc_end_user/current_document.php?id=12970
- H.265: JVET-AF1006 from
https://jvet-experts.org/doc_end_user/current_document.php?id=13584
- H.264: JVET-AE1016 from
https://jvet-experts.org/doc_end_user/current_document.php?id=13269

Given that H.273 v3 got registered for AAP on 2023-07-21 and that the
H.265 text is clearly from after the last call period of 2023-09-01 to
2023-09-28, I would consider them all matching being a pretty good
indicator that the value 15 got utilized for IPT-C2, and 16+17 for
YCgCo-R.

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

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

  parent reply	other threads:[~2024-03-29 18:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-29  0:33 Jan Ekström
2024-03-29  0:33 ` [FFmpeg-devel] [PATCH 2/4] avcodec/options_table: map IPT-C2, YCgCo-R variants in colorspace Jan Ekström
2024-03-29  0:33 ` [FFmpeg-devel] [PATCH 3/4] avfilter/{buffersrc, vf_setparams}: map IPT-C2, YCgCo-R variants Jan Ekström
2024-03-29  0:33 ` [FFmpeg-devel] [PATCH 4/4] avcodec/libx265: do not arbitrarily limit color values Jan Ekström
2024-03-29 18:32 ` Jan Ekström [this message]
2024-04-01 11:34   ` [FFmpeg-devel] [PATCH 1/4] avutil/pix{desc, fmt}: add new matrix coefficients from H.273 v3 Jan Ekström
2024-04-02 17:58     ` Jan Ekström
2024-04-03 19:08       ` Jan Ekström

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEu79SY9Xn-dXzzYiBWR4D26Uz7QL61mtbGX_wqOeMp5=BDuzQ@mail.gmail.com' \
    --to=jeebjp@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git