On 02/17/2012 05:49 PM, Ronald S. Bultje wrote:

> From: "Ronald S. Bultje" <[email protected]>
> 
> Prevents crash when trying to copy from a non-existing plane in e.g.
> a RGB32 reference image to a YUV420P target image
> 
> Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
> CC: [email protected]
> ---
>  libavcodec/fraps.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
> index 3643325..1c1a451 100644
> --- a/libavcodec/fraps.c
> +++ b/libavcodec/fraps.c
> @@ -160,6 +160,10 @@ static int decode_frame(AVCodecContext *avctx,
>      case 0:
>      default:
>          /* Fraps v0 is a reordered YUV420 */
> +        if (avctx->pix_fmt != PIX_FMT_NONE &&
> +            avctx->pix_fmt != PIX_FMT_YUVJ420P &&
> +            f->data[0])
> +            avctx->release_buffer(avctx, f);
>          avctx->pix_fmt = PIX_FMT_YUVJ420P;


Would checking the current avctx->pix_fmt against f->format not work?

-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to