[FFmpeg-devel] [PATCH] avcodec/fic: Add skip_cursor AVOption

Paul B Mahol onemda at gmail.com
Thu Jun 18 13:48:59 CEST 2015


On 6/18/15, Michael Niedermayer <michaelni at gmx.at> wrote:
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  libavcodec/fic.c |   18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/fic.c b/libavcodec/fic.c
> index 48e7a6e..13f15d3 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 = {
> +    "FIC decoder",
> +    av_default_item_name,
> +    options,
> +    LIBAVUTIL_VERSION_INT,
> +};
> +

Please use designated initializer for AVClass.

>  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,
>  };
> --
> 1.7.9.5
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list