]> git.sesse.net Git - vlc/blobdiff - src/video_decoder/video_parser.h
The motion compensation routines are now modules as well ; choose your
[vlc] / src / video_decoder / video_parser.h
index 76853ef545ed60532c86886e462250c2d07fe8a4..5650f644293c22bcc00e2d72f1a116951996d41a 100644 (file)
@@ -2,7 +2,7 @@
  * video_parser.h : video parser thread
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: video_parser.h,v 1.3 2001/01/13 12:57:20 sam Exp $
+ * $Id: video_parser.h,v 1.6 2001/01/18 05:13:23 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -95,8 +95,6 @@ typedef struct vpar_thread_s
     decoder_fifo_t *    p_fifo;                            /* PES input fifo */
     bit_stream_t        bit_stream;
     vdec_config_t *     p_config;
-    /* Bitstream context */
-    mtime_t             next_pts, next_dts;
 
     /* Output properties */
     vout_thread_t *     p_vout;                       /* video output thread */
@@ -127,14 +125,25 @@ typedef struct vpar_thread_s
     lookup_t *              pl_coded_pattern;
     /* variable length codes for the structure dct_dc_size for intra blocks */
     lookup_t *              pppl_dct_dc_size[2][2];
-    /* Structure to store the tables B14 & B15 (ISO/CEI 13818-2 B.4) */
+    /* Structure to store the tables B14 & B15 (ISO/IEC 13818-2 B.4) */
     dct_lookup_t            ppl_dct_coef[2][16384];
+    /* Scan table */
+    u8                      ppi_scan[2][64];
+    /* Default quantization matrices */
+    u8                      pi_default_intra_quant[64];
+    u8                      pi_default_nonintra_quant[64];
+
+    /* Motion compensation plugin used and shortcuts */
+    struct module_s *       p_motion_module;
+    void ( * pppf_motion[4][2][4] )     ( struct macroblock_s * );
+    void ( * ppf_motion_skipped[4][4] ) ( struct macroblock_s * );
 
     /* IDCT plugin used and shortcuts to access its capabilities */
-    struct module_s *       p_module;
+    struct module_s *       p_idct_module;
     idct_init_t             pf_init;
     f_idct_t                pf_sparse_idct;
     f_idct_t                pf_idct;
+    norm_scan_t             pf_norm_scan;
 
 #ifdef STATS
     /* Statistics */