1 /*******************************************************************************
2 * video_decoder.h : video decoder thread
4 *******************************************************************************
5 *******************************************************************************
15 *******************************************************************************/
17 /*******************************************************************************
18 * vdec_thread_t: video decoder thread descriptor
19 *******************************************************************************
21 *******************************************************************************/
22 typedef struct vdec_thread_s
24 /* Thread properties and locks */
25 boolean_t b_die; /* `die' flag */
26 boolean_t b_run; /* `run' flag */
27 boolean_t b_error; /* `error' flag */
28 boolean_t b_active; /* `active' flag */
29 vlc_thread_t thread_id; /* id for thread functions */
31 /* Thread configuration */
37 /* Input properties */
38 decoder_fifo_t fifo; /* PES input fifo */
40 /* The bit stream structure handles the PES stream at the bit level */
41 bit_stream_t bit_stream;
43 /* Output properties */
44 vout_thread_t * p_vout; /* video output thread */
45 int i_stream; /* video stream id */
50 count_t c_loops; /* number of loops */
51 count_t c_idle_loops; /* number of idle loops */
52 count_t c_pictures; /* number of pictures read */
53 count_t c_i_pictures; /* number of I pictures read */
54 count_t c_p_pictures; /* number of P pictures read */
55 count_t c_b_pictures; /* number of B pictures read */
56 count_t c_decoded_pictures; /* number of pictures decoded */
57 count_t c_decoded_i_pictures; /* number of I pictures decoded */
58 count_t c_decoded_p_pictures; /* number of P pictures decoded */
59 count_t c_decoded_b_pictures; /* number of B pictures decoded */
63 /*******************************************************************************
65 *******************************************************************************/
67 /* Thread management functions */
68 p_vdec_thread_t vdec_CreateThread ( /* video_cfg_t *p_cfg, */ input_thread_t *p_input /*,
69 vout_thread_t *p_vout, int *pi_status */ );
70 void vdec_DestroyThread ( vdec_thread_t *p_vdec /*, int *pi_status */ );
72 /* Time management functions */
75 /* Dynamic thread settings */