diff mbox series

[FFmpeg-devel,4/4] lavc/vvc/refs: Use dpb_max_num_reorder_pics to control output

Message ID 20240419134711.3824735-4-mypopy@gmail.com
State Accepted
Commit 822e2843ca1ce185ebff3b665e62f3fc56bbd22a
Headers show
Series [FFmpeg-devel,1/4] lavc/vvc_parser: Remove max_b_frames setting | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

mypopy@gmail.com April 19, 2024, 1:47 p.m. UTC
From: Jun Zhao <mypopydev@gmail.com>

Use dpb_max_num_reorder_pics to control output instead of
dpb_max_dec_pic_buffering, when dpb_max_dec_pic_buffering
is much larger than dpb_max_num_reorder_pics, it may cause
dpb overflow error.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
Signed-off-by: elinyhuang <elinyhuang@tencent.com>
---
 libavcodec/vvc/refs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nuo Mi April 20, 2024, 3:48 a.m. UTC | #1
Hi Barry and Eliny,
LGTM.
Thank you for the patch.
Is it possible to provide the clip so we can add it to our CI?

 ci like https://github.com/ffvvc/FFmpeg/actions


On Fri, Apr 19, 2024 at 9:48 PM Jun Zhao <mypopy@gmail.com> wrote:

> From: Jun Zhao <mypopydev@gmail.com>
>
> Use dpb_max_num_reorder_pics to control output instead of
> dpb_max_dec_pic_buffering, when dpb_max_dec_pic_buffering
> is much larger than dpb_max_num_reorder_pics, it may cause
> dpb overflow error.
>
> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
> Signed-off-by: elinyhuang <elinyhuang@tencent.com>
> ---
>  libavcodec/vvc/refs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c
> index a5ee7338d6..6694bc4c51 100644
> --- a/libavcodec/vvc/refs.c
> +++ b/libavcodec/vvc/refs.c
> @@ -226,7 +226,7 @@ int ff_vvc_output_frame(VVCContext *s, VVCFrameContext
> *fc, AVFrame *out, const
>
>          /* wait for more frames before output */
>          if (!flush && s->seq_output == s->seq_decode && sps &&
> -            nb_output <=
> sps->r->sps_dpb_params.dpb_max_dec_pic_buffering_minus1[sps->r->sps_max_sublayers_minus1]
> + 1)
> +            nb_output <=
> sps->r->sps_dpb_params.dpb_max_num_reorder_pics[sps->r->sps_max_sublayers_minus1])
>              return 0;
>
>          if (nb_output) {
> --
> 2.25.1
>
> _______________________________________________
> 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".
>
mypopy@gmail.com April 21, 2024, 2:33 a.m. UTC | #2
Send it privately via email


On Sat, Apr 20, 2024 at 11:55 AM Nuo Mi <nuomi2021@gmail.com> wrote:
>
> Hi Barry and Eliny,
> LGTM.
> Thank you for the patch.
> Is it possible to provide the clip so we can add it to our CI?
>
>  ci like https://github.com/ffvvc/FFmpeg/actions
>
>

> On Fri, Apr 19, 2024 at 9:48 PM Jun Zhao <mypopy@gmail.com> wrote:
>
> > From: Jun Zhao <mypopydev@gmail.com>
> >
> > Use dpb_max_num_reorder_pics to control output instead of
> > dpb_max_dec_pic_buffering, when dpb_max_dec_pic_buffering
> > is much larger than dpb_max_num_reorder_pics, it may cause
> > dpb overflow error.
> >
> > Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
> > Signed-off-by: elinyhuang <elinyhuang@tencent.com>
> > ---
> >  libavcodec/vvc/refs.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c
> > index a5ee7338d6..6694bc4c51 100644
> > --- a/libavcodec/vvc/refs.c
> > +++ b/libavcodec/vvc/refs.c
> > @@ -226,7 +226,7 @@ int ff_vvc_output_frame(VVCContext *s, VVCFrameContext
> > *fc, AVFrame *out, const
> >
> >          /* wait for more frames before output */
> >          if (!flush && s->seq_output == s->seq_decode && sps &&
> > -            nb_output <=
> > sps->r->sps_dpb_params.dpb_max_dec_pic_buffering_minus1[sps->r->sps_max_sublayers_minus1]
> > + 1)
> > +            nb_output <=
> > sps->r->sps_dpb_params.dpb_max_num_reorder_pics[sps->r->sps_max_sublayers_minus1])
> >              return 0;
> >
> >          if (nb_output) {
> > --
> > 2.25.1
> >
Nuo Mi April 21, 2024, 1:14 p.m. UTC | #3
Thank you for the clip.
Applied all except the libxevd one

On Sun, Apr 21, 2024 at 10:34 AM mypopy@gmail.com <mypopy@gmail.com> wrote:

> Send it privately via email
>
>
> On Sat, Apr 20, 2024 at 11:55 AM Nuo Mi <nuomi2021@gmail.com> wrote:
> >
> > Hi Barry and Eliny,
> > LGTM.
> > Thank you for the patch.
> > Is it possible to provide the clip so we can add it to our CI?
> >
> >  ci like https://github.com/ffvvc/FFmpeg/actions
> >
> >
>
> > On Fri, Apr 19, 2024 at 9:48 PM Jun Zhao <mypopy@gmail.com> wrote:
> >
> > > From: Jun Zhao <mypopydev@gmail.com>
> > >
> > > Use dpb_max_num_reorder_pics to control output instead of
> > > dpb_max_dec_pic_buffering, when dpb_max_dec_pic_buffering
> > > is much larger than dpb_max_num_reorder_pics, it may cause
> > > dpb overflow error.
> > >
> > > Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
> > > Signed-off-by: elinyhuang <elinyhuang@tencent.com>
> > > ---
> > >  libavcodec/vvc/refs.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c
> > > index a5ee7338d6..6694bc4c51 100644
> > > --- a/libavcodec/vvc/refs.c
> > > +++ b/libavcodec/vvc/refs.c
> > > @@ -226,7 +226,7 @@ int ff_vvc_output_frame(VVCContext *s,
> VVCFrameContext
> > > *fc, AVFrame *out, const
> > >
> > >          /* wait for more frames before output */
> > >          if (!flush && s->seq_output == s->seq_decode && sps &&
> > > -            nb_output <=
> > >
> sps->r->sps_dpb_params.dpb_max_dec_pic_buffering_minus1[sps->r->sps_max_sublayers_minus1]
> > > + 1)
> > > +            nb_output <=
> > >
> sps->r->sps_dpb_params.dpb_max_num_reorder_pics[sps->r->sps_max_sublayers_minus1])
> > >              return 0;
> > >
> > >          if (nb_output) {
> > > --
> > > 2.25.1
> > >
> _______________________________________________
> 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".
>
diff mbox series

Patch

diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c
index a5ee7338d6..6694bc4c51 100644
--- a/libavcodec/vvc/refs.c
+++ b/libavcodec/vvc/refs.c
@@ -226,7 +226,7 @@  int ff_vvc_output_frame(VVCContext *s, VVCFrameContext *fc, AVFrame *out, const
 
         /* wait for more frames before output */
         if (!flush && s->seq_output == s->seq_decode && sps &&
-            nb_output <= sps->r->sps_dpb_params.dpb_max_dec_pic_buffering_minus1[sps->r->sps_max_sublayers_minus1] + 1)
+            nb_output <= sps->r->sps_dpb_params.dpb_max_num_reorder_pics[sps->r->sps_max_sublayers_minus1])
             return 0;
 
         if (nb_output) {