⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 img_comm.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 2 页
字号:
    kal_uint16 overlay_frame_width;             /* overlay frame width */
    kal_uint16 overlay_frame_height;            /* overlay frame height */
    kal_uint32 overlay_frame_buffer_address;    /* bsae address of the overlay frame buffer */

    kal_uint8 image_quality;
    kal_uint8 jpeg_yuv_mode;

    kal_uint32 jpeg_file_start_address1;
    kal_uint32 jpeg_file_buffer_size1;

    kal_bool image_pitch_mode;      /* KAL_TRUE or KAL_FALSE for block mode of decoded image */
    kal_uint8 image_data_format;    /* IMGDMA_IBW_OUTPUT_RGB565 or IMGDMA_IBW_OUTPUT_RGB888 */
    kal_uint16 image_pitch_bytes;   /* pitch width */

    kal_bool display;           /* output to LCM or TV */
    kal_uint16 display_width;   /* image width for display on LCM or TV */
    kal_uint16 display_height;  /* image height for display on LCM or TV */
    kal_uint32 frame_buffer_address;
    kal_uint32 frame_buffer_size;

    void (*cam_capture_jpeg_cb) (kal_uint8 return_code);
} camera_capture_jpeg_data_path_struct;

typedef struct
{
    kal_uint32 intmem_start_address;
    kal_uint32 intmem_size;
    kal_uint32 extmem_start_address;
    kal_uint32 extmem_size;

    kal_uint16 image_src_width;         /* image width that come from ISP */
    kal_uint16 image_src_height;        /* image width that come from ISP */
    kal_uint16 barcode_image_width;     /* captured picture width */
    kal_uint16 barcode_image_height;    /* captured picture height */

    kal_uint32 barcode_buffer_address;
    kal_uint32 barcode_buffer_size;
    kal_uint8 barcode_image_data_format;

    kal_bool image_pitch_mode;      /* KAL_TRUE or KAL_FALSE for block mode of decoded image */
    kal_uint8 image_data_format;    /* IMGDMA_IBW_OUTPUT_RGB565 or IMGDMA_IBW_OUTPUT_RGB888 */
    kal_uint16 image_pitch_bytes;   /* pitch width */

    kal_uint16 display_width;           /* image width for display on LCM or TV */
    kal_uint16 display_height;          /* image height for display on LCM or TV */
    kal_uint32 frame_buffer_address;    /* image buffer for LCM source buffer */
    kal_uint32 frame_buffer_address1;   /* second image buffer for LCM source buffer */
    kal_uint32 frame_buffer_size;       /* image buffer size of LCM source buffer */
    kal_uint32 frame_buffer_size1;

    void (*cam_capture_barcode_cb) (kal_uint8 return_code);
} camera_capture_barcode_data_path_struct;

typedef struct
{
    kal_uint32 intmem_start_address;
    kal_uint32 intmem_size;
    kal_uint32 extmem_start_address;
    kal_uint32 extmem_size;

    kal_uint16 image_src_width;
    kal_uint16 image_src_height;
    kal_uint16 image_capture_width;
    kal_uint16 image_capture_height;

    kal_uint8 overlay_frame_mode;
    kal_uint8 overlay_color_depth;
    kal_uint8 overlay_frame_source_key;
    kal_uint16 overlay_frame_width;
    kal_uint16 overlay_frame_height;
    kal_uint32 overlay_frame_buffer_address;

    kal_bool image_pitch_mode;      /* KAL_TRUE or KAL_FALSE for block mode of decoded image */
    kal_uint8 image_data_format;    /* IMGDMA_IBW_OUTPUT_RGB565 or IMGDMA_IBW_OUTPUT_RGB888 */
    kal_uint16 image_pitch_bytes;   /* pitch width */

    kal_bool image_clip_mode;   /* KAL_TRUE or KAL_FALSE for clipping image */
    kal_uint16 image_clip_x1;   /* clip window start x for clipping captured image */
    kal_uint16 image_clip_x2;   /* clip window end x for clipping captured image */
    kal_uint16 image_clip_y1;   /* clip window start y for clipping captured image */
    kal_uint16 image_clip_y2;   /* clip window end y for clipping captured image */

    kal_uint32 frame_buffer_address;
    kal_uint32 frame_buffer_size;
} camera_capture_mem_data_path_struct;

typedef struct
{
    kal_uint32 intmem_start_address;
    kal_uint32 intmem_size;
    kal_uint32 extmem_start_address;
    kal_uint32 extmem_size;

    kal_uint16 image_src_width;
    kal_uint16 image_src_height;
    kal_uint16 display_width;
    kal_uint16 display_height;
    kal_uint16 encode_width;
    kal_uint16 encode_height;

    kal_uint8 overlay_frame_mode;
    kal_uint8 overlay_color_depth;
    kal_uint8 overlay_frame_source_key;
    kal_uint16 overlay_frame_width;
    kal_uint16 overlay_frame_height;
    kal_uint32 overlay_frame_buffer_address;

    kal_bool image_pitch_mode;      /* KAL_TRUE or KAL_FALSE for block mode of decoded image */
    kal_uint8 image_data_format;    /* IMGDMA_IBW_OUTPUT_RGB565 or IMGDMA_IBW_OUTPUT_RGB888 */
    kal_uint16 image_pitch_bytes;   /* pitch width */

    kal_uint32 frame_buffer_address;
    kal_uint32 frame_buffer_size;

    kal_bool tv_output;
    kal_uint16 tv_output_width;             /* image width for TV output */
    kal_uint16 tv_output_height;            /* image height for TV output */
    kal_uint16 tv_output_offset_x;          /* the offset X from TV output frame buffer to preview image */
    kal_uint16 tv_output_offset_y;          /* the offset Y from TV output frame buffer to preview image */
    kal_uint32 tv_output_buffer1_address;   /* image buffer1 for TV source buffer */
    kal_uint32 tv_output_buffer2_address;   /* image buffer2 for TV source buffer */
    kal_uint32 tv_output_buffer_size;
    void (*video_encode_cb) (kal_uint32 yuv_address);
} video_encode_data_path_struct;

typedef struct
{
    kal_uint16 video_src_width;
    kal_uint16 video_src_height;
    kal_uint16 display_width;
    kal_uint16 display_height;

    kal_bool   pan;   /*when pan is enable, we use resize_width and resize_height as resizer target size*/        
    kal_uint16 resize_tar_width;
    kal_uint16 resize_tar_height;
        
    
    kal_uint32 video_y_buffer_address;
    kal_uint32 video_u_buffer_address;
    kal_uint32 video_v_buffer_address;

    kal_uint8 contrast_level;   /* IPP contrast gain level */
    kal_uint8 brightness_level; /* IPP brightness level */

    kal_bool force_lcd_hw_trigger;
    kal_bool discard_frame_address;

    kal_bool image_pitch_mode;      /* KAL_TRUE or KAL_FALSE for block mode of decoded image */
    kal_uint8 image_data_format;    /* IMGDMA_IBW_OUTPUT_RGB565 or IMGDMA_IBW_OUTPUT_RGB888 */
    kal_uint16 image_pitch_bytes;   /* pitch width */

    kal_uint32 frame_buffer_address;
    kal_uint32 frame_buffer_size;

    kal_bool display;   /* Enable/Disable to display decoded image on LCM and TV */
    kal_bool drop_lcm_frame;
    kal_bool tv_output; /* Enable/Disable to display decoded image on TV, only take effect when
                           display is KAL_TRUE */
	/*for tvout display size*/
	 kal_uint16 tv_output_display_width;
    kal_uint16 tv_output_display_height;

    kal_uint16 tv_output_width;         /* image width for TV output */
    kal_uint16 tv_output_height;        /* image height for TV output */
    kal_uint16 tv_output_offset_x;      /* the offset X from TV output frame buffer to preview image */
    kal_uint16 tv_output_offset_y;      /* the offset Y from TV output frame buffer to preview image */
    kal_uint16 video_display_offset_x;  /* X offset of displayed image from ROI window */
    kal_uint16 video_display_offset_y;  /* Y offset of displayed image from ROI window */
} video_decode_data_path_struct;

extern MMDI_SCENERIO_ID current_image_data_path_owner;
extern camera_preview_data_path_struct camera_preview_config_data;
extern camera_capture_jpeg_data_path_struct camera_capture_jpeg_config_data;
extern camera_capture_mem_data_path_struct camera_capture_mem_config_data;
extern video_encode_data_path_struct video_encode_config_data;
extern volatile kal_uint8 current_captured_file_number;

extern tv_output_para_struct tv_output_config_data;
extern kal_uint8 tv_operation_state;

extern kal_uint8 tv_out_current_fb;
extern kal_uint8 tv_output_owner;
extern void preview_tv_buffer_rotate_cb(void);

extern volatile kal_bool ibw3_complete_flag;
extern volatile kal_bool wait_ibw3_complete;
extern volatile kal_bool ibw4_complete_flag;
extern volatile kal_bool wait_ibw4_complete;

extern void (*ibw2_cb) (void);
extern void (*vid_enc_w_cb1) (kal_uint32 yuv_address);
extern void (*vid_enc_w_cb) (void);
extern void (*vid_enc_r_cb) (void);

extern MMDI_SCENERIO_ID current_image_data_path_owner;

extern kal_bool open_image_data_path(MMDI_SCENERIO_ID scenario_id);
extern void close_image_data_path(MMDI_SCENERIO_ID scenario_id);
extern kal_uint8 config_camera_preview_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    camera_preview_data_path_struct *preview_para);
extern void reconfig_camera_preview_data_path(
                MMDI_SCENERIO_ID scenario_id,
                camera_preview_data_path_struct *preview_para);
extern void close_camera_preview_data_path(void);
extern kal_uint8 config_camera_capture_jpeg_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    camera_capture_jpeg_data_path_struct *capture_para);
extern kal_uint8 config_camera_usbvideo_jpeg_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    camera_capture_jpeg_data_path_struct *capture_para);
extern void close_camera_capture_jpeg_data_path(void);
extern kal_uint8 config_camera_capture_barcode_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    camera_capture_barcode_data_path_struct *capture_para);
extern void close_camera_capture_barcode_data_path(void);
extern void get_barcode_image(void);
extern kal_uint8 config_camera_capture_mem_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    camera_capture_mem_data_path_struct *capture_para);
extern void close_camera_capture_mem_data_path(void);
extern kal_uint8 config_jpeg_encode_data_path(MMDI_SCENERIO_ID scenario_id, jpeg_encode_process_struct *jpeg_para);
extern void close_jpeg_encode_data_path(void);
extern kal_uint8 config_jpeg_decode_data_path(MMDI_SCENERIO_ID scenario_id, jpeg_decode_process_struct *jpeg_para);
extern void close_jpeg_decode_data_path(void);
extern kal_uint8 config_jpeg_resize_data_path(MMDI_SCENERIO_ID scenario_id, jpeg_file_resize_struct *jpeg_para);
extern void close_jpeg_resize_data_path(void);
extern kal_uint8 config_image_resize_data_path(MMDI_SCENERIO_ID scenario_id, resize_struct *resize_para);
extern void close_image_resize_data_path(void);
extern kal_uint8 config_video_encode_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    video_encode_data_path_struct *video_para);
extern void reconfig_video_encode_data_path(MMDI_SCENERIO_ID scenario_id, video_encode_data_path_struct *video_para);
extern void close_video_encode_data_path(void);
extern kal_uint8 config_video_decode_data_path(
                    MMDI_SCENERIO_ID scenario_id,
                    video_decode_data_path_struct *video_para,
                    lcd_frame_update_struct *lcd_para);
extern void video_decode_display(video_decode_data_path_struct *video_para);
extern void close_video_decode_data_path(void);
extern kal_uint8 config_filter_effect_data_path(ipp_effect_struct *ipp_para);
extern kal_uint8 config_pixel_effect_data_path(ipp_effect_struct *ipp_para);
extern void close_image_effect_data_path(void);
/**/

/* Function in img_comm_jpeg.c */
extern void config_jpeg_capture_path(camera_capture_jpeg_data_path_struct *capture_para);
extern void close_jpeg_module(kal_bool encode, kal_bool decode, kal_bool power_down);
extern void config_jpeg_usbvideo_path(camera_capture_jpeg_data_path_struct *capture_para);
extern void config_jpeg_encode_path(jpeg_encode_process_struct *jpeg_para);
extern void config_jpeg_resize_path(jpeg_file_resize_struct *jpeg_para);

#endif 
#endif /* _IMG_COMM_H */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -