On Sat, Dec 19, 2015 at 06:13:37PM +0100, Andreas Cadhalpun wrote:
> If it is negative, it triggers the assertion in
> dct_unquantize_h263_intra.
> 
> This is somehow related to the second hunk of commit 9251942: reverting
> that prevents these crashes, but breaks the sample from ticket 302.
> 
> Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
> ---
> 
> Note that the sample from ticket 302 is currently broken anyway, printing
> lots of "slice end not reached but screenspace end" errors.
> This still works fine with ffmpeg 2.8.
> 
> ---
>  libavcodec/mpegvideo.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
> index 6d9e265..e8e54ff 100644
> --- a/libavcodec/mpegvideo.c
> +++ b/libavcodec/mpegvideo.c
> @@ -2402,6 +2402,10 @@ unhandled:
>  static inline void put_dct(MpegEncContext *s,
>                             int16_t *block, int i, uint8_t *dest, int 
> line_size, int qscale)
>  {
> +    if (s->block_last_index[i] < 0) {
> +        av_log(s->avctx, AV_LOG_WARNING, "Invalid block_last_index in 
> put_dct.\n");
> +        return;
> +    }

how does block_last_index become negative for this ?
this fix doesnt look correct put_dct() is too late to check for any
bitstream errors

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

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to