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

📄 med_context.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 3 页
字号:

#ifdef SLIM_AUDIO_PROFILE
    kal_wchar current_file_name[128];
#else 
    kal_wchar current_file_name[MAX_FILE_NAME_LEN];
#endif 
    kal_int32 current_file_handle;
    kal_int16 current_format;

    kal_uint16 *ring_buf;
    kal_uint16 *buf_p;
    kal_uint32 buf_len;
    kal_uint32 offset;
    kal_bool processing_data;
    kal_bool audio_end; /* For streaming play to end of file(last fetch) */

    kal_bool speech_on;

    /* from uem for acoustic data */
    kal_uint8 audio_mode;
    kal_uint8 func_id;
    custom_acoustic_struct acoustic_data;

    /* Audio parameters */
    audio_param_struct audio_param;

    kal_bool tone_playing;
    kal_uint8 melody_output_device;

    /* for multiple play */
#ifdef __MED_MMA_MOD__
    kal_uint32 mplay_flag;
    aud_player_struct player[MMA_NO_OF_PLAYER];
    kal_bool midi_device_opening;
    kal_int32 midi_device_handle;

#endif /* __MED_MMA_MOD__ */ 

    kal_uint8 play_mode;
    kal_bool disc_full;

#ifdef DEDI_AMR_REC_BUFFER
    void *amr_buffer_p;
    kal_uint32 amr_buffer_size;
#endif /* DEDI_AMR_REC_BUFFER */ 

#ifdef VM_SUPPORT
    aud_vm_local_info_struct vm_info;
    kal_uint8 vm_rec_dir;
    kal_uint8 vm_sp_type;
    kal_bool delete_all;

#ifdef VM_LOG
    kal_bool vm_logging;
    kal_uint8 vm_id;
#endif /* VM_LOG */ 

#endif /* VM_SUPPORT */ 

    /* for real resume mechanism */
    kal_uint32 last_seq_no;
    kal_uint32 last_time;
    Media_Handle *last_handle;
    MHdl *last_mhdl_handle;

    /* for play file portion */
    kal_uint32 start_offset;
    kal_uint32 end_offset;

    /* For record input source */
    kal_uint8 input_device;
    kal_bool use_default_input;

    kal_bool audio_mute;
}
aud_context_struct;

#ifdef __MED_SND_MOD__

typedef struct
{
    module_type src_mod;
    kal_uint8 state;
    kal_uint32 snd_handle;
} aud_snd_context_struct;

#endif /* __MED_SND_MOD__ */ 

#ifdef __MED_APP_MOD__

typedef struct
{
    kal_uint8 state_3d;
    kal_uint8 state_stretch;
} aud_app_context_struct;

#endif /* __MED_APP_MOD__ */ 

#ifdef __MED_CAM_MOD__

typedef struct
{
    kal_uint8 state;            /* Camera module state */
    module_type src_mod;        /* the source module of request */
    kal_eventgrpid cam_event;   /* the event group of camera module */

    kal_uint8 media_mode;       /* media mode, FILE, ARRAY, STREAM */
    kal_int32 file_handle;      /* the file handle of the file */
    kal_wchar *file_name_p;     /* the file name pointer */
    kal_uint32 *file_size_p;    /* the file size pointer for capture result */
    kal_uint16 seq_num;         /* sequence num */

    kal_uint8 source_device;
    kal_uint8 image_quality;    /* image quality */
    kal_int16 lcd_rotate;       /* LCD rotate value */
    kal_uint8 continue_capture;

#if defined (CAMERA_MODULE)
    kal_bool delay_power_down;          /* delay power down flag, True: delay power down is on */
    kal_uint16 power_up_check_conut;    /* the power up retry count in case of camera module failed */
    kal_uint16 preview_check_conut;     /* the preview check count in case of camera module failed */
    kal_uint16 preview_retry_conut;     /* the preview retry count in case of camera module failed */
    kal_uint16 capture_check_conut;     /* the capture check count in case of camera module failed */
    kal_uint16 capture_retry_conut;     /* the capture retry count in case of camera module failed */
#endif /* defined (CAMERA_MODULE) */ 

    kal_uint32 intmem_start_address;    /* internal memory start address for hardware engine buffer */
    kal_uint32 intmem_size;             /* internal memory size for hardware engine buffer */
    kal_uint32 extmem_start_address;    /* external memroy start address for hardware engine buffer */
    kal_uint32 extmem_size;             /* external memory size for hardware engine buffer */
#if defined (BARCODE_SUPPORT)
    kal_uint32 barcode_buffer_address;
    kal_uint32 barcode_buffer_size;
    kal_uint32 barcode_buffer_width;
    kal_uint32 barcode_buffer_height;
    kal_uint8 *barcode_text_buf_address;
    kal_uint32 barcode_text_buf_length;
#endif
    kal_uint8 zoom_factor;      /* digital zoom factor from 10(1X) ~ 40 (4X) */
    kal_uint8 image_mirror;     /* horizonal/vertical mirror from image sensor */
    kal_uint8 contrast_level;   /* ISP contrast gain level */
    kal_uint8 brightness_level; /* ISP brightness level */
    kal_uint8 saturation_value; /* image processor saturation value */
    kal_uint8 wb_mode;          /* white balance mode */
    kal_uint8 ev_value;         /* EV adjust value */
    kal_uint8 banding_freq;     /* Banding frequency selection */
    kal_uint8 image_effect;     /* image effect for preview */
    kal_bool night_mode;        /* enable/disable camera night mode */
    kal_uint16 hue_value;       /* image processor hue value */
    kal_uint8 frame_rate;       /* frame rate */
    kal_uint16 flash_mode;      /* AUTO, ON, OFF, REDEYE */

    /* preview screen parameters */
    kal_uint16 preview_width;       /* preview screen width */
    kal_uint16 preview_height;      /* preview screen height */
    kal_uint16 preview_offset_x;    /* preview screen offset x */
    kal_uint16 preview_offset_y;    /* preview screen offset y */
    kal_uint32 frame_buffer_p;      /* pointer of the preview image frame buffer */
    kal_uint32 int_frame_buffer_p;  /* pointer of the preview image frame buffer, mainly use for mt6227 */
    kal_uint32 ext_frame_buffer_p;  /* pointer of the preview image frame buffer, mainly use for mt6227 */
    kal_uint32 frame_buffer_size;   /* size of the preview image frame buffer */

   kal_uint16   camera_offset_x;      /* preview window start x by left/up point of layer coordinate */
   kal_uint16   camera_offset_y;      /* preview window start y by left/up point of layer coordinate */

    kal_uint32 capture_buffer_p;        /* pointer of the capture image buffer */
    void **capture_buffer_pp;           /* pointer of the capture image buffer */
    kal_uint8 snapshot_number;          /* snapshot number */
    jpegs_struct jpeg_file_info;
    jpegs_struct *jpeg_file_info_p;
    /* lcd layer parameters */
    kal_bool lcd_update;
    kal_uint8 lcd_id;                   /* LCD ID */
    kal_uint16 lcd_start_x;             /* the start x axis of LCM to be updated */
    kal_uint16 lcd_start_y;             /* the start y axis of LCM to be updated */
    kal_uint16 lcd_end_x;               /* the end x axis of LCM to be updated */
    kal_uint16 lcd_end_y;               /* the end y axis of LCM to be updated */
    kal_uint16 roi_offset_x;            /* the ROI window offset x from main window */
    kal_uint16 roi_offset_y;            /* the ROI window offset y from main window */
    kal_uint32 update_layer;            /* the updated layer */
    kal_uint32 hw_update_layer;         /* which layer will be applied by hw trigger or direct couple for MT6219 only */
#ifdef CAMERA_MODULE_WITH_LCD
    kal_uint32 osd_buffer_p;            /* osd buffer, for overlay LCD layers and output to OSD buffer of LCM */
#endif 
    /* LCD Setting */
    kal_uint32 roi_background_color;    /* set the background color */

    /* AF */
    kal_uint16 af_zone0_x;  /* AF Zone 0 X-coordinate, (0,0) means left-top corner */
    kal_uint16 af_zone0_y;  /* AF Zone 0 Y-coordinate */
    kal_uint16 af_zone1_x;  /* AF Zone 1 X-coordinate */
    kal_uint16 af_zone1_y;  /* AF Zone 1 Y-coordinate */
    kal_uint16 af_zone2_x;  /* AF Zone 2 X-coordinate */
    kal_uint16 af_zone2_y;  /* AF Zone 2 Y-coordinate */
    kal_uint16 af_zone3_x;  /* AF Zone 3 X-coordinate */
    kal_uint16 af_zone3_y;  /* AF Zone 3 Y-coordinate */
    kal_uint16 af_zone4_x;  /* AF Zone 4 X-coordinate */
    kal_uint16 af_zone4_y;  /* AF Zone 4 Y-coordinate */

#if defined(MT6226) || defined(MT6226M) || defined(MT6227)
    /* ISP Setting */
    kal_uint8 dsc_mode;         /* NORMALSCENE, PORTRAIT, LANDSCAPE, SPORT, FLOWER, NIGHTSCENE, TV, AV, ISO */
    kal_uint8 ae_metering_mode; /* AUTO, SPOT, CENTRAL WEIGHT, AVERAGE */
    kal_uint8 af_mode;          /* AUTO, MACRO, INFINITE, MANUAL */
    kal_uint8 af_metering_mode; /* SINGLE, MULTI3, MULTI5 */
#elif MT6228_SERIES
    /* ISP Setting */
    kal_bool manual_wb;         /* KAL_TRUE or KAL_FALSE to enable or disable manual white balance */
    kal_uint8 iso_setting;      /* AUTO, 100, 200, 400 */
    kal_uint8 dsc_mode;         /* NORMALSCENE, PORTRAIT, LANDSCAPE, SPORT, FLOWER, NIGHTSCENE, TV, AV, ISO */
    kal_uint8 ae_metering_mode; /* AUTO, SPOT, CENTRAL WEIGHT, AVERAGE */
    kal_uint8 af_mode;          /* AUTO, MACRO, INFINITE, MANUAL */
    kal_uint8 af_metering_mode; /* SINGLE, MULTI3, MULTI5 */
    kal_uint16 tv_setting;      /* Shutter Priority Value Setting */
    kal_uint8 av_setting;       /* Aperture Priority Value Setting */

    /* IPP Setting */
    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 overlay_frame_mode;                /* KAL_TRUE or KAL_FALSE to enable or disable overlay function */
    kal_uint8 overlay_color_depth;              /* The color depth of overlay frame buffer */
    kal_uint8 overlay_frame_source_key;
    kal_uint16 overlay_frame_width;             /* Image width of overlay frame buffer */
    kal_uint16 overlay_frame_height;            /* Image height of overlay frame buffer */
    kal_uint32 overlay_frame_buffer_address;    /* The starting address of overlay frame buffer */
    /* TV Setting */
    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_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;           /* image buffer size for TV source buffer */
#endif 
}
cam_context_struct;

#endif /* __MED_CAM_MOD__ */ 

#ifdef __MED_IMG_MOD__
typedef struct
{
    kal_uint8 state;            /* image module state */
    module_type src_mod;        /* the source module of request */
    kal_eventgrpid img_event;   /* the event group of image module */

    kal_uint8 media_mode;       /* the media mode like file, array, stream */
    kal_uint8 media_type;       /* JPG, GIF, ... */
    kal_bool has_retried;
    kal_bool jpeg_retry_thumbnail;
    kal_uint16 prev_result;
    kal_int32 file_handle;      /* the file handle of the file */
    kal_wchar *file_name_p;     /* the file name pointer */
    kal_uint32 *file_size_p;    /* file size pointer after encoding */

    kal_uint8 retry_conut;  /* the retry count for decode/encode in case of hardware failed */
    kal_bool processing;    /* flag to indicate the decoding process is on */

    kal_uint16 seq_num;                 /* sequence num from the request */
    kal_uint32 file_buffer_address;     /* the start address of file located */
    kal_uint32 file_buffer_size;        /* the buffer size of jpeg file */
    kal_uint32 file_size;               /* the size of file to be decoded or encoded */
    kal_uint32 intmem_start_address;    /* internal memory start address for hardware engine buffer */
    kal_uint32 intmem_size;             /* internal memory size for hardware engine buffer */
    kal_uint32 extmem_start_address;    /* external memroy start address for hardware engine buffer */
    kal_uint32 extmem_size;             /* external memory size for hardware engine buffer */
    kal_uint32 image_buffer_address;    /* image buffer address for jpeg decode result */
    kal_uint32 image_buffer_size;       /* image buffer size for jpeg decode result */
    kal_uint32 image_buffer_address1;   /* image buffer address 1 for jpeg decode thumbnail if necessary */
    kal_uint16 image_width;             /* the image width after decoder and resizer */
    kal_uint16 image_height;            /* the image height after decoder and resizer */
    kal_uint16 display_width;           /* the display width after decoder and resizer */
    kal_uint16 display_height;          /* the display height after decoder and resizer */
    kal_uint16 image_clip_x1;           /* clip window start x for clipping decoded image */
    kal_uint16 image_clip_x2;           /* clip window end x for clipping decoded image */
    kal_uint16 image_clip_y1;           /* clip window start y for clipping decoded image */
    kal_uint16 image_clip_y2;           /* clip window end y for clipping decoded image */
    kal_uint8 blocking;                 /* blocking decode or not */
    void (*callback) (kal_int32 result);
}
img_context_struct;

#endif /* __MED_IMG_MOD__ */ 

#ifdef __MED_VID_MOD__

typedef struct
{
    kal_bool short_header_mode;
    kal_uint32 video_bitstream_size;
    kal_uint32 audio_bitstream_size;
    kal_uint32 video_meta_size;
    kal_uint32 audio_meta_size;
    kal_uint32 video_rm_size;
    kal_uint32 audio_rm_size;

⌨️ 快捷键说明

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