华为计算微信公众号
昇腾AI开发者公众号
华为计算微博
华为计算今日头条
#测试代码 import acl import numpy as np def align_up(value, align): return int(int((value + align - 1) / align) * align) def dvpp_get_jpeg_info(image_path): # Step 1: 初始化ACL ret = acl.init() device_id = 0 ret = acl.rt.set_device(device_id) print(f"Device {device_id} set successfully") run_mode, _ = acl.rt.get_run_mode() print(f"Run mode: {run_mode}") jpeg_data = np.fromfile(image_path, dtype=np.byte) jpeg_host_ptr = acl.util.numpy_to_ptr(jpeg_data) jpeg_size = jpeg_data.nbytes dsize = align_up(jpeg_size, 16) print(f"Loaded JPEG file: {image_path}, size: {jpeg_size} bytes, dsize: {dsize}") jpeg_device_ptr, ret = acl.media.dvpp_malloc(dsize) print(f"Device memory allocated: {hex(jpeg_device_ptr)}, size: {jpeg_size}") ret = acl.rt.memcpy(jpeg_device_ptr, dsize, jpeg_host_ptr, jpeg_size, 1) print(f"JPEG data copied from Host to Device") width, height, components, fmt, ret = acl.media.dvpp_jpeg_get_image_info_v2(jpeg_device_ptr, dsize) ret = acl.media.dvpp_free(jpeg_device_ptr) ret = acl.rt.free_host(jpeg_host_ptr) ret = acl.rt.reset_device(device_id) ret = acl.finalize() return (width, height, components, fmt) if __name__ == "__main__": # 使用示例 image_file = "1.jpg" image_file1 = "ok2.jpg" result = dvpp_get_jpeg_info(image_file)
我要发帖子
#测试代码 import acl import numpy as np def align_up(value, align): return int(int((value + align - 1) / align) * align) def dvpp_get_jpeg_info(image_path): # Step 1: 初始化ACL ret = acl.init() device_id = 0 ret = acl.rt.set_device(device_id) print(f"Device {device_id} set successfully") run_mode, _ = acl.rt.get_run_mode() print(f"Run mode: {run_mode}") jpeg_data = np.fromfile(image_path, dtype=np.byte) jpeg_host_ptr = acl.util.numpy_to_ptr(jpeg_data) jpeg_size = jpeg_data.nbytes dsize = align_up(jpeg_size, 16) print(f"Loaded JPEG file: {image_path}, size: {jpeg_size} bytes, dsize: {dsize}") jpeg_device_ptr, ret = acl.media.dvpp_malloc(dsize) print(f"Device memory allocated: {hex(jpeg_device_ptr)}, size: {jpeg_size}") ret = acl.rt.memcpy(jpeg_device_ptr, dsize, jpeg_host_ptr, jpeg_size, 1) print(f"JPEG data copied from Host to Device") width, height, components, fmt, ret = acl.media.dvpp_jpeg_get_image_info_v2(jpeg_device_ptr, dsize) ret = acl.media.dvpp_free(jpeg_device_ptr) ret = acl.rt.free_host(jpeg_host_ptr) ret = acl.rt.reset_device(device_id) ret = acl.finalize() return (width, height, components, fmt) if __name__ == "__main__": # 使用示例 image_file = "1.jpg" image_file1 = "ok2.jpg" result = dvpp_get_jpeg_info(image_file)