[FFmpeg-devel] [PATCH 3/9] avcodec/vvc/ctu: Simplify pred_mode_plt_flag

Michael Niedermayer michael at niedermayer.cc
Sun May 19 22:27:13 EEST 2024


On Sun, May 19, 2024 at 10:40:57PM +0800, Nuo Mi wrote:
> On Sun, May 19, 2024 at 10:49 AM Michael Niedermayer <michael at niedermayer.cc>
> wrote:
> 
> > Fixes: CID1560039 Logically dead code
> >
> > Sponsored-by: Sovereign Tech Fund
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavcodec/vvc/ctu.c | 23 ++++++-----------------
> >  1 file changed, 6 insertions(+), 17 deletions(-)
> >
> > diff --git a/libavcodec/vvc/ctu.c b/libavcodec/vvc/ctu.c
> > index 7495ced0d5a..b7089b9a004 100644
> > --- a/libavcodec/vvc/ctu.c
> > +++ b/libavcodec/vvc/ctu.c
> > @@ -1793,7 +1793,6 @@ static int hls_coding_unit(VVCLocalContext *lc, int
> > x0, int y0, int cb_width, in
> >      const int hs                    = sps->hshift[CHROMA];
> >      const int vs                    = sps->vshift[CHROMA];
> >      const int is_128                = cb_width > 64 || cb_height > 64;
> > -    int pred_mode_plt_flag          = 0;
> >      int ret;
> >
> >      CodingUnit *cu = add_cu(lc, x0, y0, cb_width, cb_height, cqt_depth,
> > tree_type);
> > @@ -1811,7 +1810,7 @@ static int hls_coding_unit(VVCLocalContext *lc, int
> > x0, int y0, int cb_width, in
> >          mode_type != MODE_TYPE_INTER && ((cb_width * cb_height) >
> >          (tree_type != DUAL_TREE_CHROMA ? 16 : (16 << hs << vs))) &&
> >          (mode_type != MODE_TYPE_INTRA || tree_type != DUAL_TREE_CHROMA)) {
> > -        pred_mode_plt_flag = ff_vvc_pred_mode_plt_flag(lc);
> > +        int pred_mode_plt_flag = ff_vvc_pred_mode_plt_flag(lc);
> >          if (pred_mode_plt_flag) {
> >              avpriv_report_missing_feature(fc->log_ctx, "Palette");
> >              return AVERROR_PATCHWELCOME;
> > @@ -1823,31 +1822,21 @@ static int hls_coding_unit(VVCLocalContext *lc,
> > int x0, int y0, int cb_width, in
> >      }
> >      if (cu->pred_mode == MODE_INTRA || cu->pred_mode == MODE_PLT) {
> >          if (tree_type == SINGLE_TREE || tree_type == DUAL_TREE_LUMA) {
> > -            if (pred_mode_plt_flag) {
> > -                avpriv_report_missing_feature(fc->log_ctx, "Palette");
> > -                return AVERROR_PATCHWELCOME;
> > -            } else {
> > -                intra_luma_pred_modes(lc);
> > -            }
> > +            intra_luma_pred_modes(lc);
> >              ff_vvc_set_intra_mvf(lc, 0);
> >          }
> >          if ((tree_type == SINGLE_TREE || tree_type == DUAL_TREE_CHROMA)
> > && sps->r->sps_chroma_format_idc) {
> > -            if (pred_mode_plt_flag && tree_type == DUAL_TREE_CHROMA) {
> > -                avpriv_report_missing_feature(fc->log_ctx, "Palette");
> > -                return AVERROR_PATCHWELCOME;
> > -            } else if (!pred_mode_plt_flag) {
> > -                if (!cu->act_enabled_flag)
> > -                    intra_chroma_pred_modes(lc);
> > -            }
> > +            if (!cu->act_enabled_flag)
> > +                intra_chroma_pred_modes(lc);
> >          }
> >      } else if (tree_type != DUAL_TREE_CHROMA) { /* MODE_INTER or MODE_IBC
> > */
> >          if ((ret = inter_data(lc)) < 0)
> >              return ret;
> >      }
> > -    if (cu->pred_mode != MODE_INTRA && !pred_mode_plt_flag &&
> > !lc->cu->pu.general_merge_flag)
> > +    if (cu->pred_mode != MODE_INTRA && !lc->cu->pu.general_merge_flag)
> >          cu->coded_flag = ff_vvc_cu_coded_flag(lc);
> >      else
> > -        cu->coded_flag = !(cu->skip_flag || pred_mode_plt_flag);
> > +        cu->coded_flag = !(cu->skip_flag);
> >
> >      if (cu->coded_flag) {
> >          sbt_info(lc, sps);
> > --
> > 2.45.1
> >
> Hi  Michael,
> Could we skip this one?
> Thanks to Jianhua's help. We may have Palette support in the next month.

of course, patch droped, issues marked as intentional in coverity

thx

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

Old school: Use the lowest level language in which you can solve the problem
            conveniently.
New school: Use the highest level language in which the latest supercomputer
            can solve the problem without the user falling asleep waiting.
-------------- 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/20240519/7173ae8d/attachment.sig>


More information about the ffmpeg-devel mailing list