diff options
-rw-r--r-- | libavcodec/utils.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index a3ab1344aa..63ea77f9fd 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -635,12 +635,16 @@ enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum void avcodec_get_frame_defaults(AVFrame *frame) { + if (frame->extended_data != frame->data) + av_freep(&frame->extended_data); + memset(frame, 0, sizeof(AVFrame)); frame->pts = AV_NOPTS_VALUE; frame->key_frame = 1; frame->sample_aspect_ratio = (AVRational) {0, 1 }; frame->format = -1; /* unknown */ + frame->extended_data = frame->data; } AVFrame *avcodec_alloc_frame(void) |