mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/indeo3: Cleanup generically after init failure
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
ab4876163b
commit
3507ab07ec
@ -203,10 +203,8 @@ 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[0] = av_malloc(!p ? luma_size : chroma_size);
|
||||||
ctx->planes[p].buffers[1] = 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]) {
|
if (!ctx->planes[p].buffers[0] || !ctx->planes[p].buffers[1])
|
||||||
free_frame_buffers(ctx);
|
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
}
|
|
||||||
|
|
||||||
/* fill the INTRA prediction lines with the middle pixel value = 64 */
|
/* 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[0], 0x40, ctx->planes[p].pitch);
|
||||||
@ -1143,4 +1141,5 @@ AVCodec ff_indeo3_decoder = {
|
|||||||
.close = decode_close,
|
.close = decode_close,
|
||||||
.decode = decode_frame,
|
.decode = decode_frame,
|
||||||
.capabilities = AV_CODEC_CAP_DR1,
|
.capabilities = AV_CODEC_CAP_DR1,
|
||||||
|
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user