1 /* 2 * Copyright (C) 2010 Amlogic Corporation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 18 19 /** 20 * @file codec.h 21 * @brief Function prototypes of codec lib 22 * @author Zhang Chen <chen.zhang@amlogic.com> 23 * @version 1.0.0 24 * @date 2011-02-24 25 */ 26 /* Copyright (C) 2007-2011, Amlogic Inc. 27 * All right reserved 28 * 29 */ 30 #ifndef CODEC_CTRL_H_ 31 #define CODEC_CTRL_H_ 32 33 #include <codec_type.h> 34 #include <codec_error.h> 35 36 37 int codec_init(codec_para_t *); 38 int codec_close(codec_para_t *); 39 void codec_close_audio_async(codec_para_t *pcodec); 40 void codec_audio_basic_init(void); 41 void codec_close_audio(codec_para_t *); 42 void codec_resume_audio(codec_para_t *, unsigned int); 43 int codec_reset(codec_para_t *); 44 int codec_init_sub(codec_para_t *); 45 int codec_open_sub_read(void); 46 int codec_close_sub(codec_para_t *); 47 int codec_close_sub_fd(CODEC_HANDLE); 48 int codec_reset_subtile(codec_para_t *pcodec); 49 int codec_poll_sub(codec_para_t *); 50 int codec_poll_sub_fd(CODEC_HANDLE, int); 51 int codec_get_sub_size(codec_para_t *); 52 int codec_get_sub_size_fd(CODEC_HANDLE); 53 int codec_read_sub_data(codec_para_t *, char *, unsigned int); 54 int codec_read_sub_data_fd(CODEC_HANDLE, char *, unsigned int); 55 int codec_write_sub_data(codec_para_t *, char *, unsigned int); 56 int codec_init_cntl(codec_para_t *); 57 int codec_close_cntl(codec_para_t *); 58 int codec_poll_cntl(codec_para_t *); 59 int codec_get_cntl_state(codec_para_t *); 60 int codec_get_cntl_vpts(codec_para_t *pcodec); 61 int codec_set_cntl_mode(codec_para_t *, unsigned int); 62 int codec_set_mode(codec_para_t *, unsigned int); 63 int codec_set_cntl_avthresh(codec_para_t *, unsigned int); 64 int codec_set_cntl_syncthresh(codec_para_t *pcodec, unsigned int syncthresh); 65 int codec_reset_audio(codec_para_t *pcodec); 66 int codec_set_audio_pid(codec_para_t *pcodec); 67 int codec_set_sub_id(codec_para_t *pcodec); 68 int codec_set_sub_type(codec_para_t *pcodec); 69 int codec_audio_reinit(codec_para_t *pcodec); 70 int codec_set_dec_reset(codec_para_t *pcodec); 71 72 int codec_write(codec_para_t *pcodec, void *buffer, int len); 73 int codec_checkin_pts(codec_para_t *pcodec, unsigned long pts); 74 int codec_get_vbuf_state(codec_para_t *, struct buf_status *); 75 int codec_get_abuf_state(codec_para_t *, struct buf_status *); 76 int codec_get_vdec_state(codec_para_t *, struct vdec_status *); 77 int codec_get_adec_state(codec_para_t *, struct adec_status *); 78 79 int codec_pause(codec_para_t *); 80 int codec_resume(codec_para_t *); 81 int codec_audio_search(codec_para_t *p); 82 int codec_set_mute(codec_para_t *p, int mute); 83 int codec_get_volume_range(codec_para_t *, int *min, int *max); 84 int codec_set_volume(codec_para_t *, float val); 85 int codec_get_volume(codec_para_t *, float *val); 86 int codec_set_lrvolume(codec_para_t *, float lvol, float rvol); 87 int codec_get_lrvolume(codec_para_t *, float *lvol, float* rvol); 88 int codec_get_mutesta(codec_para_t *); 89 int codec_set_volume_balance(codec_para_t *, int); /*left��0-100)right*/ 90 int codec_swap_left_right(codec_para_t *); 91 int codec_left_mono(codec_para_t *p); 92 int codec_right_mono(codec_para_t *p); 93 int codec_stereo(codec_para_t *p); 94 int codec_lr_mix_set(codec_para_t *p, int enable); 95 int codec_get_soundtrack(codec_para_t *p, int* strack); 96 int codec_audio_automute(void *priv, int auto_mute); 97 int codec_audio_spectrum_switch(codec_para_t *p, int isStart, int interval); 98 int codec_audio_isready(codec_para_t *p); 99 int codec_audio_get_nb_frames(codec_para_t *p); 100 int codec_audio_set_audioinfo(codec_para_t *p); 101 int codec_pcmpara_Applied_get(codec_para_t *p, int *pfs, int *pch,int *lfepresent); 102 103 int codec_get_apts(codec_para_t *pcodec); 104 int codec_get_vpts(codec_para_t *pcodec); 105 int codec_get_pcrscr(codec_para_t *pcodec); 106 int codec_set_pcrscr(codec_para_t *pcodec, int val); 107 int codec_set_syncenable(codec_para_t *pcodec, int enable); 108 int codec_set_sync_audio_discont(codec_para_t *pcodec, int discontinue); 109 int codec_get_sync_audio_discont(codec_para_t *pcodec); 110 int codec_set_sync_video_discont(codec_para_t *pcodec, int discontinue); 111 int codec_get_sync_video_discont(codec_para_t *pcodec); 112 unsigned long codec_get_sync_audio_discont_diff(codec_para_t *pcodec); 113 unsigned long codec_get_sync_video_discont_diff(codec_para_t *pcodec); 114 int codec_set_sync_audio_discont_diff(codec_para_t *pcodec, unsigned long discontinue_diff); 115 int codec_set_sync_video_discont_diff(codec_para_t *pcodec, unsigned long discontinue_diff); 116 int codec_get_sub_num(codec_para_t *pcodec); 117 int codec_get_sub_info(codec_para_t *pcodec, subtitle_info_t *sub_info); 118 119 int codec_set_av_threshold(codec_para_t *pcodec, int threshold); 120 121 int codec_get_freerun_mode(codec_para_t *pcodec); 122 int codec_set_freerun_mode(codec_para_t *pcodec, unsigned int mode); 123 124 int codec_init_audio_utils(codec_para_t *pcodec); 125 int codec_release_audio_utils(codec_para_t *pcodec); 126 int codec_set_audio_resample_ena(codec_para_t *pcodec, unsigned long mode); 127 int codec_get_audio_resample_ena(codec_para_t *pcodec); 128 int codec_set_audio_resample_type(codec_para_t *pcodec, unsigned long type); 129 130 int codec_set_video_delay_limited_ms(codec_para_t *pcodec, int delay_ms); 131 int codec_get_video_delay_limited_ms(codec_para_t *pcodec, int *delay_ms); 132 int codec_set_audio_delay_limited_ms(codec_para_t *pcodec, int delay_ms); 133 int codec_get_audio_delay_limited_ms(codec_para_t *pcodec, int *delay_ms); 134 int codec_get_audio_cur_delay_ms(codec_para_t *pcodec, int *delay_ms); 135 int codec_get_video_cur_delay_ms(codec_para_t *pcodec, int *delay_ms); 136 int codec_get_video_cur_bitrate(codec_para_t *pcodec, int *bitrate); 137 int codec_get_audio_cur_bitrate(codec_para_t *pcodec, int *bitrate); 138 139 int codec_set_vsync_upint(codec_para_t *pcodec, unsigned int mode); 140 141 int codec_get_last_checkout_apts(codec_para_t* pcodec, unsigned long *apts); 142 int codec_get_last_checkin_apts(codec_para_t* pcodec, unsigned long *apts); 143 int codec_disalbe_slowsync(codec_para_t *pcodec, int disable_slowsync); 144 int codec_utils_set_video_position(int x, int y, int w, int h, int rotation); 145 int codec_amsub_read_outdata(codec_para_t *pcodec,amsub_info_t *amsub_info); 146 void codec_close_subtitle(codec_para_t *pcodec); 147 void codec_resume_subtitle(codec_para_t *pcodec, unsigned int has_sub); 148 int codec_set_eos(codec_para_t *pcodec, int is_eos); 149 #endif 150