Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
16th February 2009, 17:20 | #21 | Link | |
Registered User
Join Date: Nov 2003
Posts: 1,281
|
Quote:
__________________
http://www.7-zip.org/ |
|
22nd February 2009, 08:52 | #23 | Link |
Registered User
Join Date: Jun 2008
Posts: 42
|
Now I got me a new machine (Core I7 920).
I am running Gentoo on this baby and when I do compile stuff it really rocks But as soon as I start converting something using mencoder/x264 I need to run several jobs in parallel to get over 30 % average load. I am using this command lines: Code:
/usr/local/bin/mencoder movie.mkv -oac copy -ovc x264 -x264encopts subq=4:bframes=4:b_pyramid:weight_b:pass=1:psnr:bitrate=6000:vbv_maxrate=8500:vbv_bufsize=2000:keyint=100:turbo=2:threads=0 -passlogfile movie.mkv_tmp.mkv_2pass.log -vf expand=1920:1080 -fps 23.976 -ofps 23.976 -o /dev/null /usr/local/bin/mencoder movie.mkv -oac copy -ovc x264 -x264encopts subq=5:partitions=4x4:8x8dct:frameref=3:bframes=4:b_pyramid:vbv_maxrate=8500:vbv_bufsize=2000:keyint=100:pass=2:psnr:bitrate=$BITRATE:threads=0 -passlogfile movie.mkv_tmp.mkv_2pass.log -vf expand=1920:1080 -fps 23.976 -ofps 23.976 -o movie.mkv.avi Is there anything strange that hits the eye? I expected x264 to utilize at least the 4 real cores to the max. Also strange: when an encoding is running, compilations get slowed down and the load does not go over 50%, without an encoding, all 8 (virtual) cores are utilized to the max. by gcc. I hope someone here can give me a hint what to look for. Thanks in advance, fangorn |
22nd February 2009, 16:52 | #25 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Sure your x264 (MEncoder) was compiled with pthreads enabled ???
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 22nd February 2009 at 16:59. |
22nd February 2009, 17:06 | #26 | Link |
Registered User
Join Date: Aug 2006
Posts: 2,229
|
In terms of GPU encoding asked earlier, both CUDA and CAL are limited in some respects. CUDA is the more popular one it seems, but I see it only have a finite future due to it only being available on one brand GPU. There are standards that work for both Nvidia and ATI (and other companies that want to support them), which is included in Directx 11 and also as OpenCL (I believe thats what they call it). Whilst Directx 11 and OpenCL are yet to be full supported, at least its a fair platform to work upon, both for the person programming and the GPU manufacturers (and end users). Whilst that statement may antagonise Nvidia fanboys, its very valid since if there is only one GPU manufacturer they can charge what they want for the cards, and the last thing the end users should have is graphics cards that cost 40 percent more due to a monopoly.
|
22nd February 2009, 18:44 | #27 | Link |
Registered User
Join Date: Jun 2008
Posts: 42
|
Code:
Platform: X86_64 System: LINUX asm: yes avis input: no mp4 output: yes pthread: yes debug: no gprof: no PIC: yes shared: yes visualize: yes I do not find pthreads in mplayer ./configure output Code:
Detected operating system: Linux Detected host architecture: x86_64 Checking for cc version ... 4.3.3 Checking for host cc ... cc Checking for cross compilation ... no Checking for CPU vendor ... GenuineIntel (6:26:4) Checking for CPU type ... Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz Checking for kernel support of mmx ... yes Checking for kernel support of mmxext ... yes Checking for kernel support of sse ... yes Checking for kernel support of sse2 ... yes Checking for kernel support of ssse3 ... yes Checking for kernel support of cmov ... yes Checking for mtrr support ... yes Checking for GCC & CPU optimization abilities ... native Checking for byte order ... little-endian Checking for extern symbol prefix ... Checking for assembler support of -pipe option ... yes Checking for compiler support of named assembler arguments ... yes Checking for .align is a power of two ... no Checking for 10 assembler operands ... yes Checking for yasm ... yasm Checking for bswap ... yes Checking for -lposix ... no Checking for -lm ... yes Checking for langinfo ... yes Checking for language ... messages: de - man pages: de - documentation: de Checking for enable sighandler ... yes Checking for runtime cpudetection ... no Checking for restrict keyword ... __restrict Checking for __builtin_expect ... yes Checking for kstat ... no Checking for posix4 ... no Checking for llrint ... yes Checking for lrint ... yes Checking for lrintf ... yes Checking for round ... yes Checking for roundf ... yes Checking for truncf ... yes Checking for mkstemp ... yes Checking for nanosleep ... yes Checking for socklib ... yes Checking for arpa/inet.h ... yes Checking for inet_pton() ... yes Checking for inet_aton() ... yes Checking for socklen_t ... yes Checking for closesocket() ... no Checking for network ... yes Checking for inet6 ... yes Checking for gethostbyname2 ... yes Checking for inttypes.h (required) ... yes Checking for int_fastXY_t in inttypes.h ... yes Checking for malloc.h ... yes Checking for memalign() ... yes Checking for posix_memalign() ... yes Checking for alloca.h ... yes Checking for fastmemcpy ... yes Checking for mman.h ... yes Checking for dynamic loader ... yes Checking for dynamic a/v plugins support ... no Checking for pthread ... yes (using -lpthread) Checking for w32threads ... no (using pthread instead) Checking for rpath ... no Checking for iconv ... yes Checking for soundcard.h ... yes (sys/soundcard.h) Checking for sys/dvdio.h ... no Checking for sys/cdio.h ... no Checking for linux/cdrom.h ... yes Checking for dvd.h ... no Checking for termcap ... yes (using -lncurses) Checking for termios ... yes (using sys/termios.h) Checking for shm ... yes Checking for strsep() ... yes Checking for vsscanf() ... yes Checking for swab() ... yes Checking for POSIX select() ... yes Checking for audio select() ... yes Checking for gettimeofday() ... yes Checking for glob() ... yes Checking for setenv() ... yes Checking for sys/sysinfo.h ... yes Checking for Apple IR ... yes Checking for pkg-config ... yes Checking for Samba support (libsmbclient) ... yes Checking for tdfxfb ... no Checking for s3fb ... no Checking for wii ... no Checking for tdfxvid ... no Checking for xvr100 ... no Checking for tga ... yes Checking for md5sum support ... yes Checking for yuv4mpeg support ... yes Checking for bl ... no Checking for DirectFB ... yes (1.2.6) Checking for X11 headers presence ... yes (using /usr/X11R6/include) Checking for X11 ... yes Checking for Xss screensaver extensions ... yes Checking for DPMS ... yes (using Xdpms 4) Checking for Xv ... yes Checking for XvMC ... no Checking for VDPAU ... yes Checking for Xinerama ... yes Checking for Xxf86vm ... yes Checking for XF86keysym ... yes Checking for DGA ... yes (using DGA 2.0) Checking for 3dfx ... no Checking for OpenGL ... yes Checking for VIDIX ... yes Checking for VIDIX PCI device name database ... yes Checking for VIDIX dhahelper support ... no Checking for VIDIX svgalib_helper support ... no Checking for /dev/mga_vid ... no Checking for xmga ... no Checking for GGI ... no Checking for GGI extension: libggiwmh ... no Checking for AA ... yes Checking for CACA ... yes Checking for SVGAlib ... no Checking for FBDev ... yes Checking for DVB ... no Checking for DVB HEAD ... yes Checking for PNG support ... yes Checking for MNG support ... yes Checking for JPEG support ... yes Checking for PNM support ... yes Checking for GIF support ... yes Checking for broken giflib workaround ... disabled Checking for VESA support ... no Checking for SDL ... yes (using sdl-config) Checking for DXR2 ... no Checking for DXR3/H+ ... no Checking for IVTV TV-Out (pre linux-2.6.24) ... no Checking for V4L2 MPEG Decoder ... yes Checking for OSS Audio ... yes Checking for aRts ... no Checking for EsounD ... yes Checking for esd_get_latency() ... yes Checking for NAS ... no Checking for pulse ... yes Checking for JACK ... no Checking for OpenAL ... yes Checking for ALSA audio ... yes (using alsa 1.0.x and alsa/asoundlib.h) Checking for Sun audio ... no Checking for VCD support ... yes Checking for dvdread ... yes (internal) Checking for internal libdvdcss ... yes Checking for cdparanoia ... yes Checking for libcdio ... auto (using cdparanoia) Checking for bitmap font support ... yes Checking for freetype >= 2.0.9 ... yes Checking for fontconfig ... yes Checking for SSA/ASS support ... yes Checking for fribidi with charsets ... yes Checking for ENCA ... no Checking for zlib ... yes Checking for bzlib ... yes Checking for RTC ... yes Checking for liblzo2 support ... yes Checking for mad support ... yes Checking for Twolame ... yes Checking for Toolame ... no (disabled by twolame) Checking for OggVorbis support ... yes (internal Tremor) Checking for libspeex (version >= 1.1 required) ... no Checking for OggTheora support ... yes Checking for internal mp3lib support ... yes Checking for liba52 support ... yes (internal) Checking for internal libmpeg2 support ... yes Checking for libdca support ... yes Checking for libmpcdec (musepack, version >= 1.2.1 required) ... yes Checking for FAAC support ... yes (in libavcodec: yes) Checking for FAAD2 support ... yes (internal floating-point) Checking for LADSPA plugin support ... no Checking for Win32 codecs ... no Checking for XAnim codecs ... yes (using /usr/local/lib/codecs) Checking for RealPlayer codecs ... yes (using /usr/local/lib/codecs) Checking for QuickTime codecs ... auto Checking for Nemesi Streaming Media libraries ... no Checking for LIVE555 Streaming Media libraries ... no Checking for FFmpeg libavutil ... yes (static) Checking for FFmpeg libavcodec ... yes (static) Checking for FFmpeg libavformat ... yes (static) Checking for FFmpeg libpostproc ... yes (static) Checking for FFmpeg libswscale ... yes (static) Checking for libamr narrowband ... no Checking for libamr wideband ... no Checking for libdv-0.9.5+ ... yes Checking for Xvid ... yes Checking for Xvid two pass plugin ... yes Checking for x264 ... yes (in libavcodec: yes) Checking for libdirac ... no Checking for libschroedinger ... no Checking for libnut ... no Checking for zr ... no Checking for libmp3lame ... yes (in libavcodec: yes) Checking for mencoder ... yes Checking for UnRAR executable ... yes Checking for TV interface ... yes Checking for DirectShow TV interface ... no Checking for Video 4 Linux TV interface ... yes Checking for Video 4 Linux 2 TV interface ... yes Checking for TV teletext interface ... yes Checking for Radio interface ... no Checking for Capture for Radio interface ... no Checking for Video 4 Linux 2 Radio interface ... no Checking for Video 4 Linux Radio interface ... no Checking for Video 4 Linux 2 MPEG PVR interface ... yes Checking for ftp ... yes Checking for vstream client ... no Checking for OSD menu ... no Checking for Subtitles sorting ... yes Checking for XMMS inputplugin support ... no Checking for GUI ... no Checking for automatic gdb attach ... no Checking for compiler support for noexecstack ... yes Checking for joystick ... no Checking for lirc ... no Checking for lircc ... no Checking for DVD support (libdvdnav) ... yes (internal) Creating config.mak Creating config.h Config files successfully generated by ./configure --enable-vdpau ! Install prefix: /usr/local Data directory: /usr/local/share/mplayer Config direct.: /usr/local/etc/mplayer Byte order: little-endian Optimizing for: Languages: Messages/GUI: de Manual pages: de Enabled optional drivers: Input: dvdnav(internal) ftp pvr tv-teletext tv-v4l2 tv-v4l tv cddb cdda libdvdcss(internal) dvdread(internal) vcd dvb smb network Codecs: x264 xvid libdv libavcodec(internal) real xanim faad2(internal) faac musepack libdca libmpeg2(internal) liba52(internal) mp3lib(internal) libtheora tremor(internal) twolame libmad liblzo gif Audio output: alsa openal pulse esd oss v4l2 sdl mpegpes(dvb) Video output: v4l2 sdl gif89a pnm jpeg png mpegpes(dvb) fbdev caca aa xvidix cvidix opengl dga vdpau xv x11 xover dfbmga directfb yuv4mpeg md5sum tga Disabled optional drivers: Input: vstream radio tv-dshow live555 nemesi Codecs: libschroedinger libdirac libamr_wb libamr_nb qtx win32 speex toolame Audio output: sun jack nas arts ivtv dxr2 Video output: zr zr2 ivtv dxr3 dxr2 vesa svga ggi xmga mga winvidix 3dfx xvmc bl xvr100 tdfx_vid wii s3fb tdfxfb 'config.h' and 'config.mak' contain your configuration options. Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer compile *** DO NOT REPORT BUGS if you tweak these files *** 'make' will now compile MPlayer and 'make install' will install it. Note: On non-Linux systems you might need to use 'gmake' instead of 'make'. Please check mtrr settings at /proc/mtrr (see DOCS/HTML/de/video.html#mtrr) NOTE: Win32 codec DLLs are not supported on your CPU (x86_64) or your operating system (Linux). You may encounter a few files that cannot be played due to missing open source video/audio codec support. Check configure.log if you wonder why an autodetection failed (make sure development headers/packages are installed). NOTE: The --enable-* parameters unconditionally force options on, completely skipping autodetection. This behavior is unlike what you may be used to from autoconf-based configure scripts that can decide to override you. This greater level of control comes at a price. You may have to provide the correct compiler and linker flags yourself. If you used one of these options (except --enable-gui and similar ones that turn on internal features) and experience a compilation or linking failure, make sure you have passed the necessary compiler/linker flags to configure. If you suspect a bug, please read DOCS/HTML/de/bugreports.html. Last edited by fangorn; 22nd February 2009 at 18:51. |
22nd February 2009, 21:32 | #28 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
So if you use the x264 CLI encoder, which obviously was built with pthreads, instead of MEncoder, what are the results?
Make sure you pass the "--threads auto" parameter to x264.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 22nd February 2009 at 21:38. |
25th February 2009, 09:56 | #29 | Link |
Registered User
Join Date: Jun 2008
Posts: 42
|
Sorry for the late replay, I was not with my machine.
When running x264 standalone I get approx. 80% (for each of the 8 virtual cores) load with 8 threads, 85% with 12 thread, 90% with 16 threads and approx 85% with --threads auto. It seems I am having a problem with mencoder. It does not matter if mencoder accesses x264 directly or if it uses -ovc lavc and accesses lib264 through ffmpeg routines. In turbo mode for first pass the load is quite small, but the speed is a little better than with nonturbo. I will investigate myself, but if someone has got a hint where to look, it will be much appreciated. |
Tags |
build, cruncher, encoding, linux, x264 |
Thread Tools | Search this Thread |
Display Modes | |
|
|