Handbrake 9.3 Wrong x264 CPU Capabilities

Support for HandBrake on Linux, Solaris, and other Unix-like platforms
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Post Reply
xanders
Posts: 22
Joined: Wed Mar 19, 2008 5:35 pm

Handbrake 9.3 Wrong x264 CPU Capabilities

Post by xanders » Tue Nov 25, 2008 12:06 am

Hi Guys, I'm having a issue with the new release of handbrake 9.3 is not detecting the right CPU Capabilities. any help will be appreciated or anything i can do for detecting if is the kernel or my machine. thanks for the help guys.

OS Info:
Ubuntu 8.10

Code: Select all

x264 [info]: using cpu capabilities: MMX2 Cache64
x264 [info]: profile Main, level 3.0
I had Yasm installed on my machine.

Code: Select all

xanders@xanders-laptop:~$ yasm --version
yasm 0.7.1.2093
Compiled on Jul 12 2008.
Copyright (c) 2001-2008 Peter Johnson and other Yasm developers.
Run yasm --license for licensing overview and summary.
CPU information.
Intel Centrino Duo

Detail CPU info.

Code: Select all

xanders@xanders-laptop:~$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Genuine Intel(R) CPU           T2050  @ 1.60GHz
stepping	: 8
cpu MHz		: 1595.978
cache size	: 2048 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts pni monitor est tm2 xtpr
bogomips	: 3191.95
clflush size	: 64
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Genuine Intel(R) CPU           T2050  @ 1.60GHz
stepping	: 8
cpu MHz		: 1595.978
cache size	: 2048 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts pni monitor est tm2 xtpr
bogomips	: 3192.12
clflush size	: 64
power management:


User avatar
JohnAStebbins
HandBrake Team
Posts: 5457
Joined: Sat Feb 09, 2008 7:21 pm

Re: Handbrake 9.3 Wrong x264 CPU Capabilities

Post by JohnAStebbins » Tue Nov 25, 2008 12:38 am

Xanders, I don't know what to tell you about your problem. There must be something about your cpu that x264's cpu detection logic doesn't like. You might try installing the x264 cli and see if it reports the same thing, then see if you can get some help from them.

xanders
Posts: 22
Joined: Wed Mar 19, 2008 5:35 pm

Re: Handbrake 9.3 Wrong x264 CPU Capabilities

Post by xanders » Thu Dec 11, 2008 4:10 am

That's why x264 can't detect my CPU Capabilities. according to the code in x264/common/cpu.c they pretend that my cpu doesn't have the instructions and is more slower than MMX , with a old version of x264 i can get up to 14 to 17 frames per second with this new version i can reach a maximum of 4 frames per second.

Code: Select all

if( !strcmp((char*)vendor, "GenuineIntel") )
    {
        int family, model, stepping;
        x264_cpu_cpuid( 1, &eax, &ebx, &ecx, &edx );
        family = ((eax>>8)&0xf) + ((eax>>20)&0xff);
        model  = ((eax>>4)&0xf) + ((eax>>12)&0xf0);
        stepping = eax&0xf;
        /* 6/9 (pentium-m "banias"), 6/13 (pentium-m "dothan"), and 6/14 (core1 "yonah")
         * theoretically support sse2, but it's significantly slower than mmx for
         * almost all of x264's functions, so let's just pretend they don't. */
        if( family==6 && (model==9 || model==13 || model==14) )
        {
            cpu &= ~(X264_CPU_SSE2|X264_CPU_SSE3);
            assert(!(cpu&(X264_CPU_SSSE3|X264_CPU_SSE4)));
        }
    }
My CPU Info

Code: Select all

vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Genuine Intel(R) CPU           T2050  @ 1.60GHz
stepping	: 8
cpu MHz		: 1595.988
cache size	: 2048 KB
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts pni monitor est tm2 xtpr
Thanks.

Bling2Ming
Regular User
Posts: 104
Joined: Mon Dec 29, 2008 10:03 pm

Re: Handbrake 9.3 Wrong x264 CPU Capabilities

Post by Bling2Ming » Mon Dec 29, 2008 10:33 pm

Xanders. With all due respect I think you are backing the wrong horse.

I have a Centrino Duo T2300 Yonah Laptop running Mandriva 2009.0 Gnome with 2GB of RAM and I was so intrigued by your post that I have just run a little test using some CLI builds I have stored on my hard drive.
I encoded chapter 2 of the main title of a pre-ripped DVD of Kungfu Panda (UK PAL edition) using 3 different builds of HandbrakeCLI at a bit rate of 2000..
The CLI string was as follows.

Code: Select all

./HandBrakeCLI -i /home/bling2ming/DVD_RIPS/KUNGFU_PANDA -o /home/graham/Videos/video2.mkv -f mkv -m -p -L -m -c 2 -B 128 -R 48 -E vorbis -6 stereo -P -w 720 -e x264 -b 2000 -x ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip
The results enlightening.

SVN 1364 - (x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2 Cache64) = avg 8.73 fps

0.9.3 - (x264 [info]: using cpu capabilities: MMX2 Cache64) = avg 9.69 fps

SVN 2044 - (x264 [info]: using cpu capabilities: MMX2 Cache64) = avg 9.95 fps

So I would conclude that the x264 devs got that bit right and the slow down you are seeing is more likely due to revised presets in 0.9.3 ghb

Post Reply