def _stride_yuv_size(self, width, height, width_align_factor=16, height_align_factor=2): stride_width = utils.align_up(width, width_align_factor) stride_height = utils.align_up(height, height_align_factor) stride_size = utils.yuv420sp_size(stride_width, stride_height) return stride_width, stride_height, stride_size
def _gen_input_pic_desc(self, image, width_align_factor=16, height_align_factor=2): # Create input image stride_width = utils.align_up(image.width, width_align_factor) stride_height = utils.align_up(image.height, height_align_factor) pic_desc = acl.media.dvpp_create_pic_desc() acl.media.dvpp_set_pic_desc_data(pic_desc, image.data()) acl.media.dvpp_set_pic_desc_format( pic_desc, constants.PIXEL_FORMAT_YUV_SEMIPLANAR_420) acl.media.dvpp_set_pic_desc_width(pic_desc, image.width) acl.media.dvpp_set_pic_desc_height(pic_desc, image.height) acl.media.dvpp_set_pic_desc_width_stride(pic_desc, stride_width) acl.media.dvpp_set_pic_desc_height_stride(pic_desc, stride_height) acl.media.dvpp_set_pic_desc_size(pic_desc, image.size) return pic_desc
def _gen_output_pic_desc(self, width, height, output_buffer, output_buffer_size, width_align_factor=16, height_align_factor=2): # Create output image stride_width = utils.align_up(width, width_align_factor) stride_height = utils.align_up(height, height_align_factor) pic_desc = acl.media.dvpp_create_pic_desc() acl.media.dvpp_set_pic_desc_data(pic_desc, output_buffer) acl.media.dvpp_set_pic_desc_format( pic_desc, constants.PIXEL_FORMAT_YUV_SEMIPLANAR_420) acl.media.dvpp_set_pic_desc_width(pic_desc, width) acl.media.dvpp_set_pic_desc_height(pic_desc, height) acl.media.dvpp_set_pic_desc_width_stride(pic_desc, stride_width) acl.media.dvpp_set_pic_desc_height_stride(pic_desc, stride_height) acl.media.dvpp_set_pic_desc_size(pic_desc, output_buffer_size) return pic_desc