1 /*****************************************************************************
2 * audio_decoder.h : audio decoder thread interface
4 *****************************************************************************
5 * = Prototyped functions are implemented in audio_decoder/audio_decoder.c
8 * - "common.h" ( u32, byte_t, boolean_t )
9 * - "vlc_thread.h" ( vlc_thread_t )
10 * - "input.h" ( ts_packet_t, input_thread_t )
11 * - "decoder_fifo.h" ( decoder_fifo_t )
12 * - "audio_output.h" ( aout_fifo_t, aout_thread_t )
14 * = - LSb = Least Significant bit
15 * - LSB = Least Significant Byte
17 * = - MSb = Most Significant bit
18 * - MSB = Most Significant Byte
19 *****************************************************************************/
23 * - Etudier /usr/include/asm/bitops.h d'un peu plus près, bien qu'il ne me
24 * semble pas être possible d'utiliser ces fonctions ici
25 * - N'y aurait-t-il pas moyen de se passer d'un buffer de bits, en travaillant
26 * directement sur le flux PES ?
29 #define ADEC_FRAME_SIZE 384
31 /*****************************************************************************
33 *****************************************************************************/
34 typedef s16 adec_frame_t[ ADEC_FRAME_SIZE ];
36 /*****************************************************************************
38 *****************************************************************************/
39 typedef struct adec_bank_s
48 /*****************************************************************************
49 * adec_thread_t : audio decoder thread descriptor
50 *****************************************************************************
51 * This type describes an audio decoder thread
52 *****************************************************************************/
53 typedef struct adec_thread_s
58 vlc_thread_t thread_id; /* id for thread functions */
59 boolean_t b_die; /* `die' flag */
60 boolean_t b_error; /* `error' flag */
65 decoder_fifo_t fifo; /* stores the PES stream data */
66 /* The bit stream structure handles the PES stream at the bit level */
67 bit_stream_t bit_stream;
78 aout_fifo_t * p_aout_fifo; /* stores the decompressed audio frames */
79 aout_thread_t * p_aout; /* needed to create the audio fifo */
83 /*****************************************************************************
85 *****************************************************************************/
86 adec_thread_t * adec_CreateThread ( input_thread_t * p_input /* !! , aout_thread_t * p_aout !! */ );
87 void adec_DestroyThread ( adec_thread_t * p_adec );