diff options
author | James Almer <jamrial@gmail.com> | 2019-08-30 11:37:25 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2019-09-04 10:07:12 -0300 |
commit | 9ea6d2149e25d68885a24894bb911077b05388c4 (patch) | |
tree | d302ed27dd814bea2189537f62c4120f69ecb669 /libavcodec/fic.c | |
parent | 39f129593756e3e270ed3881ca076627f30e1eb7 (diff) | |
download | ffmpeg-9ea6d2149e25d68885a24894bb911077b05388c4.tar.gz |
avcodec/decode: add a flags parameter to ff_reget_buffer()
Some decoders may not need a writable buffer in some specific cases, but only
a reference to the existing buffer with updated frame properties instead, for
the purpose of returning duplicate frames. For this, the
FF_REGET_BUFFER_FLAG_READONLY flag is added, which will prevent potential
allocations and buffer copies when they are not needed.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/fic.c')
-rw-r--r-- | libavcodec/fic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/fic.c b/libavcodec/fic.c index 540078eda1..95baaedaa5 100644 --- a/libavcodec/fic.c +++ b/libavcodec/fic.c @@ -278,7 +278,7 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data, int skip_cursor = ctx->skip_cursor; uint8_t *sdata; - if ((ret = ff_reget_buffer(avctx, ctx->frame)) < 0) + if ((ret = ff_reget_buffer(avctx, ctx->frame, 0)) < 0) return ret; /* Header + at least one slice (4) */ @@ -421,7 +421,7 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data, } /* Make sure we use a user-supplied buffer. */ - if ((ret = ff_reget_buffer(avctx, ctx->final_frame)) < 0) { + if ((ret = ff_reget_buffer(avctx, ctx->final_frame, 0)) < 0) { av_log(avctx, AV_LOG_ERROR, "Could not make frame writable.\n"); return ret; } |