- void * p_base; /* base for all translation tables */
- union
- {
- struct { u16 *p_red, *p_green, *p_blue; } rgb16; /* color 15, 16 bpp */
- struct { u32 *p_red, *p_green, *p_blue; } rgb32; /* color 24, 32 bpp */
- struct { u16 *p_gray; } gray16; /* gray 15, 16 bpp */
- struct { u32 *p_gray; } gray32; /* gray 24, 32 bpp */
- } yuv;
-} vout_tables_t;
-
-/*******************************************************************************
- * vout_convert_t: convertion function
- *******************************************************************************
- * This is the prototype common to all convertion functions. The type of p_pic
- * will change depending of the screen depth treated.
- * Parameters:
- * p_vout video output thread
- * p_pic picture address (start address in picture)
- * p_y, p_u, p_v Y,U,V samples addresses
- * i_width Y samples width
- * i_height Y samples height
- * i_eol number of Y samples to reach the next line
- * i_pic_eol number or pixels to reach the next line
- * i_scale if non 0, vertical scaling is 1 - 1/i_scale
- * i_matrix_coefficients matrix coefficients
- * Conditions:
- * start x + i_width < picture width
- * start y + i_height * (scaling factor) < picture height
- * i_width % 16 == 0
- *******************************************************************************/
-typedef void (vout_convert_t)( p_vout_thread_t p_vout, void *p_pic,
- yuv_data_t *p_y, yuv_data_t *p_u, yuv_data_t *p_v,
- int i_width, int i_height, int i_eol, int i_pic_eol,
- int i_scale, int i_matrix_coefficients );
-
-/*******************************************************************************
- * vout_scale_t: horizontal scaling function
- *******************************************************************************
- * The convertion function only perform a vertical scaling. Horizontal scaling
- * is done later using this function.
- * Parameters:
- * p_vout video output thread
- * p_src source address (start address in picture)
- * p_dst destination address (start address in picture)
- * i_width source width
- * i_height source height
- * i_line_width source total pixels per line
- * i_dst_line_width destination total pixels per line
- * i_scale if non 0, horizontal scaling is 1 - 1/i_scale
- * Conditions:
- * i_height % 16
- * i_scale < 0 if p_src == p_dst
- *******************************************************************************/
-typedef void (vout_scale_t)( p_vout_thread_t p_vout, void *p_src, void *p_dst,
- int i_width, int i_height, int i_line_width,
- int i_dst_line_width, int i_scale );
-
-/*******************************************************************************
- * vout_thread_t: video output thread descriptor
- *******************************************************************************