[FFmpeg-devel] [PATCH 07/13] lavc: Mark all AVHWAccel structures as const

Philip Langdale philipl at overt.org
Tue Nov 21 05:59:42 EET 2017


On Sat, 18 Nov 2017 18:47:07 +0000
Mark Thompson <sw at jkqxz.net> wrote:

> ---
>  libavcodec/avcodec.h      |  2 +-
>  libavcodec/decode.c       |  2 +-
>  libavcodec/dxva2_h264.c   |  6 +--
>  libavcodec/dxva2_hevc.c   |  6 +--
>  libavcodec/dxva2_mpeg2.c  |  6 +--
>  libavcodec/dxva2_vc1.c    | 12 +++---
>  libavcodec/hwaccels.h     | 94
> +++++++++++++++++++++++------------------------
> libavcodec/nvdec_h264.c   |  2 +- libavcodec/nvdec_hevc.c   |  2 +-
>  libavcodec/nvdec_mpeg12.c |  2 +-
>  libavcodec/nvdec_vc1.c    |  4 +-
>  libavcodec/nvdec_vp9.c    |  2 +-
>  libavcodec/vaapi_h264.c   |  2 +-
>  libavcodec/vaapi_hevc.c   |  2 +-
>  libavcodec/vaapi_mpeg2.c  |  2 +-
>  libavcodec/vaapi_mpeg4.c  |  4 +-
>  libavcodec/vaapi_vc1.c    |  4 +-
>  libavcodec/vaapi_vp9.c    |  2 +-
>  libavcodec/vdpau_h264.c   |  2 +-
>  libavcodec/vdpau_hevc.c   |  2 +-
>  libavcodec/vdpau_mpeg12.c |  4 +-
>  libavcodec/vdpau_mpeg4.c  |  2 +-
>  libavcodec/vdpau_vc1.c    |  4 +-
>  libavcodec/videotoolbox.c | 12 +++---
>  24 files changed, 91 insertions(+), 91 deletions(-)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index c05dbfe777..14f20fae0c 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -2635,7 +2635,7 @@ typedef struct AVCodecContext {
>       * - encoding: unused.
>       * - decoding: Set by libavcodec
>       */
> -    struct AVHWAccel *hwaccel;
> +    const struct AVHWAccel *hwaccel;
>  
>      /**
>       * Hardware accelerator context.
> diff --git a/libavcodec/decode.c b/libavcodec/decode.c
> index 8b2bec1ce9..890b596b7b 100644
> --- a/libavcodec/decode.c
> +++ b/libavcodec/decode.c
> @@ -1252,7 +1252,7 @@ static int hwaccel_init(AVCodecContext *avctx,
>              return AVERROR(ENOMEM);
>      }
>  
> -    avctx->hwaccel = (AVHWAccel*)hwaccel;
> +    avctx->hwaccel = hwaccel;
>      err = hwaccel->init(avctx);
>      if (err < 0) {
>          av_log(avctx, AV_LOG_ERROR, "Failed setup for format %s: "
> diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
> index ee35b20e82..a4278c80b5 100644
> --- a/libavcodec/dxva2_h264.c
> +++ b/libavcodec/dxva2_h264.c
> @@ -518,7 +518,7 @@ static int dxva2_h264_end_frame(AVCodecContext
> *avctx) }
>  
>  #if CONFIG_H264_DXVA2_HWACCEL
> -AVHWAccel ff_h264_dxva2_hwaccel = {
> +const AVHWAccel ff_h264_dxva2_hwaccel = {
>      .name           = "h264_dxva2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H264,
> @@ -535,7 +535,7 @@ AVHWAccel ff_h264_dxva2_hwaccel = {
>  #endif
>  
>  #if CONFIG_H264_D3D11VA_HWACCEL
> -AVHWAccel ff_h264_d3d11va_hwaccel = {
> +const AVHWAccel ff_h264_d3d11va_hwaccel = {
>      .name           = "h264_d3d11va",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H264,
> @@ -552,7 +552,7 @@ AVHWAccel ff_h264_d3d11va_hwaccel = {
>  #endif
>  
>  #if CONFIG_H264_D3D11VA2_HWACCEL
> -AVHWAccel ff_h264_d3d11va2_hwaccel = {
> +const AVHWAccel ff_h264_d3d11va2_hwaccel = {
>      .name           = "h264_d3d11va2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H264,
> diff --git a/libavcodec/dxva2_hevc.c b/libavcodec/dxva2_hevc.c
> index 542afc383a..0ae07d304f 100644
> --- a/libavcodec/dxva2_hevc.c
> +++ b/libavcodec/dxva2_hevc.c
> @@ -422,7 +422,7 @@ static int dxva2_hevc_end_frame(AVCodecContext
> *avctx) }
>  
>  #if CONFIG_HEVC_DXVA2_HWACCEL
> -AVHWAccel ff_hevc_dxva2_hwaccel = {
> +const AVHWAccel ff_hevc_dxva2_hwaccel = {
>      .name           = "hevc_dxva2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_HEVC,
> @@ -439,7 +439,7 @@ AVHWAccel ff_hevc_dxva2_hwaccel = {
>  #endif
>  
>  #if CONFIG_HEVC_D3D11VA_HWACCEL
> -AVHWAccel ff_hevc_d3d11va_hwaccel = {
> +const AVHWAccel ff_hevc_d3d11va_hwaccel = {
>      .name           = "hevc_d3d11va",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_HEVC,
> @@ -456,7 +456,7 @@ AVHWAccel ff_hevc_d3d11va_hwaccel = {
>  #endif
>  
>  #if CONFIG_HEVC_D3D11VA2_HWACCEL
> -AVHWAccel ff_hevc_d3d11va2_hwaccel = {
> +const AVHWAccel ff_hevc_d3d11va2_hwaccel = {
>      .name           = "hevc_d3d11va2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_HEVC,
> diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c
> index df5fe59a7d..a57778b427 100644
> --- a/libavcodec/dxva2_mpeg2.c
> +++ b/libavcodec/dxva2_mpeg2.c
> @@ -317,7 +317,7 @@ static int dxva2_mpeg2_end_frame(AVCodecContext
> *avctx) }
>  
>  #if CONFIG_MPEG2_DXVA2_HWACCEL
> -AVHWAccel ff_mpeg2_dxva2_hwaccel = {
> +const AVHWAccel ff_mpeg2_dxva2_hwaccel = {
>      .name           = "mpeg2_dxva2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG2VIDEO,
> @@ -334,7 +334,7 @@ AVHWAccel ff_mpeg2_dxva2_hwaccel = {
>  #endif
>  
>  #if CONFIG_MPEG2_D3D11VA_HWACCEL
> -AVHWAccel ff_mpeg2_d3d11va_hwaccel = {
> +const AVHWAccel ff_mpeg2_d3d11va_hwaccel = {
>      .name           = "mpeg2_d3d11va",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG2VIDEO,
> @@ -351,7 +351,7 @@ AVHWAccel ff_mpeg2_d3d11va_hwaccel = {
>  #endif
>  
>  #if CONFIG_MPEG2_D3D11VA2_HWACCEL
> -AVHWAccel ff_mpeg2_d3d11va2_hwaccel = {
> +const AVHWAccel ff_mpeg2_d3d11va2_hwaccel = {
>      .name           = "mpeg2_d3d11va2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG2VIDEO,
> diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
> index f21c5d5544..f22c73cd1e 100644
> --- a/libavcodec/dxva2_vc1.c
> +++ b/libavcodec/dxva2_vc1.c
> @@ -378,7 +378,7 @@ static int dxva2_vc1_end_frame(AVCodecContext
> *avctx) }
>  
>  #if CONFIG_WMV3_DXVA2_HWACCEL
> -AVHWAccel ff_wmv3_dxva2_hwaccel = {
> +const AVHWAccel ff_wmv3_dxva2_hwaccel = {
>      .name           = "wmv3_dxva2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_WMV3,
> @@ -395,7 +395,7 @@ AVHWAccel ff_wmv3_dxva2_hwaccel = {
>  #endif
>  
>  #if CONFIG_VC1_DXVA2_HWACCEL
> -AVHWAccel ff_vc1_dxva2_hwaccel = {
> +const AVHWAccel ff_vc1_dxva2_hwaccel = {
>      .name           = "vc1_dxva2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_VC1,
> @@ -412,7 +412,7 @@ AVHWAccel ff_vc1_dxva2_hwaccel = {
>  #endif
>  
>  #if CONFIG_WMV3_D3D11VA_HWACCEL
> -AVHWAccel ff_wmv3_d3d11va_hwaccel = {
> +const AVHWAccel ff_wmv3_d3d11va_hwaccel = {
>      .name           = "wmv3_d3d11va",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_WMV3,
> @@ -429,7 +429,7 @@ AVHWAccel ff_wmv3_d3d11va_hwaccel = {
>  #endif
>  
>  #if CONFIG_WMV3_D3D11VA2_HWACCEL
> -AVHWAccel ff_wmv3_d3d11va2_hwaccel = {
> +const AVHWAccel ff_wmv3_d3d11va2_hwaccel = {
>      .name           = "wmv3_d3d11va2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_WMV3,
> @@ -446,7 +446,7 @@ AVHWAccel ff_wmv3_d3d11va2_hwaccel = {
>  #endif
>  
>  #if CONFIG_VC1_D3D11VA_HWACCEL
> -AVHWAccel ff_vc1_d3d11va_hwaccel = {
> +const AVHWAccel ff_vc1_d3d11va_hwaccel = {
>      .name           = "vc1_d3d11va",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_VC1,
> @@ -463,7 +463,7 @@ AVHWAccel ff_vc1_d3d11va_hwaccel = {
>  #endif
>  
>  #if CONFIG_VC1_D3D11VA2_HWACCEL
> -AVHWAccel ff_vc1_d3d11va2_hwaccel = {
> +const AVHWAccel ff_vc1_d3d11va2_hwaccel = {
>      .name           = "vc1_d3d11va2",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_VC1,
> diff --git a/libavcodec/hwaccels.h b/libavcodec/hwaccels.h
> index cd1e54b126..c8081dc05c 100644
> --- a/libavcodec/hwaccels.h
> +++ b/libavcodec/hwaccels.h
> @@ -21,52 +21,52 @@
>  
>  #include "avcodec.h"
>  
> -extern AVHWAccel ff_h263_vaapi_hwaccel;
> -extern AVHWAccel ff_h263_videotoolbox_hwaccel;
> -extern AVHWAccel ff_h264_d3d11va_hwaccel;
> -extern AVHWAccel ff_h264_d3d11va2_hwaccel;
> -extern AVHWAccel ff_h264_dxva2_hwaccel;
> -extern AVHWAccel ff_h264_nvdec_hwaccel;
> -extern AVHWAccel ff_h264_vaapi_hwaccel;
> -extern AVHWAccel ff_h264_vdpau_hwaccel;
> -extern AVHWAccel ff_h264_videotoolbox_hwaccel;
> -extern AVHWAccel ff_hevc_d3d11va_hwaccel;
> -extern AVHWAccel ff_hevc_d3d11va2_hwaccel;
> -extern AVHWAccel ff_hevc_dxva2_hwaccel;
> -extern AVHWAccel ff_hevc_nvdec_hwaccel;
> -extern AVHWAccel ff_hevc_vaapi_hwaccel;
> -extern AVHWAccel ff_hevc_vdpau_hwaccel;
> -extern AVHWAccel ff_hevc_videotoolbox_hwaccel;
> -extern AVHWAccel ff_mpeg1_vdpau_hwaccel;
> -extern AVHWAccel ff_mpeg1_videotoolbox_hwaccel;
> -extern AVHWAccel ff_mpeg1_xvmc_hwaccel;
> -extern AVHWAccel ff_mpeg2_d3d11va_hwaccel;
> -extern AVHWAccel ff_mpeg2_d3d11va2_hwaccel;
> -extern AVHWAccel ff_mpeg2_nvdec_hwaccel;
> -extern AVHWAccel ff_mpeg2_dxva2_hwaccel;
> -extern AVHWAccel ff_mpeg2_vaapi_hwaccel;
> -extern AVHWAccel ff_mpeg2_vdpau_hwaccel;
> -extern AVHWAccel ff_mpeg2_videotoolbox_hwaccel;
> -extern AVHWAccel ff_mpeg2_xvmc_hwaccel;
> -extern AVHWAccel ff_mpeg4_vaapi_hwaccel;
> -extern AVHWAccel ff_mpeg4_vdpau_hwaccel;
> -extern AVHWAccel ff_mpeg4_videotoolbox_hwaccel;
> -extern AVHWAccel ff_vc1_d3d11va_hwaccel;
> -extern AVHWAccel ff_vc1_d3d11va2_hwaccel;
> -extern AVHWAccel ff_vc1_dxva2_hwaccel;
> -extern AVHWAccel ff_vc1_nvdec_hwaccel;
> -extern AVHWAccel ff_vc1_vaapi_hwaccel;
> -extern AVHWAccel ff_vc1_vdpau_hwaccel;
> -extern AVHWAccel ff_vp9_d3d11va_hwaccel;
> -extern AVHWAccel ff_vp9_d3d11va2_hwaccel;
> -extern AVHWAccel ff_vp9_dxva2_hwaccel;
> -extern AVHWAccel ff_vp9_nvdec_hwaccel;
> -extern AVHWAccel ff_vp9_vaapi_hwaccel;
> -extern AVHWAccel ff_wmv3_d3d11va_hwaccel;
> -extern AVHWAccel ff_wmv3_d3d11va2_hwaccel;
> -extern AVHWAccel ff_wmv3_dxva2_hwaccel;
> -extern AVHWAccel ff_wmv3_nvdec_hwaccel;
> -extern AVHWAccel ff_wmv3_vaapi_hwaccel;
> -extern AVHWAccel ff_wmv3_vdpau_hwaccel;
> +extern const AVHWAccel ff_h263_vaapi_hwaccel;
> +extern const AVHWAccel ff_h263_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_h264_d3d11va_hwaccel;
> +extern const AVHWAccel ff_h264_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_h264_dxva2_hwaccel;
> +extern const AVHWAccel ff_h264_nvdec_hwaccel;
> +extern const AVHWAccel ff_h264_vaapi_hwaccel;
> +extern const AVHWAccel ff_h264_vdpau_hwaccel;
> +extern const AVHWAccel ff_h264_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_hevc_d3d11va_hwaccel;
> +extern const AVHWAccel ff_hevc_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_hevc_dxva2_hwaccel;
> +extern const AVHWAccel ff_hevc_nvdec_hwaccel;
> +extern const AVHWAccel ff_hevc_vaapi_hwaccel;
> +extern const AVHWAccel ff_hevc_vdpau_hwaccel;
> +extern const AVHWAccel ff_hevc_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_mpeg1_vdpau_hwaccel;
> +extern const AVHWAccel ff_mpeg1_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_mpeg1_xvmc_hwaccel;
> +extern const AVHWAccel ff_mpeg2_d3d11va_hwaccel;
> +extern const AVHWAccel ff_mpeg2_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_mpeg2_nvdec_hwaccel;
> +extern const AVHWAccel ff_mpeg2_dxva2_hwaccel;
> +extern const AVHWAccel ff_mpeg2_vaapi_hwaccel;
> +extern const AVHWAccel ff_mpeg2_vdpau_hwaccel;
> +extern const AVHWAccel ff_mpeg2_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_mpeg2_xvmc_hwaccel;
> +extern const AVHWAccel ff_mpeg4_vaapi_hwaccel;
> +extern const AVHWAccel ff_mpeg4_vdpau_hwaccel;
> +extern const AVHWAccel ff_mpeg4_videotoolbox_hwaccel;
> +extern const AVHWAccel ff_vc1_d3d11va_hwaccel;
> +extern const AVHWAccel ff_vc1_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_vc1_dxva2_hwaccel;
> +extern const AVHWAccel ff_vc1_nvdec_hwaccel;
> +extern const AVHWAccel ff_vc1_vaapi_hwaccel;
> +extern const AVHWAccel ff_vc1_vdpau_hwaccel;
> +extern const AVHWAccel ff_vp9_d3d11va_hwaccel;
> +extern const AVHWAccel ff_vp9_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_vp9_dxva2_hwaccel;
> +extern const AVHWAccel ff_vp9_nvdec_hwaccel;
> +extern const AVHWAccel ff_vp9_vaapi_hwaccel;
> +extern const AVHWAccel ff_wmv3_d3d11va_hwaccel;
> +extern const AVHWAccel ff_wmv3_d3d11va2_hwaccel;
> +extern const AVHWAccel ff_wmv3_dxva2_hwaccel;
> +extern const AVHWAccel ff_wmv3_nvdec_hwaccel;
> +extern const AVHWAccel ff_wmv3_vaapi_hwaccel;
> +extern const AVHWAccel ff_wmv3_vdpau_hwaccel;
>  
>  #endif /* AVCODEC_HWACCELS_H */
> diff --git a/libavcodec/nvdec_h264.c b/libavcodec/nvdec_h264.c
> index b0e756c734..35f54f2ed5 100644
> --- a/libavcodec/nvdec_h264.c
> +++ b/libavcodec/nvdec_h264.c
> @@ -163,7 +163,7 @@ static int nvdec_h264_frame_params(AVCodecContext
> *avctx, return ff_nvdec_frame_params(avctx, hw_frames_ctx,
> sps->ref_frame_count + sps->num_reorder_frames); }
>  
> -AVHWAccel ff_h264_nvdec_hwaccel = {
> +const AVHWAccel ff_h264_nvdec_hwaccel = {
>      .name                 = "h264_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_H264,
> diff --git a/libavcodec/nvdec_hevc.c b/libavcodec/nvdec_hevc.c
> index f02a7a15fe..58f3fa9b45 100644
> --- a/libavcodec/nvdec_hevc.c
> +++ b/libavcodec/nvdec_hevc.c
> @@ -266,7 +266,7 @@ static int nvdec_hevc_frame_params(AVCodecContext
> *avctx, return ff_nvdec_frame_params(avctx, hw_frames_ctx,
> sps->temporal_layer[sps->max_sub_layers - 1].max_dec_pic_buffering +
> 1); } 
> -AVHWAccel ff_hevc_nvdec_hwaccel = {
> +const AVHWAccel ff_hevc_nvdec_hwaccel = {
>      .name                 = "hevc_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_HEVC,
> diff --git a/libavcodec/nvdec_mpeg12.c b/libavcodec/nvdec_mpeg12.c
> index 127e843d85..1f2d162114 100644
> --- a/libavcodec/nvdec_mpeg12.c
> +++ b/libavcodec/nvdec_mpeg12.c
> @@ -136,7 +136,7 @@ static int
> nvdec_mpeg12_frame_params(AVCodecContext *avctx, }
>  
>  #if CONFIG_MPEG2_NVDEC_HWACCEL
> -AVHWAccel ff_mpeg2_nvdec_hwaccel = {
> +const AVHWAccel ff_mpeg2_nvdec_hwaccel = {
>      .name                 = "mpeg2_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_MPEG2VIDEO,
> diff --git a/libavcodec/nvdec_vc1.c b/libavcodec/nvdec_vc1.c
> index 588a5b9d07..51a1e0b544 100644
> --- a/libavcodec/nvdec_vc1.c
> +++ b/libavcodec/nvdec_vc1.c
> @@ -153,7 +153,7 @@ static int nvdec_vc1_frame_params(AVCodecContext
> *avctx, return ff_nvdec_frame_params(avctx, hw_frames_ctx, 2);
>  }
>  
> -AVHWAccel ff_vc1_nvdec_hwaccel = {
> +const AVHWAccel ff_vc1_nvdec_hwaccel = {
>      .name                 = "vc1_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_VC1,
> @@ -168,7 +168,7 @@ AVHWAccel ff_vc1_nvdec_hwaccel = {
>  };
>  
>  #if CONFIG_WMV3_NVDEC_HWACCEL
> -AVHWAccel ff_wmv3_nvdec_hwaccel = {
> +const AVHWAccel ff_wmv3_nvdec_hwaccel = {
>      .name                 = "wmv3_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_WMV3,
> diff --git a/libavcodec/nvdec_vp9.c b/libavcodec/nvdec_vp9.c
> index 06c13e6f03..ffa9424fb2 100644
> --- a/libavcodec/nvdec_vp9.c
> +++ b/libavcodec/nvdec_vp9.c
> @@ -212,7 +212,7 @@ static int nvdec_vp9_frame_params(AVCodecContext
> *avctx, return ff_nvdec_frame_params(avctx, hw_frames_ctx, 8);
>  }
>  
> -AVHWAccel ff_vp9_nvdec_hwaccel = {
> +const AVHWAccel ff_vp9_nvdec_hwaccel = {
>      .name                 = "vp9_nvdec",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_VP9,
> diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c
> index c7f9d7bcb4..5854587a25 100644
> --- a/libavcodec/vaapi_h264.c
> +++ b/libavcodec/vaapi_h264.c
> @@ -388,7 +388,7 @@ static int vaapi_h264_decode_slice(AVCodecContext
> *avctx, return 0;
>  }
>  
> -AVHWAccel ff_h264_vaapi_hwaccel = {
> +const AVHWAccel ff_h264_vaapi_hwaccel = {
>      .name                 = "h264_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_H264,
> diff --git a/libavcodec/vaapi_hevc.c b/libavcodec/vaapi_hevc.c
> index 718ccc92a2..19aabcdb52 100644
> --- a/libavcodec/vaapi_hevc.c
> +++ b/libavcodec/vaapi_hevc.c
> @@ -423,7 +423,7 @@ static int vaapi_hevc_decode_slice(AVCodecContext
> *avctx, return 0;
>  }
>  
> -AVHWAccel ff_hevc_vaapi_hwaccel = {
> +const AVHWAccel ff_hevc_vaapi_hwaccel = {
>      .name                 = "hevc_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_HEVC,
> diff --git a/libavcodec/vaapi_mpeg2.c b/libavcodec/vaapi_mpeg2.c
> index fd5be8d8ae..aaed434c88 100644
> --- a/libavcodec/vaapi_mpeg2.c
> +++ b/libavcodec/vaapi_mpeg2.c
> @@ -172,7 +172,7 @@ static int
> vaapi_mpeg2_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
> return 0; }
>  
> -AVHWAccel ff_mpeg2_vaapi_hwaccel = {
> +const AVHWAccel ff_mpeg2_vaapi_hwaccel = {
>      .name                 = "mpeg2_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_MPEG2VIDEO,
> diff --git a/libavcodec/vaapi_mpeg4.c b/libavcodec/vaapi_mpeg4.c
> index 3fe029186e..11860ff747 100644
> --- a/libavcodec/vaapi_mpeg4.c
> +++ b/libavcodec/vaapi_mpeg4.c
> @@ -178,7 +178,7 @@ static int
> vaapi_mpeg4_decode_slice(AVCodecContext *avctx, const uint8_t
> *buffer } 
>  #if CONFIG_MPEG4_VAAPI_HWACCEL
> -AVHWAccel ff_mpeg4_vaapi_hwaccel = {
> +const AVHWAccel ff_mpeg4_vaapi_hwaccel = {
>      .name                 = "mpeg4_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_MPEG4,
> @@ -196,7 +196,7 @@ AVHWAccel ff_mpeg4_vaapi_hwaccel = {
>  #endif
>  
>  #if CONFIG_H263_VAAPI_HWACCEL
> -AVHWAccel ff_h263_vaapi_hwaccel = {
> +const AVHWAccel ff_h263_vaapi_hwaccel = {
>      .name                 = "h263_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_H263,
> diff --git a/libavcodec/vaapi_vc1.c b/libavcodec/vaapi_vc1.c
> index 49675744cd..525376790e 100644
> --- a/libavcodec/vaapi_vc1.c
> +++ b/libavcodec/vaapi_vc1.c
> @@ -388,7 +388,7 @@ static int vaapi_vc1_decode_slice(AVCodecContext
> *avctx, const uint8_t *buffer, }
>  
>  #if CONFIG_WMV3_VAAPI_HWACCEL
> -AVHWAccel ff_wmv3_vaapi_hwaccel = {
> +const AVHWAccel ff_wmv3_vaapi_hwaccel = {
>      .name                 = "wmv3_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_WMV3,
> @@ -405,7 +405,7 @@ AVHWAccel ff_wmv3_vaapi_hwaccel = {
>  };
>  #endif
>  
> -AVHWAccel ff_vc1_vaapi_hwaccel = {
> +const AVHWAccel ff_vc1_vaapi_hwaccel = {
>      .name                 = "vc1_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_VC1,
> diff --git a/libavcodec/vaapi_vp9.c b/libavcodec/vaapi_vp9.c
> index f295dc9ebb..f384ba7873 100644
> --- a/libavcodec/vaapi_vp9.c
> +++ b/libavcodec/vaapi_vp9.c
> @@ -168,7 +168,7 @@ static int vaapi_vp9_decode_slice(AVCodecContext
> *avctx, return 0;
>  }
>  
> -AVHWAccel ff_vp9_vaapi_hwaccel = {
> +const AVHWAccel ff_vp9_vaapi_hwaccel = {
>      .name                 = "vp9_vaapi",
>      .type                 = AVMEDIA_TYPE_VIDEO,
>      .id                   = AV_CODEC_ID_VP9,
> diff --git a/libavcodec/vdpau_h264.c b/libavcodec/vdpau_h264.c
> index 70f83d76f5..2a260f76ab 100644
> --- a/libavcodec/vdpau_h264.c
> +++ b/libavcodec/vdpau_h264.c
> @@ -262,7 +262,7 @@ static int vdpau_h264_init(AVCodecContext *avctx)
>      return ff_vdpau_common_init(avctx, profile, level);
>  }
>  
> -AVHWAccel ff_h264_vdpau_hwaccel = {
> +const AVHWAccel ff_h264_vdpau_hwaccel = {
>      .name           = "h264_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H264,
> diff --git a/libavcodec/vdpau_hevc.c b/libavcodec/vdpau_hevc.c
> index 70e76cfcaa..421135bce2 100644
> --- a/libavcodec/vdpau_hevc.c
> +++ b/libavcodec/vdpau_hevc.c
> @@ -413,7 +413,7 @@ static int vdpau_hevc_init(AVCodecContext *avctx)
>      return ff_vdpau_common_init(avctx, profile, level);
>  }
>  
> -AVHWAccel ff_hevc_vdpau_hwaccel = {
> +const AVHWAccel ff_hevc_vdpau_hwaccel = {
>      .name           = "hevc_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_HEVC,
> diff --git a/libavcodec/vdpau_mpeg12.c b/libavcodec/vdpau_mpeg12.c
> index 71fe889abf..d286e7e57d 100644
> --- a/libavcodec/vdpau_mpeg12.c
> +++ b/libavcodec/vdpau_mpeg12.c
> @@ -103,7 +103,7 @@ static int vdpau_mpeg1_init(AVCodecContext *avctx)
>                                  VDP_DECODER_LEVEL_MPEG1_NA);
>  }
>  
> -AVHWAccel ff_mpeg1_vdpau_hwaccel = {
> +const AVHWAccel ff_mpeg1_vdpau_hwaccel = {
>      .name           = "mpeg1_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG1VIDEO,
> @@ -138,7 +138,7 @@ static int vdpau_mpeg2_init(AVCodecContext *avctx)
>      return ff_vdpau_common_init(avctx, profile,
> VDP_DECODER_LEVEL_MPEG2_HL); }
>  
> -AVHWAccel ff_mpeg2_vdpau_hwaccel = {
> +const AVHWAccel ff_mpeg2_vdpau_hwaccel = {
>      .name           = "mpeg2_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG2VIDEO,
> diff --git a/libavcodec/vdpau_mpeg4.c b/libavcodec/vdpau_mpeg4.c
> index 653ef7e7e7..96f83026a8 100644
> --- a/libavcodec/vdpau_mpeg4.c
> +++ b/libavcodec/vdpau_mpeg4.c
> @@ -110,7 +110,7 @@ static int vdpau_mpeg4_init(AVCodecContext *avctx)
>      return ff_vdpau_common_init(avctx, profile, avctx->level);
>  }
>  
> -AVHWAccel ff_mpeg4_vdpau_hwaccel = {
> +const AVHWAccel ff_mpeg4_vdpau_hwaccel = {
>      .name           = "mpeg4_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG4,
> diff --git a/libavcodec/vdpau_vc1.c b/libavcodec/vdpau_vc1.c
> index 73d83f6577..671baf96b4 100644
> --- a/libavcodec/vdpau_vc1.c
> +++ b/libavcodec/vdpau_vc1.c
> @@ -136,7 +136,7 @@ static int vdpau_vc1_init(AVCodecContext *avctx)
>  }
>  
>  #if CONFIG_WMV3_VDPAU_HWACCEL
> -AVHWAccel ff_wmv3_vdpau_hwaccel = {
> +const AVHWAccel ff_wmv3_vdpau_hwaccel = {
>      .name           = "wm3_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_WMV3,
> @@ -153,7 +153,7 @@ AVHWAccel ff_wmv3_vdpau_hwaccel = {
>  };
>  #endif
>  
> -AVHWAccel ff_vc1_vdpau_hwaccel = {
> +const AVHWAccel ff_vc1_vdpau_hwaccel = {
>      .name           = "vc1_vdpau",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_VC1,
> diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> index 9eeada30ba..67f1477061 100644
> --- a/libavcodec/videotoolbox.c
> +++ b/libavcodec/videotoolbox.c
> @@ -1027,7 +1027,7 @@ static int
> videotoolbox_frame_params(AVCodecContext *avctx, return 0;
>  }
>  
> -AVHWAccel ff_h263_videotoolbox_hwaccel = {
> +const AVHWAccel ff_h263_videotoolbox_hwaccel = {
>      .name           = "h263_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H263,
> @@ -1042,7 +1042,7 @@ AVHWAccel ff_h263_videotoolbox_hwaccel = {
>      .priv_data_size = sizeof(VTContext),
>  };
>  
> -AVHWAccel ff_hevc_videotoolbox_hwaccel = {
> +const AVHWAccel ff_hevc_videotoolbox_hwaccel = {
>      .name           = "hevc_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_HEVC,
> @@ -1058,7 +1058,7 @@ AVHWAccel ff_hevc_videotoolbox_hwaccel = {
>      .priv_data_size = sizeof(VTContext),
>  };
>  
> -AVHWAccel ff_h264_videotoolbox_hwaccel = {
> +const AVHWAccel ff_h264_videotoolbox_hwaccel = {
>      .name           = "h264_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_H264,
> @@ -1074,7 +1074,7 @@ AVHWAccel ff_h264_videotoolbox_hwaccel = {
>      .priv_data_size = sizeof(VTContext),
>  };
>  
> -AVHWAccel ff_mpeg1_videotoolbox_hwaccel = {
> +const AVHWAccel ff_mpeg1_videotoolbox_hwaccel = {
>      .name           = "mpeg1_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG1VIDEO,
> @@ -1089,7 +1089,7 @@ AVHWAccel ff_mpeg1_videotoolbox_hwaccel = {
>      .priv_data_size = sizeof(VTContext),
>  };
>  
> -AVHWAccel ff_mpeg2_videotoolbox_hwaccel = {
> +const AVHWAccel ff_mpeg2_videotoolbox_hwaccel = {
>      .name           = "mpeg2_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG2VIDEO,
> @@ -1104,7 +1104,7 @@ AVHWAccel ff_mpeg2_videotoolbox_hwaccel = {
>      .priv_data_size = sizeof(VTContext),
>  };
>  
> -AVHWAccel ff_mpeg4_videotoolbox_hwaccel = {
> +const AVHWAccel ff_mpeg4_videotoolbox_hwaccel = {
>      .name           = "mpeg4_videotoolbox",
>      .type           = AVMEDIA_TYPE_VIDEO,
>      .id             = AV_CODEC_ID_MPEG4,

LGTM. You'll need to handle the extra nvdec hwaccels I added too. Sorry.


--phil


More information about the ffmpeg-devel mailing list