* Copyright (c) 2026 Huawei Technologies Co., Ltd.
* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
* CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
* See LICENSE in the root of the software repository for the full text of the License.
*/
#include "media_common.h"
#include "media_vpc.h"
#include "media_jpeg.h"
#include "media_vdec.h"
#include "media_venc.h"
namespace {
PyMethodDef g_methodsMedia[] = {
{"dvpp_malloc", WrapAclDvppMalloc, METH_VARARGS, "dvpp malloc memory"},
{"dvpp_malloc_with_cfg", WrapAclDvppMallocWithCfg, METH_VARARGS, "dvpp malloc memory with config"},
{"dvpp_free", WrapAclDvppFree, METH_VARARGS, "dvpp free memory"},
{"dvpp_create_channel", WrapAclDvppCreateChannel, METH_VARARGS, "dvpp create channel"},
{"dvpp_destroy_channel", WrapAclDvppDestroyChannel, METH_VARARGS, "dvpp destroy channel"},
{"dvpp_create_channel_desc", WrapAclDvppCreateChannelDesc, METH_VARARGS, "dvpp create channel desc"},
{"dvpp_destroy_channel_desc", WrapAclDvppDestroyChannelDesc, METH_VARARGS, "dvpp destroy channel desc"},
{"dvpp_set_channel_desc_param", WrapAclDvppSetChannelDescParam, METH_VARARGS, "dvpp set channel desc param"},
{"dvpp_get_channel_desc_param", WrapAclDvppGetChannelDescParam, METH_VARARGS, "dvpp get channel desc param"},
{"dvpp_get_channel_desc_channel_id", WrapAclDvppGetChannelDescChannelId, METH_VARARGS,
"dvpp get channel desc channel id"},
{"dvpp_create_pic_desc", WrapAclDvppCreatePicDesc, METH_VARARGS, "dvpp create pic desc"},
{"dvpp_destroy_pic_desc", WrapAclDvppDestroyPicDesc, METH_VARARGS, "dvpp destroy pic desc"},
{"dvpp_set_pic_desc_data", WrapAclDvppSetPicDescData, METH_VARARGS, "dvpp set pic desc data"},
{"dvpp_set_pic_desc_size", WrapAclDvppSetPicDescSize, METH_VARARGS, "dvpp set pic desc size"},
{"dvpp_set_pic_desc_format", WrapAclDvppSetPicDescFormat, METH_VARARGS, "dvpp set pic desc format"},
{"dvpp_set_pic_desc_width", WrapAclDvppSetPicDescWidth, METH_VARARGS, "dvpp set pic desc width"},
{"dvpp_set_pic_desc_height", WrapAclDvppSetPicDescHeight, METH_VARARGS, "dvpp set pic desc height"},
{"dvpp_set_pic_desc_width_stride", WrapAclDvppSetPicDescWidthStride, METH_VARARGS,
"dvpp set pic desc width stride"},
{"dvpp_set_pic_desc_height_stride", WrapAclDvppSetPicDescHeightStride, METH_VARARGS,
"dvpp set pic desc height stride"},
{"dvpp_set_pic_desc_ret_code", WrapAclDvppSetPicDescRetCode, METH_VARARGS, "dvpp set pic desc ret code"},
{"dvpp_get_pic_desc_data", WrapAclDvppGetPicDescData, METH_VARARGS, "dvpp get pic desc data"},
{"dvpp_get_pic_desc_size", WrapAclDvppGetPicDescSize, METH_VARARGS, "dvpp get pic desc size"},
{"dvpp_get_pic_desc_format", WrapAclDvppGetPicDescFormat, METH_VARARGS, "dvpp get pic desc format"},
{"dvpp_get_pic_desc_width", WrapAclDvppGetPicDescWidth, METH_VARARGS, "dvpp get pic desc width"},
{"dvpp_get_pic_desc_height", WrapAclDvppGetPicDescHeight, METH_VARARGS, "dvpp get pic desc height"},
{"dvpp_get_pic_desc_width_stride", WrapAclDvppGetPicDescWidthStride, METH_VARARGS,
"dvpp get pic desc width stride"},
{"dvpp_get_pic_desc_height_stride", WrapAclDvppGetPicDescHeightStride, METH_VARARGS,
"dvpp get pic desc height stride"},
{"dvpp_get_pic_desc_ret_code", WrapAclDvppGetPicDescRetCode, METH_VARARGS, "dvpp get pic desc ret code"},
{"dvpp_create_stream_desc", WrapAclDvppCreateStreamDesc, METH_VARARGS, "dvpp create stream desc"},
{"dvpp_destroy_stream_desc", WrapAclDvppDestroyStreamDesc, METH_VARARGS, "dvpp destroy stream desc"},
{"dvpp_set_stream_desc_data", WrapAclDvppSetStreamDescData, METH_VARARGS, "dvpp set stream desc data"},
{"dvpp_set_stream_desc_size", WrapAclDvppSetStreamDescSize, METH_VARARGS, "dvpp set stream desc size"},
{"dvpp_set_stream_desc_format", WrapAclDvppSetStreamDescFormat, METH_VARARGS, "dvpp set stream desc format"},
{"dvpp_set_stream_desc_timestamp", WrapAclDvppSetStreamDescTimestamp, METH_VARARGS,
"dvpp set stream desc timestamp"},
{"dvpp_set_stream_desc_ret_code", WrapAclDvppSetStreamDescRetCode, METH_VARARGS, "dvpp set stream desc ret code"},
{"dvpp_set_stream_desc_eos", WrapAclDvppSetStreamDescEos, METH_VARARGS, "dvpp set stream desc eos"},
{"dvpp_get_stream_desc_data", WrapAclDvppGetStreamDescData, METH_VARARGS, "dvpp get stream desc data"},
{"dvpp_get_stream_desc_size", WrapAclDvppGetStreamDescSize, METH_VARARGS, "dvpp get stream desc size"},
{"dvpp_get_stream_desc_format", WrapAclDvppGetStreamDescFormat, METH_VARARGS, "dvpp get stream desc format"},
{"dvpp_get_stream_desc_timestamp", WrapAclDvppGetStreamDescTimestamp, METH_VARARGS,
"dvpp get stream desc timestamp"},
{"dvpp_get_stream_desc_ret_code", WrapAclDvppGetStreamDescRetCode, METH_VARARGS, "dvpp get stream desc ret code"},
{"dvpp_get_stream_desc_eos", WrapAclDvppGetStreamDescEos, METH_VARARGS, "dvpp get stream desc eos"},
{"dvpp_create_batch_pic_desc", WrapAclDvppCreateBatchPicDesc, METH_VARARGS, "dvpp create batch pic desc"},
{"dvpp_destroy_batch_pic_desc", WrapAclDvppDestroyBatchPicDesc, METH_VARARGS, "dvpp destroy batch pic desc"},
{"dvpp_get_pic_desc", WrapAclDvppGetPicDesc, METH_VARARGS, "dvpp get pic desc"},
{"dvpp_vpc_resize_async", WrapAclDvppVpcResizeAsync, METH_VARARGS, "dvpp vpc resize async"},
{"dvpp_vpc_crop_async", WrapAclDvppVpcCropAsync, METH_VARARGS, "dvpp vpc resize async"},
{"dvpp_vpc_batch_crop_async", WrapAclDvppVpcBatchCropAsync, METH_VARARGS, "dvpp vpc batch crop async"},
{"dvpp_vpc_crop_and_paste_async", WrapAclDvppVpcCropAndPasteAsync, METH_VARARGS, "dvpp vpc crop and paste async"},
{"dvpp_vpc_batch_crop_and_paste_async", WrapAclDvppVpcBatchCropAndPasteAsync, METH_VARARGS,
"dvpp vpc batch crop and paste async"},
{"dvpp_vpc_crop_resize_async", WrapAclDvppVpcCropResizeAsync, METH_VARARGS, "dvpp vpc crop resize async"},
{"dvpp_vpc_batch_crop_resize_async", WrapAclDvppVpcBatchCropResizeAsync, METH_VARARGS,
"dvpp vpc batch crop resize async"},
{"dvpp_vpc_crop_resize_paste_async", WrapAclDvppVpcCropResizePasteAsync, METH_VARARGS,
"dvpp vpc crop resize paste async"},
{"dvpp_vpc_batch_crop_resize_paste_async", WrapAclDvppVpcBatchCropResizePasteAsync, METH_VARARGS,
"dvpp vpc batch crop resize paste async"},
{"dvpp_vpc_batch_crop_resize_make_border_async", WrapAclDvppVpcBatchCropResizeMakeBorderAsync, METH_VARARGS,
"dvpp vpc batch crop resize make border async"},
{"dvpp_create_roi_config", WrapAclDvppCreateRoiConfig, METH_VARARGS, "dvpp create roi config"},
{"dvpp_destroy_roi_config", WrapAclDvppDestroyRoiConfig, METH_VARARGS, "dvpp destroy roi config"},
{"dvpp_set_roi_config", WrapAclDvppSetRoiConfig, METH_VARARGS, "dvpp set roi config"},
{"dvpp_set_roi_config_left", WrapAclDvppSetRoiConfigLeft, METH_VARARGS, "dvpp set roi config left"},
{"dvpp_set_roi_config_right", WrapAclDvppSetRoiConfigRight, METH_VARARGS, "dvpp set roi config right"},
{"dvpp_set_roi_config_top", WrapAclDvppSetRoiConfigTop, METH_VARARGS, "dvpp set roi config top"},
{"dvpp_set_roi_config_bottom", WrapAclDvppSetRoiConfigBottom, METH_VARARGS, "dvpp set roi config bottom"},
{"dvpp_create_resize_config", WrapAclDvppCreateResizeConfig, METH_VARARGS, "dvpp create resize config"},
{"dvpp_destroy_resize_config", WrapAclDvppDestroyResizeConfig, METH_VARARGS, "dvpp destroy resize config"},
{"dvpp_set_resize_config_interpolation", WrapAclDvppSetResizeConfigInterpolation, METH_VARARGS,
"dvpp set resize config interpolation"},
{"dvpp_get_resize_config_interpolation", WrapAclDvppGetResizeConfigInterpolation, METH_VARARGS,
"dvpp get resize config interpolation"},
{"dvpp_jpeg_decode_async", WrapAclDvppJpegDecodeAsync, METH_VARARGS, "dvpp jpeg decode async"},
{"dvpp_jpeg_get_image_info", WrapAclDvppJpegGetImageInfo, METH_VARARGS, "dvpp jpeg get image info"},
{"dvpp_jpeg_get_image_info_v2", WrapAclDvppJpegGetImageInfoV2, METH_VARARGS, "dvpp jpeg get image info v2"},
{"dvpp_jpeg_predict_dec_size", WrapAclDvppJpegPredictDecSize, METH_VARARGS, "dvpp jpeg predict dec size"},
{"dvpp_jpeg_encode_async", WrapAclDvppJpegEncodeAsync, METH_VARARGS, "dvpp jpeg encode async"},
{"dvpp_jpeg_predict_enc_size", WrapAclDvppJpegPredictEncSize, METH_VARARGS, "dvpp jpeg predict enc size"},
{"dvpp_create_jpege_config", WrapAclDvppCreateJpegeConfig, METH_VARARGS, "dvpp create jpege config"},
{"dvpp_destroy_jpege_config", WrapAclDvppDestroyJpegeConfig, METH_VARARGS, "dvpp destroy jpege config"},
{"dvpp_set_jpege_config_level", WrapAclDvppSetJpegeConfigLevel, METH_VARARGS, "dvpp set jpege config level"},
{"dvpp_get_jpege_config_level", WrapAclDvppGetJpegeConfigLevel, METH_VARARGS, "dvpp get jpege config level"},
{"vdec_create_channel", WrapAclVdecCreateChannel, METH_VARARGS, "vdec create channel"},
{"vdec_destroy_channel", WrapAclVdecDestroyChannel, METH_VARARGS, "vdec destroy channel"},
{"vdec_create_channel_desc", WrapAclVdecCreateChannelDesc, METH_VARARGS, "vdec create channel desc"},
{"vdec_destroy_channel_desc", WrapAclVdecDestroyChannelDesc, METH_VARARGS, "vdec destroy channel desc"},
{"vdec_set_channel_desc_channel_id", WrapAclVdecSetChannelDescChannelId, METH_VARARGS,
"vdec set channel desc channel id"},
{"vdec_set_channel_desc_thread_id", WrapAclVdecSetChannelDescThreadId, METH_VARARGS,
"vdec set channel desc thread id"},
{"vdec_set_channel_desc_callback", WrapAclVdecSetChannelDescCallback, METH_VARARGS,
"vdec set channel desc callback"},
{"vdec_set_channel_desc_entype", WrapAclVdecSetChannelDescEnType, METH_VARARGS, "vdec set channel desc entype"},
{"vdec_set_channel_desc_out_pic_format", WrapAclVdecSetChannelDescOutPicFormat, METH_VARARGS,
"vdec set channel desc out pic format"},
{"vdec_set_channel_desc_out_pic_width", WrapAclVdecSetChannelDescOutPicWidth, METH_VARARGS,
"vdec set channel desc out pic width"},
{"vdec_set_channel_desc_out_pic_height", WrapAclVdecSetChannelDescOutPicHeight, METH_VARARGS,
"vdec set channel desc out pic height"},
{"vdec_set_channel_desc_ref_frame_num", WrapAclVdecSetChannelDescRefFrameNum, METH_VARARGS,
"vdec set channel desc ref frame num"},
{"vdec_get_channel_desc_channel_id", WrapAclVdecGetChannelDescChannelId, METH_VARARGS,
"vdec get channel desc channel id"},
{"vdec_get_channel_desc_thread_id", WrapAclVdecGetChannelDescThreadId, METH_VARARGS,
"vdec get channel desc thread id"},
{"vdec_get_channel_desc_callback", WrapAclVdecGetChannelDescCallback, METH_VARARGS,
"vdec get channel desc callback"},
{"vdec_get_channel_desc_entype", WrapAclVdecGetChannelDescEnType, METH_VARARGS, "vdec get channel desc entype"},
{"vdec_get_channel_desc_out_pic_format", WrapAclVdecGetChannelDescOutPicFormat, METH_VARARGS,
"vdec get channel desc out pic format"},
{"vdec_get_channel_desc_out_pic_width", WrapAclVdecGetChannelDescOutPicWidth, METH_VARARGS,
"vdec get channel desc out pic width"},
{"vdec_get_channel_desc_out_pic_height", WrapAclVdecGetChannelDescOutPicHeight, METH_VARARGS,
"vdec get channel desc out pic height"},
{"vdec_get_channel_desc_ref_frame_num", WrapAclVdecGetChannelDescRefFrameNum, METH_VARARGS,
"vdec get channel desc ref frame num"},
{"vdec_send_frame", WrapAclVdecSendFrame, METH_VARARGS, "vdec send frame"},
{"vdec_send_skipped_frame", WrapAclVdecSendSkippedFrame, METH_VARARGS, "vdec send skipped frame"},
{"vdec_create_frame_config", WrapAclVdecCreateFrameConfig, METH_VARARGS, "vdec create frame config"},
{"vdec_destroy_frame_config", WrapAclVdecDestroyFrameConfig, METH_VARARGS, "vdec destroy frame config"},
{"vdec_get_channel_desc_out_mode", WrapAclVdecGetChannelDescOutMode, METH_VARARGS,
"vdec get channel desc out mode"},
{"vdec_set_channel_desc_out_mode", WrapAclVdecSetChannelDescOutMode, METH_VARARGS,
"vdec set channel desc out mode"},
{"vdec_get_channel_desc_bit_depth", WrapAclVdecGetChannelDescBitDepth, METH_VARARGS,
"vdec get channel desc bit depth"},
{"vdec_set_channel_desc_bit_depth", WrapAclVdecSetChannelDescBitDepth, METH_VARARGS,
"vdec set channel desc bit depth"},
{"vdec_set_channel_desc_param", WrapAclVdecSetChannelDescParam, METH_VARARGS, "vdec set channel desc param"},
{"vdec_get_channel_desc_param", WrapAclVdecGetChannelDescParam, METH_VARARGS, "vdec get channel desc param"},
{"venc_create_channel", WrapAclVencCreateChannel, METH_VARARGS, "venc create channel"},
{"venc_destroy_channel", WrapAclVencDestroyChannel, METH_VARARGS, "venc destroy channel"},
{"venc_send_frame", WrapAclVencSendFrame, METH_VARARGS, "venc send frame"},
{"venc_create_channel_desc", WrapAclVencCreateChannelDesc, METH_VARARGS, "venc create channel desc"},
{"venc_destroy_channel_desc", WrapAclVencDestroyChannelDesc, METH_VARARGS, "venc destroy channel desc"},
{"venc_set_channel_desc_thread_id", WrapAclVencSetChannelDescThreadId, METH_VARARGS,
"venc set channel desc thread id"},
{"venc_set_channel_desc_callback", WrapAclVencSetChannelDescCallback, METH_VARARGS,
"venc set channel desc callback"},
{"venc_set_channel_desc_entype", WrapAclVencSetChannelDescEnType, METH_VARARGS, "venc set channel desc entype"},
{"venc_set_channel_desc_pic_format", WrapAclVencSetChannelDescPicFormat, METH_VARARGS,
"venc set channel desc pic format"},
{"venc_set_channel_desc_pic_width", WrapAclVencSetChannelDescPicWidth, METH_VARARGS,
"venc set channel desc pic width"},
{"venc_set_channel_desc_pic_height", WrapAclVencSetChannelDescPicHeight, METH_VARARGS,
"venc set channel desc pic height"},
{"venc_set_channel_desc_key_frame_interval", WrapAclVencSetChannelDescKeyFrameInterval, METH_VARARGS,
"venc set channel desc key frame interval"},
{"venc_get_channel_desc_channel_id", WrapAclVencGetChannelDescChannelId, METH_VARARGS,
"venc get channel desc channel id"},
{"venc_get_channel_desc_thread_id", WrapAclVencGetChannelDescThreadId, METH_VARARGS,
"venc get channel desc thread id"},
{"venc_get_channel_desc_callback", WrapAclVencGetChannelDescCallback, METH_VARARGS,
"venc get channel desc callback"},
{"venc_get_channel_desc_entype", WrapAclVencGetChannelDescEnType, METH_VARARGS, "venc get channel desc entype"},
{"venc_get_channel_desc_pic_format", WrapAclVencGetChannelDescPicFormat, METH_VARARGS,
"venc get channel desc pic format"},
{"venc_get_channel_desc_pic_width", WrapAclVencGetChannelDescPicWidth, METH_VARARGS,
"venc get channel desc pic width"},
{"venc_get_channel_desc_pic_height", WrapAclVencGetChannelDescPicHeight, METH_VARARGS,
"venc get channel desc pic height"},
{"venc_get_channel_desc_key_frame_interval", WrapAclVencGetChannelDescKeyFrameInterval, METH_VARARGS,
"venc get channel desc key frame interval"},
{"venc_create_frame_config", WrapAclVencCreateFrameConfig, METH_VARARGS, "venc create frame config"},
{"venc_destroy_frame_config", WrapAclVencDestroyFrameConfig, METH_VARARGS, "venc destroy frame config"},
{"venc_set_frame_config_force_i_frame", WrapAclVencSetFrameConfigForceIFrame, METH_VARARGS,
"venc set frame config force i frame"},
{"venc_set_frame_config_eos", WrapAclVencSetFrameConfigEos, METH_VARARGS, "venc set frame config eos"},
{"venc_get_frame_config_force_i_frame", WrapAclVencGetFrameConfigForceIFrame, METH_VARARGS,
"venc get frame config force i frame"},
{"venc_get_frame_config_eos", WrapAclVencGetFrameConfigEos, METH_VARARGS, "venc get frame config eos"},
{"venc_get_channel_desc_buf_addr", WrapAclVencGetChannelDescBufAddr, METH_VARARGS,
"venc get channel desc buf addr"},
{"venc_set_channel_desc_buf_addr", WrapAclVencSetChannelDescBufAddr, METH_VARARGS,
"venc set channel desc buf addr"},
{"venc_get_channel_desc_buf_size", WrapAclVencGetChannelDescBufSize, METH_VARARGS,
"venc get channel desc buf size"},
{"venc_set_channel_desc_buf_size", WrapAclVencSetChannelDescBufSize, METH_VARARGS,
"venc set channel desc buf size"},
{"venc_get_channel_desc_max_bit_rate", WrapAclVencGetChannelDescMaxBitRate, METH_VARARGS,
"venc get channel desc max bit rate"},
{"venc_set_channel_desc_max_bit_rate", WrapAclVencSetChannelDescMaxBitRate, METH_VARARGS,
"venc set channel desc max bit rate"},
{"venc_get_channel_desc_rc_mode", WrapAclVencGetChannelDescRcMode, METH_VARARGS, "venc get channel desc rc mode"},
{"venc_set_channel_desc_rc_mode", WrapAclVencSetChannelDescRcMode, METH_VARARGS, "venc set channel desc rc mode"},
{"venc_get_channel_desc_src_rate", WrapAclVencGetChannelDescSrcRate, METH_VARARGS,
"venc get channel desc src rate"},
{"venc_set_channel_desc_src_rate", WrapAclVencSetChannelDescSrcRate, METH_VARARGS,
"venc set channel desc src rate"},
{"venc_get_channel_desc_param", WrapAclVencGetChannelDescParam, METH_VARARGS, "venc get channel desc param"},
{"venc_set_channel_desc_param", WrapAclVencSetChannelDescParam, METH_VARARGS, "venc set channel desc param"},
{"dvpp_create_border_config", WrapAclDvppCreateBorderConfig, METH_VARARGS, "dvpp create border config"},
{"dvpp_destroy_border_config", WrapAclDvppDestroyBorderConfig, METH_VARARGS, "dvpp destroy border config"},
{"dvpp_set_border_config_value", WrapAclDvppSetBorderConfigValue, METH_VARARGS, "dvpp set border config value"},
{"dvpp_set_border_config_border_type", WrapAclDvppSetBorderConfigBorderType, METH_VARARGS,
"dvpp set border config border type"},
{"dvpp_set_border_config_top", WrapAclDvppSetBorderConfigTop, METH_VARARGS, "dvpp set border config top"},
{"dvpp_set_border_config_bottom", WrapAclDvppSetBorderConfigBottom, METH_VARARGS, "dvpp set border config bottom"},
{"dvpp_set_border_config_left", WrapAclDvppSetBorderConfigLeft, METH_VARARGS, "dvpp set border config left"},
{"dvpp_set_border_config_right", WrapAclDvppSetBorderConfigRight, METH_VARARGS, "dvpp set border config right"},
{"dvpp_get_border_config_value", WrapAclDvppGetBorderConfigValue, METH_VARARGS, "dvpp get border config value"},
{"dvpp_get_border_config_border_type", WrapAclDvppGetBorderConfigBorderType, METH_VARARGS,
"dvpp get border config border type"},
{"dvpp_get_border_config_top", WrapAclDvppGetBorderConfigTop, METH_VARARGS, "dvpp get border config top"},
{"dvpp_get_border_config_bottom", WrapAclDvppGetBorderConfigBottom, METH_VARARGS, "dvpp get border config bottom"},
{"dvpp_get_border_config_left", WrapAclDvppGetBorderConfigLeft, METH_VARARGS, "dvpp get border config left"},
{"dvpp_get_border_config_right", WrapAclDvppGetBorderConfigRight, METH_VARARGS, "dvpp get border config right"},
{"dvpp_vpc_convert_color_async", WrapAclDvppVpcConvertColorAsync, METH_VARARGS, "dvpp vpc convert color async"},
{"dvpp_vpc_pyr_down_async", WrapAclDvppVpcPyrDownAsync, METH_VARARGS, "dvpp vpc pyramid down async"},
{"dvpp_set_channel_desc_mode", WrapAclDvppSetChannelDescMode, METH_VARARGS, "dvpp set channel desc mode"},
{"dvpp_png_decode_async", WrapAclDvppPngDecodeAsync, METH_VARARGS, "dvpp png decode async"},
{"dvpp_png_get_image_info", WrapAclDvppPngGetImageInfo, METH_VARARGS, "dvpp png get image info"},
{"dvpp_png_predict_dec_size", WrapAclDvppPngPredictDecSize, METH_VARARGS, "dvpp png predict dec size"},
#ifdef USE_MDL
{"dvpp_create_hist", WrapAclDvppCreateHist, METH_VARARGS, "dvpp create hist"},
{"dvpp_destroy_hist", WrapAclDvppDestroyHist, METH_VARARGS, "dvpp destroy hist"},
{"dvpp_get_hist_dims", WrapAclDvppGetHistDims, METH_VARARGS, "dvpp get hist dims"},
{"dvpp_get_hist_data", WrapAclDvppGetHistData, METH_VARARGS, "dvpp get hist data"},
{"dvpp_get_hist_ret_code", WrapAclDvppGetHistRetCode, METH_VARARGS, "dvpp get hist ret code"},
{"dvpp_clear_hist", WrapAclDvppClearHist, METH_VARARGS, "dvpp clear hist"},
{"dvpp_create_lut_map", WrapAclDvppCreateLutMap, METH_VARARGS, "dvpp create lut map"},
{"dvpp_destroy_lut_map", WrapAclDvppDestroyLutMap, METH_VARARGS, "dvpp destroy lut map"},
{"dvpp_get_lut_map_dims", WrapAclDvppGetLutMapDims, METH_VARARGS, "dvpp get lut map dims"},
{"dvpp_get_lut_map_data", WrapAclDvppGetLutMapData, METH_VARARGS, "dvpp get lut map data"},
{"dvpp_vpc_equalize_hist_async", WrapAclDvppVpcEqualizeHistAsync, METH_VARARGS, "dvpp vpc equalize hist async"},
{"dvpp_vpc_make_border_async", WrapAclDvppVpcMakeBorderAsync, METH_VARARGS, "dvpp vpc make border async"},
{"dvpp_vpc_calc_hist_async", WrapAclDvppVpcCalcHistAsync, METH_VARARGS, "dvpp vpc calc hist async"},
#endif
{nullptr, nullptr, 0, nullptr}};
}
PyMethodDef* GetMediaMethods() { return g_methodsMedia; }