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

Laurent Aimar fenrir at elivagar.org
Sat Oct 1 00:43:05 CEST 2011


On Thu, Sep 29, 2011 at 10:12:19PM -0400, Justin Ruggles wrote:
> On 09/29/2011 06:27 PM, Laurent Aimar wrote:
> 
> > 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?
> 
> 
> Yes, it is shorter. I was able to create my own sample that triggered
> this with the shorten commandline program from
> http://www.etree.org/shnutils/shorten/

New patch attached. It now only reject increasing block size changes.

-- 
fenrir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Prevent-block-size-from-inreasing-in-the-shorten-dec.patch
Type: text/x-diff
Size: 1281 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20111001/f0f22d14/attachment.bin>


More information about the ffmpeg-devel mailing list