diff mbox series

[FFmpeg-devel,v5,1/8] avcodec/cbs_av1: Add tx mode enum values

Message ID 20230911075232.797886-1-fei.w.wang@intel.com
State New
Headers show
Series [FFmpeg-devel,v5,1/8] avcodec/cbs_av1: Add tx mode enum values | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Wang, Fei W Sept. 11, 2023, 7:52 a.m. UTC
From: Fei Wang <fei.w.wang@intel.com>

Signed-off-by: Fei Wang <fei.w.wang@intel.com>
---
 libavcodec/av1.h                     | 7 +++++++
 libavcodec/cbs_av1_syntax_template.c | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

Comments

Neal Gompa Sept. 20, 2023, 12:40 a.m. UTC | #1
On Mon, Sep 11, 2023 at 3:52 AM <fei.w.wang-at-intel.com@ffmpeg.org> wrote:
>
> From: Fei Wang <fei.w.wang@intel.com>
>
> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> ---
>  libavcodec/av1.h                     | 7 +++++++
>  libavcodec/cbs_av1_syntax_template.c | 4 ++--
>  2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/av1.h b/libavcodec/av1.h
> index 384f7cddc7..8704bc41c1 100644
> --- a/libavcodec/av1.h
> +++ b/libavcodec/av1.h
> @@ -175,6 +175,13 @@ enum {
>      AV1_RESTORE_SWITCHABLE = 3,
>  };
>
> +// TX mode (section 6.8.21)
> +enum {
> +    AV1_ONLY_4X4        = 0,
> +    AV1_TX_MODE_LARGEST = 1,
> +    AV1_TX_MODE_SELECT  = 2,
> +};
> +
>  // Sequence Headers are actually unbounded because one can use
>  // an arbitrary number of leading zeroes when encoding via uvlc.
>  // The following estimate is based around using the lowest number
> diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
> index 6f09c4e410..3be1f2d30f 100644
> --- a/libavcodec/cbs_av1_syntax_template.c
> +++ b/libavcodec/cbs_av1_syntax_template.c
> @@ -1028,9 +1028,9 @@ static int FUNC(read_tx_mode)(CodedBitstreamContext *ctx, RWContext *rw,
>      int err;
>
>      if (priv->coded_lossless)
> -        infer(tx_mode, 0);
> +        infer(tx_mode, AV1_ONLY_4X4);
>      else
> -        increment(tx_mode, 1, 2);
> +        increment(tx_mode, AV1_TX_MODE_LARGEST, AV1_TX_MODE_SELECT);
>
>      return 0;
>  }
> --
> 2.25.1
>

Code looks good to me, I just lack hardware to exercise the functionality.

Acked-by: Neal Gompa <ngompa13@gmail.com>
Neal Gompa Sept. 20, 2023, 12:42 a.m. UTC | #2
On Tue, Sep 19, 2023 at 8:40 PM Neal Gompa <ngompa13@gmail.com> wrote:
>
> On Mon, Sep 11, 2023 at 3:52 AM <fei.w.wang-at-intel.com@ffmpeg.org> wrote:
> >
> > From: Fei Wang <fei.w.wang@intel.com>
> >
> > Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> > ---
> >  libavcodec/av1.h                     | 7 +++++++
> >  libavcodec/cbs_av1_syntax_template.c | 4 ++--
> >  2 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavcodec/av1.h b/libavcodec/av1.h
> > index 384f7cddc7..8704bc41c1 100644
> > --- a/libavcodec/av1.h
> > +++ b/libavcodec/av1.h
> > @@ -175,6 +175,13 @@ enum {
> >      AV1_RESTORE_SWITCHABLE = 3,
> >  };
> >
> > +// TX mode (section 6.8.21)
> > +enum {
> > +    AV1_ONLY_4X4        = 0,
> > +    AV1_TX_MODE_LARGEST = 1,
> > +    AV1_TX_MODE_SELECT  = 2,
> > +};
> > +
> >  // Sequence Headers are actually unbounded because one can use
> >  // an arbitrary number of leading zeroes when encoding via uvlc.
> >  // The following estimate is based around using the lowest number
> > diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
> > index 6f09c4e410..3be1f2d30f 100644
> > --- a/libavcodec/cbs_av1_syntax_template.c
> > +++ b/libavcodec/cbs_av1_syntax_template.c
> > @@ -1028,9 +1028,9 @@ static int FUNC(read_tx_mode)(CodedBitstreamContext *ctx, RWContext *rw,
> >      int err;
> >
> >      if (priv->coded_lossless)
> > -        infer(tx_mode, 0);
> > +        infer(tx_mode, AV1_ONLY_4X4);
> >      else
> > -        increment(tx_mode, 1, 2);
> > +        increment(tx_mode, AV1_TX_MODE_LARGEST, AV1_TX_MODE_SELECT);
> >
> >      return 0;
> >  }
> > --
> > 2.25.1
> >
>
> Code looks good to me, I just lack hardware to exercise the functionality.
>
> Acked-by: Neal Gompa <ngompa13@gmail.com>
>

Actually, update this now that I'm giving feedback for each patch individually.

This patch is fine and works with my existing software AV1 path, so...

Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Xiang, Haihao Sept. 20, 2023, 2:21 a.m. UTC | #3
On Di, 2023-09-19 at 20:40 -0400, Neal Gompa wrote:
> On Mon, Sep 11, 2023 at 3:52 AM <fei.w.wang-at-intel.com@ffmpeg.org> wrote:
> > 
> > From: Fei Wang <fei.w.wang@intel.com>
> > 
> > Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> > ---
> >  libavcodec/av1.h                     | 7 +++++++
> >  libavcodec/cbs_av1_syntax_template.c | 4 ++--
> >  2 files changed, 9 insertions(+), 2 deletions(-)
> > 
> > diff --git a/libavcodec/av1.h b/libavcodec/av1.h
> > index 384f7cddc7..8704bc41c1 100644
> > --- a/libavcodec/av1.h
> > +++ b/libavcodec/av1.h
> > @@ -175,6 +175,13 @@ enum {
> >      AV1_RESTORE_SWITCHABLE = 3,
> >  };
> > 
> > +// TX mode (section 6.8.21)
> > +enum {
> > +    AV1_ONLY_4X4        = 0,
> > +    AV1_TX_MODE_LARGEST = 1,
> > +    AV1_TX_MODE_SELECT  = 2,
> > +};
> > +
> >  // Sequence Headers are actually unbounded because one can use
> >  // an arbitrary number of leading zeroes when encoding via uvlc.
> >  // The following estimate is based around using the lowest number
> > diff --git a/libavcodec/cbs_av1_syntax_template.c
> > b/libavcodec/cbs_av1_syntax_template.c
> > index 6f09c4e410..3be1f2d30f 100644
> > --- a/libavcodec/cbs_av1_syntax_template.c
> > +++ b/libavcodec/cbs_av1_syntax_template.c
> > @@ -1028,9 +1028,9 @@ static int FUNC(read_tx_mode)(CodedBitstreamContext
> > *ctx, RWContext *rw,
> >      int err;
> > 
> >      if (priv->coded_lossless)
> > -        infer(tx_mode, 0);
> > +        infer(tx_mode, AV1_ONLY_4X4);
> >      else
> > -        increment(tx_mode, 1, 2);
> > +        increment(tx_mode, AV1_TX_MODE_LARGEST, AV1_TX_MODE_SELECT);
> > 
> >      return 0;
> >  }
> > --
> > 2.25.1
> > 
> 
> Code looks good to me, I just lack hardware to exercise the functionality.
> 
> Acked-by: Neal Gompa <ngompa13@gmail.com>
> 

This patchset looks good and works well for me. I'll push this patchset in a few
days if there are no more comments

Thanks
Haihao
Xiang, Haihao Sept. 22, 2023, 5:33 a.m. UTC | #4
On Wo, 2023-09-20 at 02:21 +0000, Xiang, Haihao wrote:
> On Di, 2023-09-19 at 20:40 -0400, Neal Gompa wrote:
> > On Mon, Sep 11, 2023 at 3:52 AM <fei.w.wang-at-intel.com@ffmpeg.org> wrote:
> > > 
> > > From: Fei Wang <fei.w.wang@intel.com>
> > > 
> > > Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> > > ---
> > >  libavcodec/av1.h                     | 7 +++++++
> > >  libavcodec/cbs_av1_syntax_template.c | 4 ++--
> > >  2 files changed, 9 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/libavcodec/av1.h b/libavcodec/av1.h
> > > index 384f7cddc7..8704bc41c1 100644
> > > --- a/libavcodec/av1.h
> > > +++ b/libavcodec/av1.h
> > > @@ -175,6 +175,13 @@ enum {
> > >      AV1_RESTORE_SWITCHABLE = 3,
> > >  };
> > > 
> > > +// TX mode (section 6.8.21)
> > > +enum {
> > > +    AV1_ONLY_4X4        = 0,
> > > +    AV1_TX_MODE_LARGEST = 1,
> > > +    AV1_TX_MODE_SELECT  = 2,
> > > +};
> > > +
> > >  // Sequence Headers are actually unbounded because one can use
> > >  // an arbitrary number of leading zeroes when encoding via uvlc.
> > >  // The following estimate is based around using the lowest number
> > > diff --git a/libavcodec/cbs_av1_syntax_template.c
> > > b/libavcodec/cbs_av1_syntax_template.c
> > > index 6f09c4e410..3be1f2d30f 100644
> > > --- a/libavcodec/cbs_av1_syntax_template.c
> > > +++ b/libavcodec/cbs_av1_syntax_template.c
> > > @@ -1028,9 +1028,9 @@ static int FUNC(read_tx_mode)(CodedBitstreamContext
> > > *ctx, RWContext *rw,
> > >      int err;
> > > 
> > >      if (priv->coded_lossless)
> > > -        infer(tx_mode, 0);
> > > +        infer(tx_mode, AV1_ONLY_4X4);
> > >      else
> > > -        increment(tx_mode, 1, 2);
> > > +        increment(tx_mode, AV1_TX_MODE_LARGEST, AV1_TX_MODE_SELECT);
> > > 
> > >      return 0;
> > >  }
> > > --
> > > 2.25.1
> > > 
> > 
> > Code looks good to me, I just lack hardware to exercise the functionality.
> > 
> > Acked-by: Neal Gompa <ngompa13@gmail.com>
> > 
> 
> This patchset looks good and works well for me. I'll push this patchset in a
> few
> days if there are no more comments
> 

Pushed,

- Haihao
diff mbox series

Patch

diff --git a/libavcodec/av1.h b/libavcodec/av1.h
index 384f7cddc7..8704bc41c1 100644
--- a/libavcodec/av1.h
+++ b/libavcodec/av1.h
@@ -175,6 +175,13 @@  enum {
     AV1_RESTORE_SWITCHABLE = 3,
 };
 
+// TX mode (section 6.8.21)
+enum {
+    AV1_ONLY_4X4        = 0,
+    AV1_TX_MODE_LARGEST = 1,
+    AV1_TX_MODE_SELECT  = 2,
+};
+
 // Sequence Headers are actually unbounded because one can use
 // an arbitrary number of leading zeroes when encoding via uvlc.
 // The following estimate is based around using the lowest number
diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
index 6f09c4e410..3be1f2d30f 100644
--- a/libavcodec/cbs_av1_syntax_template.c
+++ b/libavcodec/cbs_av1_syntax_template.c
@@ -1028,9 +1028,9 @@  static int FUNC(read_tx_mode)(CodedBitstreamContext *ctx, RWContext *rw,
     int err;
 
     if (priv->coded_lossless)
-        infer(tx_mode, 0);
+        infer(tx_mode, AV1_ONLY_4X4);
     else
-        increment(tx_mode, 1, 2);
+        increment(tx_mode, AV1_TX_MODE_LARGEST, AV1_TX_MODE_SELECT);
 
     return 0;
 }