[FFmpeg-devel] [PATCH 7/8] Reject block size changes in the shorten decoder.

Laurent Aimar fenrir at elivagar.org
Fri Sep 30 00:27:52 CEST 2011


On Thu, Sep 29, 2011 at 06:24:35PM -0400, Justin Ruggles wrote:
> On 09/29/2011 06:05 PM, fenrir at elivagar.org wrote:
> 
> > From: Laurent Aimar <fenrir at videolan.org>
> > 
> > ---
> >  libavcodec/shorten.c |    9 +++++++--
> >  1 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/libavcodec/shorten.c b/libavcodec/shorten.c
> > index b39fcbd..966584d 100644
> > --- a/libavcodec/shorten.c
> > +++ b/libavcodec/shorten.c
> > @@ -482,9 +482,14 @@ static int shorten_decode_frame(AVCodecContext *avctx,
> >              case FN_BITSHIFT:
> >                  s->bitshift = get_ur_golomb_shorten(&s->gb, BITSHIFTSIZE);
> >                  break;
> > -            case FN_BLOCKSIZE:
> > -                s->blocksize = get_uint(s, av_log2(s->blocksize));
> > +            case FN_BLOCKSIZE: {
> > +                int blocksize = get_uint(s, av_log2(s->blocksize));
> > +                if (blocksize != s->blocksize) {
> > +                    av_log(avctx, AV_LOG_ERROR, "block size changes are not supported\n");
> > +                    return AVERROR_PATCHWELCOME;
> > +                }
> >                  break;
> > +            }
> >              case FN_QUIT:
> >                  *data_size = 0;
> >                  return buf_size;
> 
> 
> The last frame can use a different blocksize.
 Ok. Sadly the current code don't support it as is, except maybe if it
is shorter. Is that the case? And if yes, do you have a sample?

-- 
fenrir


More information about the ffmpeg-devel mailing list