]> granicus.if.org Git - libx264/commitdiff
Hotfix for high bit depth
authorFiona Glaser <fiona@x264.com>
Tue, 7 Dec 2010 11:15:46 +0000 (03:15 -0800)
committerFiona Glaser <fiona@x264.com>
Tue, 7 Dec 2010 11:15:46 +0000 (03:15 -0800)
Temporary fix for some unaligned access crashes.

common/x86/predict-c.c
encoder/slicetype.c

index 3560a02f3b06db62427d74ca4afc7709d07475c1..64496ea63e5be5fd403877514aceb70060ed9a5b 100644 (file)
@@ -505,14 +505,14 @@ void x264_predict_4x4_init_mmx( int cpu, x264_predict_t pf[12] )
 #if HIGH_BIT_DEPTH
     if( !(cpu&X264_CPU_SSE2) )
         return;
-    pf[I_PRED_4x4_DDL] = x264_predict_4x4_ddl_sse2;
+//  pf[I_PRED_4x4_DDL] = x264_predict_4x4_ddl_sse2;
     pf[I_PRED_4x4_HU]  = x264_predict_4x4_hu_sse2;
-    pf[I_PRED_4x4_VL]  = x264_predict_4x4_vl_sse2;
+//  pf[I_PRED_4x4_VL]  = x264_predict_4x4_vl_sse2;
     if( !(cpu&X264_CPU_SSSE3) )
         return;
-    pf[I_PRED_4x4_DDR] = x264_predict_4x4_ddr_ssse3;
-    pf[I_PRED_4x4_VR]  = x264_predict_4x4_vr_ssse3;
-    pf[I_PRED_4x4_HD]  = x264_predict_4x4_hd_ssse3;
+//  pf[I_PRED_4x4_DDR] = x264_predict_4x4_ddr_ssse3;
+//  pf[I_PRED_4x4_VR]  = x264_predict_4x4_vr_ssse3;
+//  pf[I_PRED_4x4_HD]  = x264_predict_4x4_hd_ssse3;
 #else
     pf[I_PRED_4x4_VR]  = x264_predict_4x4_vr_mmxext;
     pf[I_PRED_4x4_DDR] = x264_predict_4x4_ddr_mmxext;
index 92efc789085798683c163e54ae2e1949167fa39e..894c9f4c9fdd971c74bff90b534e4cf1898e818f 100644 (file)
@@ -191,7 +191,7 @@ static NOINLINE unsigned int x264_weight_cost_chroma( x264_t *h, x264_frame_t *f
     pixel *src = ref + i_offset;
     ALIGNED_ARRAY_16( pixel, buf, [8*8] );
     int pixoff = 0;
-    ALIGNED_16( static pixel flat [8] ) = {0};
+    ALIGNED_16( static pixel flat[9] ) = {0,0,0,0,0,0,0,0,1}; //hack for win32
     if( w )
     {
         for( int y = 0; y < i_lines; y += 8, pixoff = y*i_stride )