[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