Mercurial > mplayer.hg
annotate libmpcodecs/ad.h @ 33044:d2b6fbd11f20
Add condition that lets us switch FFmpeg XvMC decoder back from
hwaccel to normal decoding.
author | reimar |
---|---|
date | Sun, 27 Mar 2011 14:17:48 +0000 |
parents | 456417526407 |
children |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
2 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
7 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
8 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
12 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
13 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
17 */ |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_AD_H |
20 #define MPLAYER_AD_H | |
5324 | 21 |
22 #include "mpc_info.h" | |
26147
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
23 #include "libmpdemux/stheader.h" |
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
24 |
31221
456417526407
Forgotten part of previous commit (extern declaration of drc_level).
reimar
parents:
31174
diff
changeset
|
25 extern float drc_level; |
456417526407
Forgotten part of previous commit (extern declaration of drc_level).
reimar
parents:
31174
diff
changeset
|
26 |
5324 | 27 typedef mp_codec_info_t ad_info_t; |
28 | |
29 /* interface of video decoder drivers */ | |
31174
39f5b7f71ddd
cosmetics: Drop pointless _s suffix from 'struct ad_functions'.
diego
parents:
30663
diff
changeset
|
30 typedef struct ad_functions |
5324 | 31 { |
30663
94c7f4056b2b
Mark member info of struct ad_functions_s as const.
diego
parents:
30634
diff
changeset
|
32 const ad_info_t *info; |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
33 int (*preinit)(sh_audio_t *sh); |
5324 | 34 int (*init)(sh_audio_t *sh); |
35 void (*uninit)(sh_audio_t *sh); | |
36 int (*control)(sh_audio_t *sh,int cmd,void* arg, ...); | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
37 int (*decode_audio)(sh_audio_t *sh,unsigned char* buffer,int minlen,int maxlen); |
5324 | 38 } ad_functions_t; |
39 | |
40 // NULL terminated array of all drivers | |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
41 extern const ad_functions_t * const mpcodecs_ad_drivers[]; |
5324 | 42 |
43 // fallback if ADCTRL_RESYNC not implemented: sh_audio->a_in_buffer_len=0; | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
44 #define ADCTRL_RESYNC_STREAM 1 /* resync, called after seeking! */ |
5324 | 45 |
46 // fallback if ADCTRL_SKIP not implemented: ds_fill_buffer(sh_audio->ds); | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
47 #define ADCTRL_SKIP_FRAME 2 /* skip block/frame, called while seeking! */ |
5324 | 48 |
49 // fallback if ADCTRL_QUERY_FORMAT not implemented: sh_audio->sample_format | |
50 #define ADCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ | |
51 | |
52 // fallback: use hw mixer in libao | |
53 #define ADCTRL_SET_VOLUME 4 /* set volume (used for mp3lib and liba52) */ | |
54 | |
26029 | 55 #endif /* MPLAYER_AD_H */ |