]> git.sesse.net Git - vlc/commitdiff
ah ben forc�ment, �a risquait pas de compiler si j'inversais new et old
authorSam Hocevar <sam@videolan.org>
Tue, 18 Jan 2000 23:48:13 +0000 (23:48 +0000)
committerSam Hocevar <sam@videolan.org>
Tue, 18 Jan 2000 23:48:13 +0000 (23:48 +0000)
src/video_parser/vpar_synchro.c

index f92f3a3145d5528e79b9d4fd737f9ff1b144a9ad..4c8d6bc0351cf08d07495ee13955fb145c76b249 100644 (file)
@@ -59,12 +59,13 @@ double vpar_SynchroUpdateTab( video_synchro_tab_t * tab, int count )
     tab->deviation = ( (tab->count-1) * tab->deviation
                     + abs (tab->mean - count) ) / tab->count;
 
+    return tab->deviation;
 }
 
 /*****************************************************************************
  * vpar_SynchroUpdateStructures : Update the synchro structures
  *****************************************************************************/
-void vpar_SynchroUpdateStructures( video_synchro_tab_t * tab,
+void vpar_SynchroUpdateStructures( vpar_thread_t * p_vpar,
                                    int i_coding_type )
 {
     double candidate_deviation;
@@ -88,21 +89,21 @@ void vpar_SynchroUpdateStructures( video_synchro_tab_t * tab,
             predict = p_vpar->synchro.tab_p[0].mean;
 
             candidate_deviation = vpar_SynchroUpdateTab(
-                            &p_vpar->synchro.tab_p[1 + (modulo & 0x1)],
+                            &p_vpar->synchro.tab_p[1 + (p_vpar->synchro.modulo & 0x1)],
                             p_vpar->synchro.current_p_count);
             if (candidate_deviation < optimal_deviation)
            {
                 optimal_deviation = candidate_deviation;
-                predict = p_vpar->synchro.tab_p[1 + (modulo & 0x1)].mean;
+                predict = p_vpar->synchro.tab_p[1 + (p_vpar->synchro.modulo & 0x1)].mean;
             }
 
             candidate_deviation = vpar_SynchroUpdateTab(
-                            &p_vpar->synchro.tab_p[3 + (modulo % 3)],
+                            &p_vpar->synchro.tab_p[3 + (p_vpar->synchro.modulo % 3)],
                             p_vpar->synchro.current_p_count);
             if (candidate_deviation < optimal_deviation)
            {
                 optimal_deviation = candidate_deviation;
-                predict = p_vpar->synchro.tab_p[1 + (modulo & 0x1)].mean;
+                predict = p_vpar->synchro.tab_p[1 + (p_vpar->synchro.modulo % 3)].mean;
             }
 
            p_vpar->synchro.p_count_predict = predict;
@@ -115,21 +116,21 @@ void vpar_SynchroUpdateStructures( video_synchro_tab_t * tab,
             predict = p_vpar->synchro.tab_b[0].mean;
 
             candidate_deviation = vpar_SynchroUpdateTab(
-                            &p_vpar->synchro.tab_b[1 + (modulo & 0x1)],
+                            &p_vpar->synchro.tab_b[1 + (p_vpar->synchro.modulo & 0x1)],
                             p_vpar->synchro.current_b_count);
             if (candidate_deviation < optimal_deviation)
            {
                 optimal_deviation = candidate_deviation;
-                predict = p_vpar->synchro.tab_b[1 + (modulo & 0x1)].mean;
+                predict = p_vpar->synchro.tab_b[1 + (p_vpar->synchro.modulo & 0x1)].mean;
             }
 
             candidate_deviation = vpar_SynchroUpdateTab(
-                            &p_vpar->synchro.tab_b[3 + (modulo % 3)],
+                            &p_vpar->synchro.tab_b[3 + (p_vpar->synchro.modulo % 3)],
                             p_vpar->synchro.current_b_count);
             if (candidate_deviation < optimal_deviation)
            {
                 optimal_deviation = candidate_deviation;
-                predict = p_vpar->synchro.tab_b[1 + (modulo & 0x1)].mean;
+                predict = p_vpar->synchro.tab_b[1 + (p_vpar->synchro.modulo % 3)].mean;
             }
 
            p_vpar->synchro.b_count_predict = predict;
@@ -147,7 +148,7 @@ void vpar_SynchroUpdateStructures( video_synchro_tab_t * tab,
 boolean_t vpar_SynchroChoose( vpar_thread_t * p_vpar, int i_coding_type,
                               int i_structure )
 {
-//    return( 1 );
+    return( 1 );
     return( i_coding_type == I_CODING_TYPE || i_coding_type == P_CODING_TYPE );
     //return( i_coding_type == I_CODING_TYPE );
 }
@@ -158,7 +159,7 @@ boolean_t vpar_SynchroChoose( vpar_thread_t * p_vpar, int i_coding_type,
 void vpar_SynchroTrash( vpar_thread_t * p_vpar, int i_coding_type,
                         int i_structure )
 {
-    vpar_SynchroUpdateStructures (p_vpar, i_coding_type, i_structure);
+    vpar_SynchroUpdateStructures (p_vpar, i_coding_type);
 
 }
 
@@ -168,7 +169,7 @@ void vpar_SynchroTrash( vpar_thread_t * p_vpar, int i_coding_type,
 mtime_t vpar_SynchroDecode( vpar_thread_t * p_vpar, int i_coding_type,
                             int i_structure )
 {
-    vpar_SynchroUpdateStructures (p_vpar, i_coding_type, i_structure);
+    vpar_SynchroUpdateStructures (p_vpar, i_coding_type);
 
     return mdate() + 3000000;
 }