用户您好,请详细描述您所遇到的问题。
1.硬件获取渠道:
2.当前系统镜像版本:
3.当前天工开物版本:
4.问题定位:
5.开发的demo/案例:
问题描述:
代码实现和配置文件如下:
hb_vio_buffer_t src_gdc_buf;
hb_vio_buffer_t dst_gdc_buf;
hb_vio_buffer_t src_pym_buf;
int ret = hb_vio_get_data(pipe_id, HB_VIO_GDC_FEEDBACK_SRC_DATA, &src_gdc_buf);
int y_size = src_gdc_buf.img_addr.stride_size * src_gdc_buf.img_addr.height;
memcpy(src_gdc_buf.img_addr.addr[0], buffer_y, y_size);
memcpy(src_gdc_buf.img_addr.addr[1], buffer_uv, y_size/2);
ret = hb_vio_run_gdc(pipe_id, &src_gdc_buf, &dst_gdc_buf, need_gdc_process);
ret = hb_vio_get_data(pipe_id, HB_VIO_PYM_FEEDBACK_SRC_DATA, &src_pym_buf);
y_size = src_pym_buf.img_addr.stride_size * src_pym_buf.img_addr.height;
memcpy(src_pym_buf.img_addr.addr[0], dst_gdc_buf.img_addr.addr[0], y_size);
memcpy(src_pym_buf.img_addr.addr[1], dst_gdc_buf.img_addr.addr[1], y_size/2);
ret = hb_vio_run_pym(pipe_id, &src_pym_buf);
配置文件:
{
"pipeline0": {
"pym": {
"pym_config": {
"pym_hw_id":2,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 1920,
"src_in_height": 1080,
"src_in_stride_y": 1920,
"src_in_stride_uv": 1920,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 1920,
"src_region_height": 1080,
"src_out_stride_y": 1920,
"src_out_stride_uv": 1920,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 1,
"gs_en": 1,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 960,
"gs_region_height": 540,
"gs_stride_y": 960,
"gs_stride_uv": 960
}
],
"bl_max_layer_en": 1,
"bl_en": 0,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 0,
"ds_roi_sel": 2,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":1920,
"input_height":1080,
"output_width":1920,
"output_height":1080,
"buf_num": 8,
"fb_buf_num": 8
}
},
"pipeline1": {
"pym": {
"pym_config": {
"pym_hw_id":1,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 3840,
"src_in_height": 2160,
"src_in_stride_y": 3840,
"src_in_stride_uv": 3840,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 3840,
"src_region_height": 2160,
"src_out_stride_y": 3840,
"src_out_stride_uv": 3840,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 5,
"gs_en": 0,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 20,
"gs_start_left": 50,
"gs_region_width": 480,
"gs_region_height": 300,
"gs_stride_y": 480,
"gs_stride_uv": 480
},
{
"gs_start_top": 10,
"gs_start_left": 40,
"gs_region_width": 240,
"gs_region_height": 130,
"gs_stride_y": 240,
"gs_stride_uv": 240
},
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 130,
"gs_region_height": 70,
"gs_stride_y": 130,
"gs_stride_uv": 130
},
{
"gs_start_top": 10,
"gs_start_left": 0,
"gs_region_width": 64,
"gs_region_height": 32,
"gs_stride_y": 64,
"gs_stride_uv": 64
},
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 0,
"gs_region_height": 0,
"gs_stride_y": 0,
"gs_stride_uv": 0
}
],
"bl_max_layer_en": 2,
"bl_en": 1,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 1920,
"bl_region_height": 1080,
"bl_stride_y": 1920,
"bl_stride_uv": 1920
},
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 1,
"ds_roi_sel": 1,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":3840,
"input_height":2160,
"output_width":3840,
"output_height":2160,
"buf_num": 8,
"fb_buf_num": 8
}
},
"pipeline2": {
"pym": {
"pym_config": {
"pym_hw_id":2,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 1920,
"src_in_height": 1080,
"src_in_stride_y": 1920,
"src_in_stride_uv": 1920,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 1920,
"src_region_height": 1080,
"src_out_stride_y": 1920,
"src_out_stride_uv": 1920,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 1,
"gs_en": 1,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 960,
"gs_region_height": 540,
"gs_stride_y": 960,
"gs_stride_uv": 960
}
],
"bl_max_layer_en": 1,
"bl_en": 0,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 0,
"ds_roi_sel": 2,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":1920,
"input_height":1080,
"output_width":1920,
"output_height":1080,
"buf_num": 8,
"fb_buf_num": 8
}
},
"pipeline3": {
"pym": {
"pym_config": {
"pym_hw_id":2,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 1920,
"src_in_height": 1080,
"src_in_stride_y": 1920,
"src_in_stride_uv": 1920,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 1920,
"src_region_height": 1080,
"src_out_stride_y": 1920,
"src_out_stride_uv": 1920,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 1,
"gs_en": 1,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 960,
"gs_region_height": 540,
"gs_stride_y": 960,
"gs_stride_uv": 960
}
],
"bl_max_layer_en": 1,
"bl_en": 0,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 0,
"ds_roi_sel": 2,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":1920,
"input_height":1080,
"output_width":1920,
"output_height":1080,
"buf_num": 8,
"fb_buf_num": 8
}
},
"pipeline4": {
"pym": {
"pym_config": {
"pym_hw_id":2,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 1920,
"src_in_height": 1080,
"src_in_stride_y": 1920,
"src_in_stride_uv": 1920,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 1920,
"src_region_height": 1080,
"src_out_stride_y": 1920,
"src_out_stride_uv": 1920,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 1,
"gs_en": 1,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 960,
"gs_region_height": 540,
"gs_stride_y": 960,
"gs_stride_uv": 960
}
],
"bl_max_layer_en": 1,
"bl_en": 0,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 0,
"ds_roi_sel": 2,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":1920,
"input_height":1080,
"output_width":1920,
"output_height":1080,
"buf_num": 8,
"fb_buf_num": 8
}
},
"pipeline5": {
"pym": {
"pym_config": {
"pym_hw_id":2,
"pym_mode": 0,
"output_buf_num": 6,
"time_out": 6000,
"y_hor_coeff4": 0,
"y_hor_coeff3": 1,
"y_hor_coeff2": 1,
"y_hor_coeff1": 0,
"y_hor_coeff0": 0,
"y_ver_coeff4": 0,
"y_ver_coeff3": 1,
"y_ver_coeff2": 1,
"y_ver_coeff1": 0,
"y_ver_coeff0": 0,
"c_hor_coeff4": 0,
"c_hor_coeff3": 1,
"c_hor_coeff2": 1,
"c_hor_coeff1": 0,
"c_hor_coeff0": 0,
"c_ver_coeff4": 0,
"c_ver_coeff3": 1,
"c_ver_coeff2": 1,
"c_ver_coeff1": 0,
"c_ver_coeff0": 0,
"y_right_shift": 2,
"c_right_shift": 2
},
"pym_ctrl": {
"source_en": 1,
"src_uv_bypass": 0,
"src_in_width": 1920,
"src_in_height": 1080,
"src_in_stride_y": 1920,
"src_in_stride_uv": 1920,
"src_start_top": 0,
"src_start_left": 0,
"src_region_width": 1920,
"src_region_height": 1080,
"src_out_stride_y": 1920,
"src_out_stride_uv": 1920,
"suffix_hb_val": 68,
"prefix_hb_val": 2,
"suffix_vb_val": 20,
"prefix_vb_val": 2,
"pixel_num_before_sol": 16,
"gs_max_layer_en": 1,
"gs_en": 1,
"gs_uv_bypass": 0,
"gauss_info": [
{
"gs_start_top": 0,
"gs_start_left": 0,
"gs_region_width": 960,
"gs_region_height": 540,
"gs_stride_y": 960,
"gs_stride_uv": 960
}
],
"bl_max_layer_en": 1,
"bl_en": 0,
"bl_uv_bypass": 0,
"bilinear_info": [
{
"bl_start_top": 0,
"bl_start_left": 0,
"bl_region_width": 960,
"bl_region_height": 540,
"bl_stride_y": 960,
"bl_stride_uv": 960
}
],
"upscale_roi_en": 1,
"us_roi_uv_bypass": 0,
"us_roi_start_left": 0,
"us_roi_start_top": 0,
"us_roi_region_width": 450,
"us_roi_region_height": 240,
"us_roi_stride_y": 640,
"us_roi_stride_uv": 640,
"us_roi_out_width": 640,
"us_roi_out_height": 480,
"ds_roi_en": 1,
"ds_roi_uv_bypass": 0,
"ds_roi": [
{
"ds_roi_layer": 0,
"ds_roi_sel": 2,
"ds_roi_start_top": 190,
"ds_roi_start_left": 0,
"ds_roi_region_width": 960,
"ds_roi_region_height": 350,
"ds_roi_stride_y": 704,
"ds_roi_stride_uv": 704,
"ds_roi_out_width": 704,
"ds_roi_out_height": 256
}
],
"pre_line_int_0_set": 0,
"pre_line_int_1_set": 0,
"pre_line_int_2_set": 0,
"pre_line_int_3_set": 0,
"pre_line_int_4_set": 0,
"pre_line_int_5_set": 0,
"pre_line_int_6_set": 0,
"pre_line_int_7_set": 0
}
},
"gdc": {
"input_width":1920,
"input_height":1080,
"output_width":1920,
"output_height":1080,
"buf_num": 8,
"fb_buf_num": 8
}
}
}
