summaryrefslogtreecommitdiff
path: root/libavcodec/fic.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-18 12:28:29 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-06-19 13:57:36 +0200
commitd277b05c518a4c3f8f009afa7e3c7fbdae7460c3 (patch)
tree7ea10e9e6320208f98934670cb235d28d22aaf55 /libavcodec/fic.c
parenta9af9da6311b4ba50abe55d14d42a4d4818e83d8 (diff)
avcodec/fic: Add skip_cursor AVOption
Previous version reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/fic.c')
-rw-r--r--libavcodec/fic.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/libavcodec/fic.c b/libavcodec/fic.c
index 48e7a6ea0a..b5f92e5960 100644
--- a/libavcodec/fic.c
+++ b/libavcodec/fic.c
@@ -22,6 +22,7 @@
*/
#include "libavutil/common.h"
+#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"
#include "get_bits.h"
@@ -36,6 +37,7 @@ typedef struct FICThreadContext {
} FICThreadContext;
typedef struct FICContext {
+ AVClass *class;
AVCodecContext *avctx;
AVFrame *frame;
AVFrame *final_frame;
@@ -51,6 +53,7 @@ typedef struct FICContext {
int num_slices, slice_h;
uint8_t cursor_buf[4096];
+ int skip_cursor;
} FICContext;
static const uint8_t fic_qmat_hq[64] = {
@@ -263,7 +266,7 @@ static int fic_decode_frame(AVCodecContext *avctx, void *data,
int msize;
int tsize;
int cur_x, cur_y;
- int skip_cursor = 0;
+ int skip_cursor = ctx->skip_cursor;
uint8_t *sdata;
if ((ret = ff_reget_buffer(avctx, ctx->frame)) < 0)
@@ -452,6 +455,18 @@ static av_cold int fic_decode_init(AVCodecContext *avctx)
return 0;
}
+static const AVOption options[] = {
+{ "skip_cursor", "skip the cursor", offsetof(FICContext, skip_cursor), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 1, AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM },
+{ NULL },
+};
+
+static const AVClass fic_decoder_class = {
+ .class_name = "FIC encoder",
+ .item_name = av_default_item_name,
+ .option = options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
AVCodec ff_fic_decoder = {
.name = "fic",
.long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
@@ -462,4 +477,5 @@ AVCodec ff_fic_decoder = {
.decode = fic_decode_frame,
.close = fic_decode_close,
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
+ .priv_class = &fic_decoder_class,
};