summaryrefslogtreecommitdiff
path: root/libavcodec/fic.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2019-08-30 11:37:25 -0300
committerJames Almer <jamrial@gmail.com>2019-09-04 10:07:12 -0300
commit9ea6d2149e25d68885a24894bb911077b05388c4 (patch)
treed302ed27dd814bea2189537f62c4120f69ecb669 /libavcodec/fic.c
parent39f129593756e3e270ed3881ca076627f30e1eb7 (diff)
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.c4
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;
}