[FFmpeg-devel] [PATCH 1/4] libavcodec: v4l2m2m: fix indentation and add M2MDEC_CLASS

Mark Thompson sw at jkqxz.net
Sat Aug 4 23:41:12 EEST 2018


On 04/08/18 01:40, Lukas Rusak wrote:
> This just makes the M2MDEC_CLASS similar to how it is done in rkmpp. It looks
> clean and has proper indentation
> ---
>  libavcodec/v4l2_m2m_dec.c | 46 ++++++++++++++++++++-------------------
>  1 file changed, 24 insertions(+), 22 deletions(-)
> 
> diff --git a/libavcodec/v4l2_m2m_dec.c b/libavcodec/v4l2_m2m_dec.c
> index 710e40efd8..7926e25efa 100644
> --- a/libavcodec/v4l2_m2m_dec.c
> +++ b/libavcodec/v4l2_m2m_dec.c
> @@ -205,29 +205,31 @@ static const AVOption options[] = {
>      { NULL},
>  };
>  
> +#define M2MDEC_CLASS(NAME) \
> +    static const AVClass v4l2_m2m_ ## NAME ## _dec_class = { \
> +        .class_name = #NAME "_v4l2_m2m_decoder", \
> +        .item_name  = av_default_item_name, \
> +        .option     = options, \
> +        .version    = LIBAVUTIL_VERSION_INT, \
> +    };
> +
>  #define M2MDEC(NAME, LONGNAME, CODEC, bsf_name) \
> -static const AVClass v4l2_m2m_ ## NAME ## _dec_class = {\
> -    .class_name = #NAME "_v4l2_m2m_decoder",\
> -    .item_name  = av_default_item_name,\
> -    .option     = options,\
> -    .version    = LIBAVUTIL_VERSION_INT,\
> -};\
> -\
> -AVCodec ff_ ## NAME ## _v4l2m2m_decoder = { \
> -    .name           = #NAME "_v4l2m2m" ,\
> -    .long_name      = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " decoder wrapper"),\
> -    .type           = AVMEDIA_TYPE_VIDEO,\
> -    .id             = CODEC ,\
> -    .priv_data_size = sizeof(V4L2m2mPriv),\
> -    .priv_class     = &v4l2_m2m_ ## NAME ## _dec_class,\
> -    .init           = v4l2_decode_init,\
> -    .receive_frame  = v4l2_receive_frame,\
> -    .close          = ff_v4l2_m2m_codec_end,\
> -    .bsfs           = bsf_name, \
> -    .capabilities   = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY | \
> -                      AV_CODEC_CAP_AVOID_PROBING, \
> -    .wrapper_name   = "v4l2m2m", \
> -};
> +    M2MDEC_CLASS(NAME) \
> +    AVCodec ff_ ## NAME ## _v4l2m2m_decoder = { \
> +        .name           = #NAME "_v4l2m2m" , \
> +        .long_name      = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " decoder wrapper"), \
> +        .type           = AVMEDIA_TYPE_VIDEO, \
> +        .id             = CODEC , \
> +        .priv_data_size = sizeof(V4L2m2mPriv), \
> +        .priv_class     = &v4l2_m2m_ ## NAME ## _dec_class, \
> +        .init           = v4l2_decode_init, \
> +        .receive_frame  = v4l2_receive_frame, \
> +        .close          = ff_v4l2_m2m_codec_end, \
> +        .bsfs           = bsf_name, \
> +        .capabilities   = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY, \

                                                         Not a comma!  ^

(This gives you a load of compiler warnings, please do make sure you aren't introducing new warnings with patches.)

> +	                      AV_CODEC_CAP_AVOID_PROBING, \
> +        .wrapper_name   = "v4l2m2m", \
> +    };
>  
>  M2MDEC(h264,  "H.264", AV_CODEC_ID_H264,       "h264_mp4toannexb");
>  M2MDEC(hevc,  "HEVC",  AV_CODEC_ID_HEVC,       "hevc_mp4toannexb");
> 

Otherwise LGTM.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list