diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2018-09-12 03:14:47 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-09-28 02:33:48 +0300 |
commit | db6af88cd0fa2f874c938acfeefdae9a447af25b (patch) | |
tree | 97f04b60e56b6a9b308a6427ede40f78b478d4f7 /libavcodec/bintext.c | |
parent | 8db9097308dcc72f3f1f459a2b39f7a987ddd978 (diff) |
avcodec/bintext: Use ff_get_buffer instead of ff_reget_buffer and simplify
reget seems unneeded and it is slower
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/bintext.c')
-rw-r--r-- | libavcodec/bintext.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c index b14a2a9c29..d85f2c2dd4 100644 --- a/libavcodec/bintext.c +++ b/libavcodec/bintext.c @@ -96,11 +96,6 @@ static av_cold int decode_init(AVCodecContext *avctx) if (avctx->width < FONT_WIDTH || avctx->height < s->font_height) return AVERROR_INVALIDDATA; - - s->frame = av_frame_alloc(); - if (!s->frame) - return AVERROR(ENOMEM); - return 0; } @@ -149,8 +144,9 @@ static int decode_frame(AVCodecContext *avctx, if ((avctx->width / FONT_WIDTH) * (avctx->height / s->font_height) / 256 > buf_size) return AVERROR_INVALIDDATA; + s->frame = data; s->x = s->y = 0; - if ((ret = ff_reget_buffer(avctx, s->frame)) < 0) + if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0) return ret; s->frame->pict_type = AV_PICTURE_TYPE_I; s->frame->palette_has_changed = 1; @@ -208,21 +204,10 @@ static int decode_frame(AVCodecContext *avctx, } } - if ((ret = av_frame_ref(data, s->frame)) < 0) - return ret; *got_frame = 1; return buf_size; } -static av_cold int decode_end(AVCodecContext *avctx) -{ - XbinContext *s = avctx->priv_data; - - av_frame_free(&s->frame); - - return 0; -} - #if CONFIG_BINTEXT_DECODER AVCodec ff_bintext_decoder = { .name = "bintext", @@ -231,7 +216,6 @@ AVCodec ff_bintext_decoder = { .id = AV_CODEC_ID_BINTEXT, .priv_data_size = sizeof(XbinContext), .init = decode_init, - .close = decode_end, .decode = decode_frame, .capabilities = AV_CODEC_CAP_DR1, }; @@ -244,7 +228,6 @@ AVCodec ff_xbin_decoder = { .id = AV_CODEC_ID_XBIN, .priv_data_size = sizeof(XbinContext), .init = decode_init, - .close = decode_end, .decode = decode_frame, .capabilities = AV_CODEC_CAP_DR1, }; @@ -257,7 +240,6 @@ AVCodec ff_idf_decoder = { .id = AV_CODEC_ID_IDF, .priv_data_size = sizeof(XbinContext), .init = decode_init, - .close = decode_end, .decode = decode_frame, .capabilities = AV_CODEC_CAP_DR1, }; |