* i420_rgb.h : YUV to bitmap RGB conversion module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
- * $Id: i420_rgb.h,v 1.2 2002/01/12 01:25:57 sam Exp $
+ * $Id: i420_rgb.h,v 1.8 2002/07/31 20:56:51 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This structure is part of the chroma transformation descriptor, it
* describes the yuv2rgb specific properties.
*****************************************************************************/
-typedef struct chroma_sys_s
+struct chroma_sys_t
{
u8 *p_buffer;
int *p_offset;
-} chroma_sys_t;
+#ifdef MODULE_NAME_IS_chroma_i420_rgb
+ /* Pre-calculated conversion tables */
+ void *p_base; /* base for all conversion tables */
+ u8 *p_rgb8; /* RGB 8 bits table */
+ u16 *p_rgb16; /* RGB 16 bits table */
+ u32 *p_rgb32; /* RGB 32 bits table */
+#endif
+};
/*****************************************************************************
* Prototypes
*****************************************************************************/
#ifdef MODULE_NAME_IS_chroma_i420_rgb
-void _M( I420_RGB8 ) ( vout_thread_t *, picture_t *, picture_t * );
+void E_(I420_RGB8) ( vout_thread_t *, picture_t *, picture_t * );
#endif
-void _M( I420_RGB16 )( vout_thread_t *, picture_t *, picture_t * );
-void _M( I420_RGB32 )( vout_thread_t *, picture_t *, picture_t * );
+void E_(I420_RGB15)( vout_thread_t *, picture_t *, picture_t * );
+void E_(I420_RGB16)( vout_thread_t *, picture_t *, picture_t * );
+void E_(I420_RGB32)( vout_thread_t *, picture_t *, picture_t * );
/*****************************************************************************
* CONVERT_*_PIXEL: pixel conversion macros
while( (i_scale_count -= p_vout->render.i_height) > 0 ) \
{ \
/* Height increment: copy previous picture line */ \
- FAST_MEMCPY( p_pic, p_pic_start, p_vout->output.i_width * BPP ); \
+ p_vout->p_vlc->pf_memcpy( p_pic, p_pic_start, \
+ p_vout->output.i_width * BPP ); \
(u8*)p_pic += p_dest->p->i_pitch; \
} \
i_scale_count += p_vout->output.i_height; \