[FFmpeg-cvslog] Only do 1 malloc instead of 3 and check for failure.
Reimar Döffinger
git at videolan.org
Sat Oct 29 15:49:55 CEST 2011
ffmpeg | branch: master | Reimar Döffinger <Reimar.Doeffinger at gmx.de> | Sat Oct 29 13:40:34 2011 +0200| [d9f4dc52a0fe3edb93f153cf13e750f7c46243d1] | committer: Reimar Döffinger
Only do 1 malloc instead of 3 and check for failure.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d9f4dc52a0fe3edb93f153cf13e750f7c46243d1
---
libavcodec/proresenc.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/proresenc.c b/libavcodec/proresenc.c
index 20ab451..5c3a7c8 100644
--- a/libavcodec/proresenc.c
+++ b/libavcodec/proresenc.c
@@ -549,9 +549,11 @@ static av_cold int prores_encode_init(AVCodecContext *avctx)
}
if ((avctx->height & 0xf) || (avctx->width & 0xf)) {
- ctx->fill_y = av_malloc(DEFAULT_SLICE_MB_WIDTH << 9);
- ctx->fill_u = av_malloc(DEFAULT_SLICE_MB_WIDTH << 8);
- ctx->fill_v = av_malloc(DEFAULT_SLICE_MB_WIDTH << 8);
+ ctx->fill_y = av_malloc(4 * (DEFAULT_SLICE_MB_WIDTH << 8));
+ if (!ctx->fill_y)
+ return AVERROR(ENOMEM);
+ ctx->fill_u = ctx->fill_y + (DEFAULT_SLICE_MB_WIDTH << 9);
+ ctx->fill_v = ctx->fill_u + (DEFAULT_SLICE_MB_WIDTH << 8);
}
if (avctx->profile == FF_PROFILE_UNKNOWN) {
@@ -587,9 +589,7 @@ static av_cold int prores_encode_close(AVCodecContext *avctx)
{
ProresContext* ctx = avctx->priv_data;
av_freep(&avctx->coded_frame);
- av_free(ctx->fill_y);
- av_free(ctx->fill_u);
- av_free(ctx->fill_v);
+ av_freep(&ctx->fill_y);
return 0;
}
More information about the ffmpeg-cvslog
mailing list