From d9df93efbf59b1dc8b013d174ca4ad9c634c28f7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 31 Jan 2013 20:24:06 +0100 Subject: [PATCH] mpegvideo: simplify REBASE_PICTURE Always evaluate to NULL when the source Picture is not located in the MpegEncContext.picture array. That will only happen for next/last_picture_ptr when updating the thread context during h264 frame threaded decoding, where they will point to elements of ref_list. Since ref_list is not copied during updating the context and is invalid until it is constructed for the current slice, there is no point in doing anything complicated with next/last_picture_ptr, as they will get updated when the ref_list is filled. --- libavcodec/mpegvideo.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 51e422bf61..1294d0c924 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -712,10 +712,10 @@ typedef struct MpegEncContext { int context_reinit; } MpegEncContext; -#define REBASE_PICTURE(pic, new_ctx, old_ctx) (pic ? \ - (pic >= old_ctx->picture && pic < old_ctx->picture+old_ctx->picture_count ?\ - &new_ctx->picture[pic - old_ctx->picture] : (Picture*) ((uint8_t*)pic - (uint8_t*)old_ctx + (uint8_t*)new_ctx))\ - : NULL) +#define REBASE_PICTURE(pic, new_ctx, old_ctx) \ + ((pic && pic >= old_ctx->picture && \ + pic < old_ctx->picture + old_ctx->picture_count) ? \ + &new_ctx->picture[pic - old_ctx->picture] : NULL) /* mpegvideo_enc common options */ #define FF_MPV_FLAG_SKIP_RD 0x0001