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: Wed, 3 Apr 2024 22:08:41 +0300
Message-ID: <CAEu79SY6rSUvKW+VSyA_GT5SzHpdUnYkG2fc0gjA1vBOkOaC+g@mail.gmail.com> (raw)
In-Reply-To: <CAEu79Sb6bk0rTPe1dUo-qBWj38_+WV83QzcRfs6tV2V+nOFjFA@mail.gmail.com>

On Tue, Apr 2, 2024 at 8:58 PM Jan Ekström <jeebjp@gmail.com> wrote:
>
> On Mon, Apr 1, 2024 at 2:34 PM Jan Ekström <jeebjp@gmail.com> wrote:
> >
> > On Fri, Mar 29, 2024 at 8:32 PM Jan Ekström <jeebjp@gmail.com> wrote:
> > >
> > > 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.
> >
> > Ping for this set.
>
> Got an LGTM from James for the set on IRC, so unless there are
> objections I will apply this tomorrow.

Applied set as:
29561c8e2d4ccecaa93afcaed73678e3f6011b0a
06c53efd233340762535957ad765ed4d9aafcddd
23d1b50175a6d07a0e2301ead347e4812c8c5dc8
16128f3c5595012719db7ae7851964d5a961c160

Small differences were that avutil got minor bumps so it went from
59.11 to 59.13, and after asking on IRC whether new values for
AVOptions should get a micro bump, I added those to avcodec and
avfilter. Additionally, a slight modification to a comment was made as
other comments also not only mentioned the spec but the format name as
well:

diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 430118d3e1..a7f50e1690 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -623,7 +623,7 @@ 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_IPT_C2      = 15, ///< SMPTE ST 2128, IPT-C2
     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


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".

      reply	other threads:[~2024-04-03 19:09 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 ` [FFmpeg-devel] [PATCH 1/4] avutil/pix{desc, fmt}: add new matrix coefficients from H.273 v3 Jan Ekström
2024-04-01 11:34   ` Jan Ekström
2024-04-02 17:58     ` Jan Ekström
2024-04-03 19:08       ` Jan Ekström [this message]

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=CAEu79SY6rSUvKW+VSyA_GT5SzHpdUnYkG2fc0gjA1vBOkOaC+g@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