mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 13:10:37 +00:00
indeo3: check return values of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
b00e56bec5
commit
84343dd9d3
@ -148,6 +148,20 @@ static av_cold void build_requant_tab(void)
|
||||
}
|
||||
|
||||
|
||||
static av_cold void free_frame_buffers(Indeo3DecodeContext *ctx)
|
||||
{
|
||||
int p;
|
||||
|
||||
ctx->width = ctx->height = 0;
|
||||
|
||||
for (p = 0; p < 3; p++) {
|
||||
av_freep(&ctx->planes[p].buffers[0]);
|
||||
av_freep(&ctx->planes[p].buffers[1]);
|
||||
ctx->planes[p].pixels[0] = ctx->planes[p].pixels[1] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx,
|
||||
AVCodecContext *avctx, int luma_width, int luma_height)
|
||||
{
|
||||
@ -188,6 +202,11 @@ static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx,
|
||||
ctx->planes[p].buffers[0] = av_malloc(!p ? luma_size : chroma_size);
|
||||
ctx->planes[p].buffers[1] = av_malloc(!p ? luma_size : chroma_size);
|
||||
|
||||
if (!ctx->planes[p].buffers[0] || !ctx->planes[p].buffers[1]) {
|
||||
free_frame_buffers(ctx);
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
/* fill the INTRA prediction lines with the middle pixel value = 64 */
|
||||
memset(ctx->planes[p].buffers[0], 0x40, ctx->planes[p].pitch);
|
||||
memset(ctx->planes[p].buffers[1], 0x40, ctx->planes[p].pitch);
|
||||
@ -202,22 +221,6 @@ static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static av_cold void free_frame_buffers(Indeo3DecodeContext *ctx)
|
||||
{
|
||||
int p;
|
||||
|
||||
ctx->width=
|
||||
ctx->height= 0;
|
||||
|
||||
for (p = 0; p < 3; p++) {
|
||||
av_freep(&ctx->planes[p].buffers[0]);
|
||||
av_freep(&ctx->planes[p].buffers[1]);
|
||||
ctx->planes[p].pixels[0] = ctx->planes[p].pixels[1] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Copy pixels of the cell(x + mv_x, y + mv_y) from the previous frame into
|
||||
* the cell(x, y) in the current frame.
|
||||
|
Loading…
Reference in New Issue
Block a user