10l / 4mv segfault fix
[ffmpeg.git] / postproc / yuv2rgb.c
index f82b41292ccb2de47153a563c9fb7da6bda83c71..cec5f3f9fb6ddda4b1c3634ef596ac0a0bf15364 100644 (file)
@@ -232,7 +232,7 @@ const int32_t Inverse_Table_6_9[8][4] = {
 
 void *yuv2rgb_c_init (unsigned bpp, int mode, void *table_rV[256], void *table_gU[256], int table_gV[256], void *table_bU[256]);
 
-yuv2rgb_fun yuv2rgb;
+yuv2rgb_fun yuv2rgb= NULL;
 
 static void (* yuv2rgb_c_internal) (uint8_t *, uint8_t *,
                                    uint8_t *, uint8_t *,
@@ -263,7 +263,7 @@ void * table_bU[256];
 
 void yuv2rgb_init (unsigned bpp, int mode)
 {
-    yuv2rgb = NULL;
+    if(yuv2rgb) return;
 #ifdef CAN_COMPILE_X86_ASM
     if(gCpuCaps.hasMMX2)
     {
@@ -600,7 +600,7 @@ static void yuv2rgb_c_4  (uint8_t * py_1, uint8_t * py_2,
                          uint8_t * pu, uint8_t * pv,
                          void * _dst_1, void * _dst_2, int h_size, int v_pos)
 {
-    int U, V, Y, out;
+    int U, V, Y;
     uint8_t * r, * g, * b;
     uint8_t * dst_1, * dst_2;
 
@@ -692,8 +692,8 @@ static void yuv2rgb_c_1_ordered_dither  (uint8_t * py_1, uint8_t * py_2,
                          uint8_t * pu, uint8_t * pv,
                          void * _dst_1, void * _dst_2, int h_size, int v_pos)
 {
-    int U, V, Y;
-    uint8_t * r, * g, * b;
+    int Y;
+    uint8_t * g;
     uint8_t * dst_1, * dst_2;
 
     h_size >>= 3;