diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 04909cf9595db252b1e90412033786678e6e0eed..68fc5251844bf248ef27e3a0897208cfb85ffade 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -509,7 +509,8 @@ void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic){ avci->buffer_count--; last = &avci->buffer[avci->buffer_count]; - FFSWAP(InternalBuffer, *buf, *last); + if (buf != last) + FFSWAP(InternalBuffer, *buf, *last); } for (i = 0; i < AV_NUM_DATA_POINTERS; i++) {