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

📄 med_api.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 4 页
字号:
    /* IPP Setting */
    kal_bool overlay_frame_mode;                /* KAL_TRUE or KAL_FALSE */
    kal_uint8 overlay_color_depth;              /* 1/2/4/8 bpp */
    kal_uint8 overlay_frame_source_key;         /* source key of the overlay frame buffer */
    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_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 */

    /* Display Setting */
    kal_uint8 lcd_id;
    kal_uint16 lcm_start_x;                 /* the start x axis of LCM to be updated */
    kal_uint16 lcm_start_y;                 /* the start y axis of LCM to be updated */
    kal_uint16 lcm_end_x;                   /* the end x axis of LCM to be updated */
    kal_uint16 lcm_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 */

    kal_bool display;   /* output to LCM or TV */
    kal_uint32 frame_buffer_address;
    kal_uint32 frame_buffer_size;

    kal_bool tv_output;                     /* works when display item is KAL_TRUE */
    kal_uint32 tv_output_buffer1_address;   /* image buffer1 for TV source buffer */
    kal_uint32 tv_output_buffer2_address;   /* image buffer2 for TV source buffer, if snapshot_number==1, this buffer is not necessary */
    kal_uint32 tv_output_buffer_size;       /* image buffer size for TV source buffer */
#endif /* (defined(MT6228) || defined(MT6229) || defined(MT6230)) */ 
}
cam_capture_struct;

#if defined (JPG_DECODE) || defined (JPG_ENCODE) || defined (GIF_DECODE)
/* image */

typedef struct
{
    kal_uint16 image_width;
    kal_uint16 image_height;
    kal_uint8 image_quality;
    void *image_buffer_p;
    kal_uint32 image_buffer_size;
    kal_uint16 target_width;
    kal_uint16 target_height;
    kal_uint8 media_mode;
    kal_uint8 media_type;
    void *data;
    kal_uint32 file_buffer_len;
    kal_uint32 *file_size_p;
    kal_uint16 seq_num;
    kal_uint8 blocking;
    kal_uint8 gray_mode;
#if (defined(MT6228) || defined(MT6229) || defined(MT6230))
    kal_uint8 jpeg_yuv_mode;    /* YUV420, YUV422 or Gray mode */

    kal_bool thumbnail_mode;    /* add thumbnail in JPEG file or not */
    kal_uint16 thumbnail_width;
    kal_uint16 thumbnail_height;

    kal_bool overlay_frame_mode;                /* KAL_TRUE or KAL_FALSE */
    kal_uint8 overlay_color_depth;              /* 1/2/4/8 bpp */
    kal_uint8 overlay_frame_source_key;         /* source key of the overlay frame buffer */
    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 */
#endif /* (defined(MT6228) || defined(MT6229) || defined(MT6230)) */ 
}
img_encode_struct;

typedef struct
{
    kal_uint32 src_image_address;   /* the source image buffer start address */
    kal_uint32 dest_image_address;  /* the destination image buffer start address */
    kal_uint32 dest_buffer_size;    /* the buffer size of destination image buffer size */
    kal_uint16 src_width;           /* the width of image source */
    kal_uint16 src_height;          /* the height of image source */
    kal_uint16 src_pitch;           /* the pitch width of image source */
    kal_uint16 target_width;        /* the width of target image */
    kal_uint16 target_height;       /* the height of target image */
    kal_uint16 image_clip_x1;       /* image clip window start x */
    kal_uint16 image_clip_x2;       /* image clip window end x */
    kal_uint16 image_clip_y1;       /* image clip window start y */
    kal_uint16 image_clip_y2;       /* image clip window end x */
    kal_uint16 seq_num;             /* use for non-blocking mode */
    kal_uint8 blocking;
    kal_uint8 type;                 /* IBR1_TYPE_RGB565 or IBR1_TYPE_RGB888 */
    kal_uint8 data_order;           /* IBR1_ORDER_BGR888 or IBR1_ORDER_RGB888 */
#if (defined(MT6228) || defined(MT6229) || defined(MT6230))
    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 */
#endif /* (defined(MT6228) || defined(MT6229) || defined(MT6230)) */ 
}
img_resize_struct;

#endif /* defined (JPG_DECODE) || defined (JPG_ENCODE) || defined (GIF_DECODE) */ 

#if defined (MP4_CODEC) || defined (MJPG_SUPPORT)
/* video */

/* Video encoding quality */
enum
{
    VID_REC_QTY_LOW = 0,
    VID_REC_QTY_NORMAL,
    VID_REC_QTY_HIGH,
    VID_REC_QTY_FINE,
    VID_NO_OF_REC_QTY
};

/* Bit stream type, not the file format */
enum
{
    VID_3GP_BIT_STREAM = 0,
    VID_MP4_BIT_STREAM,
    VID_NO_OF_BIT_STREAM
};

/* video em mode enum */
enum
{
    VID_EM_MODE_DISABLED = 0,
    VID_EM_MODE_ULTRA_HIGH_BITRATE,
    VID_NO_OF_EM_MODE
};

/* video param enum */
enum
{
    VID_PARAM_NONE = 0,
    VID_PARAM_CONTRAST,
    VID_PARAM_BRIGHTNESS,
    VID_NO_OF_PARAM
};

typedef struct media_vid_record_req_struct vid_record_struct;

typedef struct
{
    kal_wchar *file_name_p;

    kal_uint16 image_x;
    kal_uint16 image_y;
    kal_uint32 total_frame_num;
}
vid_open_file_struct;

typedef struct
{
    kal_uint8 media_mode;
    kal_uint8 media_type;
    void *data;
    kal_uint32 data_size;
    kal_uint16 seq_num;
    kal_uint16 max_width;
    kal_uint16 max_height;
    kal_uint16 *image_width;
    kal_uint16 *image_height;
    kal_uint64 *total_time;
    kal_uint8 blocking;
    kal_uint8 play_audio;
}
vid_open_struct;

typedef struct
{
    kal_uint8 get_frame;
    kal_uint32 frame_num;
    kal_uint64 time;
    kal_uint16 display_width;
    kal_uint16 display_height;
    kal_uint16 display_offset_x;
    kal_uint16 display_offset_y;
    void *image_buffer_p;
    kal_uint32 image_buffer_size;
    kal_uint8 blocking;
    kal_uint16 seq_num;
#if (defined(MT6228) || defined(MT6229) || defined(MT6230))
    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 */
    /* TV Setting */
    kal_bool 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 /* (defined(MT6228) || defined(MT6229) || defined(MT6230)) */ 
}
vid_seek_struct;

typedef struct
{
    void *image_buffer_p;
    kal_uint32 image_buffer_size;
}
vid_snapshot_struct;

typedef struct
{
    kal_uint8 media_mode;
    kal_uint8 media_type;
    void *data;
    kal_uint16 display_width;
    kal_uint16 display_height;
    void *image_buffer_p;
    kal_uint32 image_buffer_size;
    kal_uint16 frame_num;
    kal_uint16 seq_num;
    kal_uint8 blocking;
}
vid_get_iframe_struct;

#endif /* defined (MP4_CODEC) || defined (MJPG_SUPPORT) */ 

/* TV output mode */
enum
{
    MED_TV_OUT_DISABLE = 0,
    MED_TV_OUT_MODE1,
    MED_TV_OUT_MODE2,
    MED_TV_OUT_MODE3,
    MED_TV_OUT_MODE4
};

/* TV output format */
enum
{
    MED_TV_FORMAT_NTSC = 0,
    MED_TV_FORMAT_PALM,
    MED_TV_FORMAT_PALC,
    MED_TV_FORMAT_PAL
};

/* TV output parameter types */
enum
{
    MED_TV_PARAM_Y_COMP = 0,
    MED_TV_PARAM_U_COMP,
    MED_TV_PARAM_V_COMP,
    MED_TV_PARAM_AUD_PATH
};

/* TV output parameter values */
enum
{
    MED_TV_PARAM_GAMMA1 = 0,
    MED_TV_PARAM_GAMMA2,
    MED_TV_PARAM_GAMMA3,
    MED_TV_PARAM_GAMMA4,
    MED_TV_PARAM_GAMMA5
};

enum
{
   MED_TV_PARAM_AUD_PATH_BOTH=0,
   MED_TV_PARAM_AUD_PATH_TV,
   MED_TV_PARAM_AUD_PATH_PHONE
};

#if (defined(MT6228) || defined(MT6229) || defined(MT6230))        /* will change to TV_OUT_SUPPORT */
/* tv out */
typedef struct
{
    kal_uint8 tv_output_mode;
    kal_uint8 tv_output_format;
    kal_uint16 tv_output_width;     /* image width for TV output */
    kal_uint16 tv_output_height;    /* image height for TV output */
    kal_bool  tv_output_vertical_filter;
}
tvo_mode_struct;

#endif /* (defined(MT6228) || defined(MT6229) || defined(MT6230)) */ 

/*==== PROTOTYPE ====*/
/* audio */
extern kal_int32 media_aud_play_id(module_type src_mod_id, void *id_param);
extern kal_int32 media_aud_stop_id(module_type src_mod_id, kal_uint8 audio_id);
extern kal_int32 media_aud_play_string(module_type src_mod_id, void *string_param);
extern kal_int32 media_aud_stop_string(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_play_file(module_type src_mod_id, void *file_param);
extern kal_int32 media_aud_stop_file(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_start_record(
                    module_type src_mod_id,
                    kal_wchar *file_name,
                    kal_uint8 format,
                    kal_bool default_input,
                    kal_uint8 input_source);
extern kal_int32 media_aud_stop_record(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_pause(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_resume(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_block(module_type src_mod_id, kal_uint16 mod_id, kal_uint8 level);
extern kal_int32 media_aud_set_headset_mode_output_path(module_type src_mod_id, kal_uint8 device);
extern kal_int32 media_aud_set_vibrator_enabled(module_type src_mod_id, kal_uint8 enable);
extern kal_int32 media_aud_store(module_type src_mod_id, kal_uint8 src_id);
extern kal_int32 media_aud_restore(module_type src_mod_id, void *file_param);
extern kal_int32 media_aud_set_equalizer(module_type src_mod_id, kal_int8 *magnitude);
extern kal_int32 media_aud_get_spectrum(module_type src_mod_id, kal_uint8 *top_p, kal_uint8 *val_p);
extern kal_int32 media_aud_start_calc_spectrum(module_type src_mod_id);
extern kal_int32 media_aud_stop_calc_spectrum(module_type src_mod_id);
extern kal_int32 media_aud_get_duration(module_type src_mod_id, void *file_name, kal_uint32 *time_p);
extern kal_int32 media_aud_get_progress_time(module_type src_mod_id, kal_uint32 *progress);
extern kal_int32 media_aud_set_progress_time(module_type src_mod_id, kal_uint32 progress);

extern kal_int32 media_aud_fmr_power_on(module_type src_mod_id, kal_uint8 output_path);
extern kal_int32 media_aud_fmr_power_off(module_type src_mod_id);
extern kal_int32 media_aud_fmr_set_freq(module_type src_mod_id, kal_uint16 freq);
extern kal_int32 media_aud_fmr_mute(module_type src_mod_id, kal_uint8 mute);
extern kal_int32 media_aud_fmr_evaluate_threshold(module_type src_mod_id);

#ifdef DSP_WT_SYN
/* mma */
extern kal_int32 media_mma_midi_open(med_handler handler, mma_player_struct *param);
extern kal_int32 media_mma_midi_close(kal_int32 handle);
extern kal_int32 media_mma_midi_play(kal_int32 handle);
extern kal_int32 media_mma_midi_stop(kal_int32 handle);
extern kal_int32 media_mma_midi_pause(kal_int32 handle);
extern kal_int32 media_mma_midi_resume(kal_int32 handle);
extern kal_int32 media_mma_midi_set_start_time(kal_int32 handle, kal_int32 start_time);
extern kal_int32 media_mma_midi_set_stop_time(kal_int32 handle, kal_int32 stop_time);
extern kal_int32 media_mma_midi_get_current_time(kal_int32 handle);
extern kal_int32 media_mma_midi_get_duration(kal_int32 handle);
extern kal_int32 media_mma_midi_get_duration_by_string(const kal_uint8 *data);
extern kal_uint8 media_mma_midi_get_volume(kal_int32 handle);
extern kal_int32 media_mma_midi_set_volume(kal_int32 handle, kal_uint8 volume);
extern kal_int32 media_mma_midi_get_rate(kal_int32 handle);
extern kal_int32 media_mma_midi_set_rate(kal_int32 handle, kal_int32 rate);
extern kal_int32 media_mma_midi_get_tempo(kal_int32 handle);
extern kal_int32 media_mma_midi_set_tempo(kal_int32 handle, kal_int32 tempo);
extern kal_int32 media_mma_midi_get_pitch(kal_int32 handle);
extern kal_int32 media_mma_midi_set_pitch(kal_int32 handle, kal_int32 pitch);
extern kal_int32 media_mma_midi_open_device(void);
extern kal_int32 media_mma_midi_close_device(kal_int32 handle);
extern kal_int32 media_mma_midi_send_long_msg(kal_int32 handle, kal_uint8 *buf, kal_uint16 len);
extern kal_int32 media_mma_midi_send_short_msg(kal_int32 handle, kal_uint8 type, kal_uint8 data1, kal_uint8 data2);
extern kal_uint8 media_mma_midi_get_channel_volume(kal_int32 handle, kal_uint8 channel);
extern kal_int32 media_mma_midi_set_channel_volume(kal_int32 handle, kal_uint8 channel, kal_uint8 level);
extern void media_mma_midi_get_program(kal_int32 handle, kal_uint8 channel, kal_int16 *bank, kal_int8 *program);
extern kal_int32 media_mma_midi_set_program(kal_int32 handle, kal_uint8 channel, kal_uint8 bank, kal_uint8 program);
extern kal_bool media_mma_midi_bank_support(kal_int32 handle);
extern void media_mma_midi_get_bank_list(kal_int32 handle, kal_bool custom, const kal_int16 **buf, kal_int16 *len);
extern void media_mma_midi_get_program_list(kal_int32 handle, kal_int16 bank, const kal_int8 **buf, kal_int16 *len);
extern const kal_uint8 *media_mma_midi_get_program_name(kal_int32 handle, kal_int16 bank, kal_int8 prog);
extern const kal_uint8 *media_mma_midi_get_key_name(kal_int32 handle, kal_int16 bank, kal_int8 prog, kal_int8 key);

extern kal_int32 media_mma_tone_open(med_handler handler, mma_player_struct *param);
extern kal_int32 media_mma_tone_close(kal_int32 handle);
extern kal_int32 media_mma_tone_play(kal_int32 handle);
extern kal_int32 media_mma_tone_stop(kal_int32 handle);
extern kal_int32 media_mma_tone_pause(kal_int32 handle);
extern kal_int32 media_mma_tone_resume(kal_int32 handle);
extern kal_int32 media_mma_tone_set_data(kal_int32 handle, mma_player_struct *param);
extern kal_int32 media_mma_tone_set_start_time(kal_int32 handle, kal_int32 start_time);
extern kal_int32 media_mma_tone_set_stop_time(kal_int32 handle, kal_int32 stop_time);
extern kal_int32 media_mma_tone_get_current_time(kal_int32 handle);
extern kal_int32 media_mma_tone_get_duration(kal_int32 handle);
extern kal_uint8 media_mma_tone_get_volume(kal_int32 handle);
extern kal_int32 media_mma_tone_set_volume(kal_int32 handle, kal_uint8 volume);
extern kal_int8 media_mma_tone_get_pitch(kal_int32 handle);
extern kal_int32 media_mma_tone_set_pitch(kal_int32 handle, kal_int32 pitch);

extern kal_int32 media_mma_wav_open(med_handler handler, mma_player_struct *param);
extern kal_int32 media_mma_wav_close(kal_int32 handle);
extern kal_int32 media_mma_wav_play(kal_int32 handle);
extern kal_int32 media_mma_wav_stop(kal_int32 handle);
extern kal_int32 media_mma_wav_pause(kal_int32 handle);
extern kal_int32 media_mma_wav_resume(kal_int32 handle);

⌨️ 快捷键说明

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