]> git.sesse.net Git - vlc/blobdiff - src/video_parser/video_parser.c
* Fixed the BeOS compile typo.
[vlc] / src / video_parser / video_parser.c
index 0ffaa98f48b469481279310911d8173d3fb1a873..957c81a5c7354edeb40b50cb22dca82e5ca6c9bb 100644 (file)
@@ -2,7 +2,7 @@
  * video_parser.c : video parser thread
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: video_parser.c,v 1.82 2001/05/01 04:18:18 sam Exp $
+ * $Id: video_parser.c,v 1.86 2001/05/30 17:03:13 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Samuel Hocevar <sam@via.ecp.fr>
 
 #include "video_decoder.h"
 #include "vdec_motion.h"
-#include "../video_decoder/vdec_idct.h"
 
 #include "vpar_blocks.h"
-#include "../video_decoder/vpar_headers.h"
-#include "../video_decoder/vpar_synchro.h"
-#include "../video_decoder/video_parser.h"
-#include "../video_decoder/video_fifo.h"
+#include "vpar_headers.h"
+#include "vpar_synchro.h"
+#include "video_parser.h"
+#include "video_fifo.h"
 
 /*
  * Local prototypes
@@ -94,8 +93,7 @@ vlc_thread_t vpar_CreateThread( vdec_config_t * p_config )
      */
     p_vpar->p_fifo = p_config->decoder_config.p_decoder_fifo;
     p_vpar->p_config = p_config;
-
-    p_vpar->p_vout = p_config->p_vout;
+    p_vpar->p_vout = NULL;
 
     /*
      * Choose the best motion compensation module
@@ -176,10 +174,13 @@ vlc_thread_t vpar_CreateThread( vdec_config_t * p_config )
     }
 
 #define f p_vpar->p_idct_module->p_functions->idct.functions.idct
-    p_vpar->pf_init         = f.pf_init;
+    p_vpar->pf_idct_init    = f.pf_idct_init;
     p_vpar->pf_sparse_idct  = f.pf_sparse_idct;
     p_vpar->pf_idct         = f.pf_idct;
     p_vpar->pf_norm_scan    = f.pf_norm_scan;
+    p_vpar->pf_decode_init  = f.pf_decode_init;
+    p_vpar->pf_decode_mb_c  = f.pf_decode_mb_c;
+    p_vpar->pf_decode_mb_bw = f.pf_decode_mb_bw;
 #undef f
 
     /* Spawn the video parser thread */
@@ -265,15 +266,22 @@ static int InitThread( vpar_thread_t *p_vpar )
     }
 #else
     /* Fake a video_decoder thread */
-    if( (p_vpar->pp_vdec[0] = (vdec_thread_t *)malloc(sizeof( vdec_thread_t )))
-         == NULL || vdec_InitThread( p_vpar->pp_vdec[0] ) )
+    p_vpar->pp_vdec[0] = (vdec_thread_t *)malloc(sizeof( vdec_thread_t ));
+
+    if( p_vpar->pp_vdec[0] == NULL )
     {
         return( 1 );
     }
+
     p_vpar->pp_vdec[0]->b_die = 0;
     p_vpar->pp_vdec[0]->b_error = 0;
     p_vpar->pp_vdec[0]->p_vpar = p_vpar;
 
+    if( vdec_InitThread( p_vpar->pp_vdec[0] ) )
+    {
+        return( 1 );
+    }
+
 #   if !defined(SYS_BEOS) && !defined(WIN32)
 #       if VDEC_NICE
     /* Re-nice ourself */