• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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