summaryrefslogtreecommitdiffstats
path: root/libhb/ports.c
Commit message (Collapse)AuthorAgeFilesLines
* libhb: Skylake microarchitecture detection, RB 859Max Dmytrychenko2015-09-221-0/+6
|
* hb_get_user_config_directory: improvements.Rodeo2015-04-301-8/+38
| | | | | | | | Fix build with older MinGW-w64 toolchains. Fix potential memory leak and crashes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7140 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ports: use standardized sched_yield instead of pthread_yieldjstebbins2015-04-231-1/+1
| | | | | | Fixes build on osx git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7122 b64f7644-9d1e-0410-96f1-a4d463321fa5
* sync: fix frame p-to-p extra audio after end framejstebbins2015-04-221-0/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7119 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ports: add functions for looking up user config directoryjstebbins2015-04-191-0/+61
| | | | | | | These will be used by the CLI for loading custom user presets. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7105 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Move strtok_r fallback to dedicated "compat" files.Rodeo2015-04-101-27/+0
| | | | | | | Also, check whether the toolchain already provides strtok_r instead of building it unconditionally. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7076 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add support for detection of new Intel processor releases.Rodeo2015-02-031-0/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6864 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Work around fedora mingw pthread library requirementjstebbins2015-01-181-0/+4
| | | | | | | | | | Fedora mingw seems to require it's own pthread library which causes build conflicts with our pthread lib. So this patch distinguishes whether libpthread or libpthreadGC2 is already installed on the system and uses the appropriate system lib when found. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6766 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: clean up handling dir directory separatorjstebbins2014-02-221-0/+21
| | | | | | | title->name was getting set to an empty string in some cases due to looking for the wrong directory separator. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6057 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix compiler warning with cpuid usagejstebbins2014-02-181-13/+17
| | | | | | | fixes "dereferencing type-punned pointer will break strict-aliasing rules" git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6045 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update some copyright dates to 2014.Rodeo2014-02-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Add cpuid inline asm macrojstebbins2014-02-151-17/+37
| | | | | | | | This eliminates our reliance on the private (unexported) libavutil function ff_cpu_cpuid(). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6032 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump libav, libav-v10_alpha1-90-g63debaajstebbins2014-01-121-0/+1
| | | | | | | | | Adds interlaced VC1 and HEVC support. Eliminates the need for most of our local patches. Many assorted bug fixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5962 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Revert previous borked commit. Sorry!Rodeo2014-01-071-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5958 b64f7644-9d1e-0410-96f1-a4d463321fa5
* parsecsv: always check result of malloc()Rodeo2014-01-071-0/+1
| | | | | | | | | RebiewBoard #670. Patch by icchan. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5957 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ports: detect more Intel microarchitecture families.Rodeo2013-12-271-0/+16
| | | | | | | Also disable QSV hardware support on Bonnell-based microprocessors. Some Cloverview processors apparently support media SDK with third-party hardware, and until we can access hardware to test and fix the crashes we have on that platform, let's not enable it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5942 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ports: cosmetics.Rodeo2013-11-081-1/+1
| | | | | | | | Also, previous patch is by icchan. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5882 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ports: cast return result from getpid().Rodeo2013-11-081-1/+1
| | | | | | | Fixes a warning caused by a type mismatch (int vs. pid_t). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5881 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: make libhb internal character code utf8jstebbins2013-09-221-3/+136
| | | | | | | | | | This makes libhb expect all strings passed to it to be in utf8 format. The cli converts the converts from the current code page to utf8. libhb converts back to the current code page when necessary for libraries that expect it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5798 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Big merge, QSV to trunk: part 1 (tracked files).Rodeo2013-08-221-0/+21
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5737 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: store and print additional CPU informationRodeo2013-07-131-9/+127
| | | | | | | | Printed in hb_scan(), so that it's present in all Activity Logs (both encode and scan). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb/common: improve fallback mechanism.Rodeo2013-06-031-0/+35
| | | | | | | | | | | | | | | | | | | | API changes: - added hb_global_init(), must be called before any other libhb function - removed (somewhat pointless) hb_mixdown_t.internal_name - some hb_*_get_from_name() functions now return 0 instead of -1. Instead of hardcoded fallbacks, list items now have a specific fallback, and a generic ID for when the specific fallback is unavailable. Encoder availability is checked at runtime (hb_global_init calling hb_common_global_init) and the item's value/fallback is sanity-checked and updated if necessary. See https://reviews.handbrake.fr/r/506/ for more detailed information. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5547 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_system_sleep: refactoring.Rodeo2013-03-181-24/+62
| | | | | | | | | | | | Also: - release power assertions before freeing them - actually free the power assertions in hb_close() (previously unused) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5340 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated all the copyright headers to 2013.sr552013-03-091-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5318 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Prevent OSX ML sleep during encoding, thanks to Jerome Lacubesr552013-02-041-0/+71
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5238 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated file copyright / GPL headerssr552012-06-151-3/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4737 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: tasksets API provided by scsiguyjstebbins2012-05-171-12/+15
| | | | | | | | | | This is an easier to use API for launching multithreaded tasks. And it is more portable since it does not rely on undefined/implementation specific behavior of POSIX mutexes. That is, the ability for one thread to unlock a mutex owned by another thread. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4685 b64f7644-9d1e-0410-96f1-a4d463321fa5
* merge assorted fixes provided by Rogerio Britojstebbins2012-05-011-0/+1
| | | | | | | | Pretty much all resource cleanup issues on error condition handling. Thanks Rogerio! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* PGS (bluray) subtitle support \o/jstebbins2012-04-261-2/+0
| | | | | | | | | | | | Thanks to patches supplied by David Mitchell and Rob McMullen we finally have PGS support. I added a fix for libav pgs timestamp processing and detection of forced subtitles to their work, then made foreign audio search work with PGS subs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4605 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Align stack of all threads created by libhbjstebbins2011-11-181-1/+1
| | | | | | | This is a preemptive measure to prevent any future crashes in SSE code that requires 16 byte stack alignment. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4358 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use TEMP or TEMPDIR environment variables for location of tmp directoryjstebbins2011-03-191-2/+6
| | | | | | | Falls back to /tmp if neither are set. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump cpu count limit from 8 to 64jstebbins2010-11-071-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3657 b64f7644-9d1e-0410-96f1-a4d463321fa5
* reorder #includes to fix redefinition problem in mingw64jstebbins2010-10-231-11/+10
| | | | | | | | if winsock2.h isn't included before windows.h, different conflicting definitions are used for several macros and typedefs git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3613 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add strtok_r to ports.c for mingwjstebbins2010-05-221-0/+26
| | | | | | | fixes davidfstr's subtitle work git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3311 b64f7644-9d1e-0410-96f1-a4d463321fa5
* make it possible to dynamically create and close multiple libhb instancesjstebbins2010-03-261-4/+5
| | | | | | | | | | tweaks to make libhb more usable from a C# app remove pointers from preview filenames, replaces with hb instance and title id's removes only previews upon hb_close, leaves temp dir for hb_global_close git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3170 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add point-to-point encodingjstebbins2009-12-231-0/+7
| | | | | | | | | | | | | | allows frame and pts based start points. end points were already previously supported. New job variables pts_to_start and frame_to_start specify the start point. There can be a period during the encode where it has to search for the start point. During this period, libhb sets a new state HB_STATE_SEARCHING and sets progress and eta till start point found. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3039 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Reduce the amount of buffering used and eliminate hb_snooze in the encoding ↵jstebbins2009-12-051-0/+29
| | | | | | | | | | | | | | | | | | | | | | pipeline For HD sources on an 8 core system with hyperthreading, we were using 1.5GB of ram. Add to that the 600MB x264 uses for rc-lookahead, pushes it north of 2GB. To reduce our memory usage, the fifo depths have been reduced are are no longer a multiple of cpu count. Use of hb_snooze has been eliminated in the encoding pipeline so that performance doesn't fall as a result of the reduced fifo depths. In sync, each audio and video were given separate threads so that each can wait on it's respective input fifo without blocking the others. In muxcommon, each stream being muxed was given a separate thread so that each can wait on it's respective fifo. This allows the removal of hb_snooze in the sync and muxer work loops. In both sync and muxer, there is common data that is shared by all threads, so special init routines allocate this shared data and initialize the threads. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3007 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix gethostbyname failure on mingwjstebbins2009-09-201-0/+17
| | | | | | | winsock requires initialization before you can call any networking functions git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2830 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: close file handle after querying dvd region mask from drivejstebbins2009-07-241-0/+7
| | | | | | | this only affected linux since we only query the region mask on linux git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2729 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: DVD drive region detection on linuxjstebbins2009-07-091-0/+37
| | | | | | | | | Read and log the region mask of the DVD drive. We get the occasional linux user that has an unset region. Logging the region will help isolate the problem more quickly. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2675 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix regression introduced in svn 2620jstebbins2009-07-021-1/+3
| | | | | | | cygwin pthreads is more like the *nix's git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2656 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - cleanup. fixed hb_thread_to_integer() on darwin to cast pointer cleanly ↵konablend2009-06-251-1/+1
| | | | | | for both 32-bit and 64-bit. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Format cleanup.konablend2009-06-251-4/+24
| | | | | | | | | | - fixed ports.c to use a more portable method of getting integral pthread_t representation; resolves mingw crash. - added GCC attribute to generate compiler warnings for invalid usage of hb_log, hb_deep_log and hb_errror; see new macro HB_WPRINTF(s,v) in common.h. - fixed various invalid usage of above functions on osx i386/x86_64, and mingw. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2618 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch adds mingw32 cross-compilation support to HandBrake trunk tokonablend2009-04-141-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | produce native win32 binaries. The main benefits are the binary does not have any Cygwin runtime requirements and various host platforms can be leveraged to build HandBrake. Cross-compilation toolchains are complex to setup and recommended for experts only; but once setup it can build at speeds similar to native builds, on Darwin or Linux. BUILD INSTRUCTIONS: Add mingw32 toolchain to beginning of your path and take the toolchain prefix from gcc (eg: i386-mingw32-gcc) and pass to configure: ./configure --cross=i386-ming32 PRODUCTS: - hb.lib (static library) - HandBrakeCLI.exe DOWNLOADS: Contrib downloads need to be seeded with: - pthreads-w32-2-8-0-release.tar.gz (new) - xvidcore-20090311.tar.gz SUMMARY: Specifically, all GUI trees are not impacted. configure - added --cross=PREFIX - reworked search for gcc and cross-compile related tools to use prefix contrib/ - sub-patches added as needed for mingw contrib/xvidcore/ - bumped from 1.1.3 -> 1.2.1+ (daily 20090311) - reconstituted P01-cygwin.patch - created new P00-darwin.patch needed for macho64 asm flag on x86_64 arch libhb/ - uint -> uint32_t - remaining changes guarded by mingw32 macro. test/ - modified to support pthread-compatibility library attach/detach. - all changes guarded by mingw32 macro. BRANCHES: source: https://hbfork.googlecode.com/svn/branches/mingw@28 target: svn://svn.handbrake.fr/HandBrake/trunk@2325 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2326 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix CPU count detection on OSX.saintdev2009-03-111-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2255 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Clean up CPU count detection.saintdev2009-03-111-54/+55
| | | | | | | | -No longer use 'grep' on linux to detect CPU count! -Use sysctls on OSX. -SunOS and CYGWIN are unmodified. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2254 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Fix linux compilation. Only set the pthread mutex type on cygwin ↵eddyg2008-10-101-0/+3
| | | | | | since it is the only one that is using the wrong one as a default. Avoids having to get the enums right across OS's. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1824 b64f7644-9d1e-0410-96f1-a4d463321fa5
* After discussion with eddyg, extending verbose logging level 2 from just ↵jbrjake2008-10-091-3/+3
| | | | | | memory-related logging to general-purpose housekeeping--stuff that isn't necessary when scrolling through activity logs users submit with bug reports and support queries. This includes things like thread start/exit messages and preview frames. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1820 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change pthread mutex's to be explicitly NORMAL instead of relying on the ↵eddyg2008-10-061-1/+6
| | | | | | default on a per OS basis. Cygwin was using RECURSIVE as a default, which does not block the caller upon a second lock. This commit fixes decomb, and slow, and slower deinterlace on Windows. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1817 b64f7644-9d1e-0410-96f1-a4d463321fa5