message: Fix libva dynamic loading
diff: @@ -15,18 +15,33 @@ typedef VAStatus (*FN_vaDestroyImage)(VADisplay dpy, VAImageID image);
  typedef VAStatus (*FN_vaMapBuffer)(VADisplay dpy, VABufferID buf_id, void **pbuf);
  typedef VAStatus (*FN_vaSyncSurface)(VADisplay dpy, VASurfaceID render_target);
  typedef VAStatus (*FN_vaUnmapBuffer)(VADisplay dpy, VABufferID buf_id);
  +typedef int (*FN_vaMaxNumImageFormats)(VADisplay dpy);
  +typedef VAStatus (*FN_vaQueryImageFormats)(VADisplay dpy, VAImageFormat *format_list, int *num_formats);
  +typedef VAStatus (*FN_vaCreateImage)(VADisplay dpy, VAImageFormat *format, int width, int height, VAImage *image);
  +typedef VAStatus (*FN_vaPutImage)(VADisplay dpy, VASurfaceID surface, VAImageID image, int src_x, int src_y, unsigned int src_width, unsigned int src_height, int dest_x, int dest_y, unsigned int dest_width, unsigned int dest_height);
  +typedef VAStatus (*FN_vaGetImage)(VADisplay dpy, VASurfaceID surface, int x, int y, unsigned int width, unsigned int height, VAImageID image);
  static FN_vaDeriveImage fn_vaDeriveImage = NULL;
  static FN_vaDestroyImage fn_vaDestroyImage = NULL;
  static FN_vaMapBuffer fn_vaMapBuffer = NULL;
  static FN_vaSyncSurface fn_vaSyncSurface = NULL;
  static FN_vaUnmapBuffer fn_vaUnmapBuffer = NULL;
  +static FN_vaMaxNumImageFormats fn_vaMaxNumImageFormats = NULL;
  +static FN_vaQueryImageFormats fn_vaQueryImageFormats = NULL;
  +static FN_vaCreateImage fn_vaCreateImage = NULL;
  +static FN_vaPutImage fn_vaPutImage = NULL;
  +static FN_vaGetImage fn_vaGetImage = NULL;
  #define vaDeriveImage fn_vaDeriveImage
  #define vaDestroyImage fn_vaDestroyImage
  #define vaMapBuffer fn_vaMapBuffer
  #define vaSyncSurface fn_vaSyncSurface
  #define vaUnmapBuffer fn_vaUnmapBuffer
  +#define vaMaxNumImageFormats fn_vaMaxNumImageFormats
  +#define vaQueryImageFormats fn_vaQueryImageFormats
  +#define vaCreateImage fn_vaCreateImage
  +#define vaPutImage fn_vaPutImage
  +#define vaGetImage fn_vaGetImage
  static std::shared_ptr<cv::plugin::impl::DynamicLib> loadLibVA()
  @@ -76,6 +91,11 @@ static void init_libva()
  VA_LOAD_SYMBOL(vaMapBuffer);
  VA_LOAD_SYMBOL(vaSyncSurface);
  VA_LOAD_SYMBOL(vaUnmapBuffer);
  + VA_LOAD_SYMBOL(vaMaxNumImageFormats);
  + VA_LOAD_SYMBOL(vaQueryImageFormats);
  + VA_LOAD_SYMBOL(vaCreateImage);
  + VA_LOAD_SYMBOL(vaPutImage);
  + VA_LOAD_SYMBOL(vaGetImage);
  initialized = true;
  }
  if (!library)
  