X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvideo_decoder.h;h=11c5be774745bb5a288b2d155a3686c18c57e8d5;hb=440f9992ee947ea5fd0debbf35fdd1011c6404b3;hp=85f1efa7826ca416f56863d4b9df0cec9ae3fd0d;hpb=adf400021087dbee6a5406fa4b63f6c545d963d0;p=vlc diff --git a/include/video_decoder.h b/include/video_decoder.h index 85f1efa782..11c5be7747 100644 --- a/include/video_decoder.h +++ b/include/video_decoder.h @@ -2,6 +2,7 @@ * video_decoder.h : video decoder thread ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN + * $Id: video_decoder.h,v 1.24 2001/05/30 17:03:11 sam Exp $ * * Authors: Christophe Massiot * @@ -53,24 +54,14 @@ typedef struct vdec_thread_s /* idct iformations */ dctelem_t p_pre_idct[64*64]; - /* Input properties */ - struct vpar_thread_s * p_vpar; /* video_parser thread */ + /* Macroblock copy functions */ + void ( * pf_decode_init ) ( struct vdec_thread_s * ); + void ( * pf_decode_mb_c ) ( struct vdec_thread_s *, struct macroblock_s * ); + void ( * pf_decode_mb_bw )( struct vdec_thread_s *, struct macroblock_s * ); - /* Lookup tables */ -//#ifdef MPEG2_COMPLIANT - u8 pi_crop_buf[VDEC_CROPRANGE]; - u8 * pi_crop; -//#endif + /* Input properties */ + struct vpar_thread_s * p_vpar; /* video_parser thread */ -#ifdef STATS - /* Statistics */ - count_t c_loops; /* number of loops */ - count_t c_idle_loops; /* number of idle loops */ - count_t c_decoded_pictures; /* number of pictures decoded */ - count_t c_decoded_i_pictures; /* number of I pictures decoded */ - count_t c_decoded_p_pictures; /* number of P pictures decoded */ - count_t c_decoded_b_pictures; /* number of B pictures decoded */ -#endif } vdec_thread_t; /***************************************************************************** @@ -82,9 +73,13 @@ struct macroblock_s; /* Thread management functions */ #ifndef VDEC_SMP int vdec_InitThread ( struct vdec_thread_s *p_vdec ); +#endif void vdec_DecodeMacroblock ( struct vdec_thread_s *p_vdec, struct macroblock_s *p_mb ); -#endif +void vdec_DecodeMacroblockC ( struct vdec_thread_s *p_vdec, + struct macroblock_s *p_mb ); +void vdec_DecodeMacroblockBW ( struct vdec_thread_s *p_vdec, + struct macroblock_s *p_mb ); vdec_thread_t * vdec_CreateThread ( struct vpar_thread_s *p_vpar /*, int *pi_status */ ); void vdec_DestroyThread ( vdec_thread_t *p_vdec /*,