📄 med_context.h
字号:
#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 + -