]> granicus.if.org Git - libx264/commitdiff
Various cosmetics and minor fixes
authorFiona Glaser <fiona@x264.com>
Mon, 10 Nov 2008 01:34:31 +0000 (17:34 -0800)
committerFiona Glaser <fiona@x264.com>
Mon, 10 Nov 2008 01:34:31 +0000 (17:34 -0800)
Disable hadamard_ac sse2/ssse3 under stack_mod4
Fix one MSVC compilation warning
Fix compilation in debug mode in certain cases on x64
Remove eval.c from MSVC project
Fix crash when VBV is used in CQP mode
Patches by MasterNobody

build/win32/libx264.vcproj
common/pixel.c
common/x86/mc-c.c
encoder/macroblock.c
encoder/ratecontrol.c

index 5e7a55eba9697d82108004da7718fad6e1f86051..d4036aeb27abcf1ca532a6860e9107ec3bb14047 100644 (file)
                                                ProgramDataBaseFileName="obj/enc_release/"/>\r
                                </FileConfiguration>\r
                        </File>\r
-                       <File\r
-                               RelativePath="..\..\encoder\eval.c">\r
-                               <FileConfiguration\r
-                                       Name="Release|Win32">\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               AdditionalIncludeDirectories=""\r
-                                               PreprocessorDefinitions=""\r
-                                               ObjectFile=".\obj/enc_release/"\r
-                                               ProgramDataBaseFileName="obj/enc_release/"/>\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="Debug|Win32">\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="0"\r
-                                               AdditionalIncludeDirectories=""\r
-                                               PreprocessorDefinitions=""\r
-                                               BasicRuntimeChecks="3"\r
-                                               ObjectFile=".\obj/enc_debug/"\r
-                                               ProgramDataBaseFileName="obj/enc_debug/"/>\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="Release64|Win32">\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               AdditionalIncludeDirectories=""\r
-                                               PreprocessorDefinitions=""\r
-                                               ObjectFile=".\obj/enc_release/"\r
-                                               ProgramDataBaseFileName="obj/enc_release/"/>\r
-                               </FileConfiguration>\r
-                       </File>\r
                        <File\r
                                RelativePath="..\..\encoder\macroblock.c">\r
                                <FileConfiguration\r
index cf6ae03c0a334797802c7cac9d46fd063e07a261..6895414bef1f7fc462f3d69a9fcb137d727416c7 100644 (file)
@@ -674,7 +674,10 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf )
         INIT2( sad, _sse2 );
         INIT2( sad_x3, _sse2 );
         INIT2( sad_x4, _sse2 );
-        INIT4( hadamard_ac, _sse2 );
+        if( !(cpu&X264_CPU_STACK_MOD4) )
+        {
+            INIT4( hadamard_ac, _sse2 );
+        }
         INIT_ADS( _sse2 );
         pixf->var[PIXEL_8x8] = x264_pixel_var_8x8_sse2;
         pixf->intra_sad_x3_16x16 = x264_intra_sad_x3_16x16_sse2;
@@ -716,7 +719,10 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf )
         INIT7( satd, _ssse3 );
         INIT7( satd_x3, _ssse3 );
         INIT7( satd_x4, _ssse3 );
-        INIT4( hadamard_ac, _ssse3 );
+        if( !(cpu&X264_CPU_STACK_MOD4) )
+        {
+            INIT4( hadamard_ac, _ssse3 );
+        }
         INIT_ADS( _ssse3 );
         pixf->sa8d[PIXEL_16x16]= x264_pixel_sa8d_16x16_ssse3;
         pixf->sa8d[PIXEL_8x8]  = x264_pixel_sa8d_8x8_ssse3;
index cfcaf4f63f9258f0070d81cc5f67d31dbcb0ebb5..d6278918fe7e477a77a4ec5185ab65861ecce02f 100644 (file)
@@ -102,8 +102,8 @@ static void (* const x264_pixel_avg_wtab_##instr[6])( uint8_t *, int, uint8_t *,
 PIXEL_AVG_WTAB(mmxext, mmxext, mmxext, mmxext, mmxext, mmxext)
 #ifdef ARCH_X86
 PIXEL_AVG_WTAB(cache32_mmxext, mmxext, cache32_mmxext, cache32_mmxext, cache32_mmxext, cache32_mmxext)
-#endif
 PIXEL_AVG_WTAB(cache64_mmxext, mmxext, cache64_mmxext, cache64_mmxext, cache64_mmxext, cache64_mmxext)
+#endif
 PIXEL_AVG_WTAB(sse2, mmxext, mmxext, mmxext, sse2, sse2)
 PIXEL_AVG_WTAB(cache64_sse2, mmxext, cache64_mmxext, cache64_sse2, cache64_sse2, cache64_sse2)
 
index a24ae54c52f4bd999a14e498312b4dc0e1bb3ea2..fe45be7ea0704f3f4e7a703c037f5faab202aba0 100644 (file)
@@ -679,7 +679,7 @@ void x264_macroblock_encode( x264_t *h )
  *  Check if the current MB could be encoded as a [PB]_SKIP (it supposes you use
  *  the previous QP
  *****************************************************************************/
-int x264_macroblock_probe_skip( x264_t *h, const int b_bidir )
+int x264_macroblock_probe_skip( x264_t *h, int b_bidir )
 {
     DECLARE_ALIGNED_16( int16_t dct4x4[4][4][4] );
     DECLARE_ALIGNED_16( int16_t dct2x2[2][2] );
index b0ee384a5f16cf016460a7f10b9fb45155da1c27..1f606b948c86e253da4e6e6670e4b31f873e3df5 100644 (file)
@@ -260,7 +260,11 @@ int x264_ratecontrol_new( x264_t *h )
     if( h->param.rc.i_vbv_buffer_size )
     {
         if( h->param.rc.i_rc_method == X264_RC_CQP )
+        {
             x264_log(h, X264_LOG_WARNING, "VBV is incompatible with constant QP, ignored.\n");
+            h->param.rc.i_vbv_max_bitrate = 0;
+            h->param.rc.i_vbv_buffer_size = 0;
+        }
         else if( h->param.rc.i_vbv_max_bitrate == 0 )
         {
             x264_log( h, X264_LOG_DEBUG, "VBV maxrate unspecified, assuming CBR\n" );