summaryrefslogtreecommitdiffstats
path: root/libhb/common.h
Commit message (Collapse)AuthorAgeFilesLines
* Adds extra, user-selectable dynamic range compression to the liba52 ↵jbrjake2007-12-081-0/+1
| | | | | | | | interface, making softer sounds louder. Based on code from liba52's A52Decoder, used in Perian's preferences pane. Set with a job->dynamic_range_compression float, with valid values being 1.0 - 4.0. Controlled from the CLI with --dynamic-range-compression or -D. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1108 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Gives the CLI a separate option for adding the iPod UUID atom to mp4 files, ↵jbrjake2007-11-281-0/+1
| | | | | | instead of it just being a side-effect of using the x264b30 encoder. It's called with -I or --ipod-atom . git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1084 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Optimize MP4 files for HTTP streaming (on the CLI it's -O or --optimize).jbrjake2007-11-211-1/+1
| | | | | | | | Has mpeg4ip run a second pass after muxing is complete, to move the MOOV atom to the beginning of the file. To get this to work, I had to replace a patch from Perian, which has written the avc1 "Compressor Name" in the Pascal string style QuickTime expects. Unfortunately, that patch left mpeg4ip unable to parse its own output, when muxing x264 video. Instead, now the Compressor Name is a blank string, and QuickTime substitutes "H.264" for it. NOTE: This is *not* hinting for RTP streaming, just shuffling the container around so it starts playing faster over the web. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1074 b64f7644-9d1e-0410-96f1-a4d463321fa5
* First attempt at variable frame rate detelecining for NTSC video sources.jbrjake2007-11-101-1/+2
| | | | | | | This check-in includes the library code as well as the CLI implementation. Only works with MP4 and MKV, untested with high profile, results may vary with mixed content, consult a physician if condition persists for longer than four hours. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1051 b64f7644-9d1e-0410-96f1-a4d463321fa5
* "Loose" anamorphic:jbrjake2007-10-161-0/+2
| | | | | | | | - Scales the storage frame size to arbitrary widths, like 640 for the iPod. - Uses dimensions that divide cleanly by an arbitrary number (default: 16) and adjusts the SAR to match - Uses ITU PAR values when the video is meant to be overscanned ( 7+ pixels cropped on left+right) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1029 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added buffer management and changed fifo sizes. Changed job->subtitle_scan ↵eddyg2007-09-111-1/+1
| | | | | | to job->indepth_scan, and fixed memory init bug in denoise.c. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@945 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Queue Improvements from travistexdynaflash2007-09-071-3/+1
| | | | | | | | | | | | | | | | | | | - Add view selection widget to choose "encode by encode" or "pass by pass" view - Add "Show Detail" button to toggle detailed view on/off - Removed #define JOB_GROUPS. You can now control this in the UI and show either "encodes" or "passes". - Revamped the progress strings to give you exact progress. - New terminology (encodes and passes) - New toolbar in queue window (not complete, icons need work) - New files, added to project: Encodes.png EncodesPressed.png Info.png JobPassLarge.png JobPassSmall.png Passes.png PassesPressed.png git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@931 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: New Active Queue implementation courtesy of travistexdynaflash2007-09-051-0/+5
| | | | | | | | | | | | | - Thanks travistex! - queue is now in a separate window - queue currently shows jobs grouped together as one encode, which is configurable - queue now shows currently encoding job, which is independently cancellable without losing the rest of the queue. - can start and pause encoding in the queue window - queue uses its own nib - progress status needs work - This has a way to go, but needed to get checked in as it changes the current xcode project structure. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@925 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enable jam to work by changing the error handling to use a callback rather ↵eddyg2007-08-271-0/+4
| | | | | | than a direct call outside of libhb. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@880 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add Subtitle scanning for forced subtitles and normal subtitles from the CLIeddyg2007-08-211-1/+2
| | | | | | | and the MacOS GUI. See the new subtitle language options in the GUI. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@844 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added "--subtitle-force" option to the CLI, and added changes to decsub toeddyg2007-08-201-0/+1
| | | | | | | | select only forced subtitles curtesy of Utumno (thanks!). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@843 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This huge patch from huevos_rancheros ports a number of video filters from ↵jbrjake2007-07-271-0/+32
| | | | | | | | | | mencoder to HandBrake: yadif+mcdeint, hqdn3d, pp7, and pullup+softskip+harddup. What this means is that HB now has stateless inverse telecine, temporal denoising, and motion-adaptive deinterlacing! HandBrake is growing up =) Thank you, huevos_rancheros! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@749 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Matroska muxer!saintdev2007-07-141-0/+1
| | | | | | | | | | -Chapters don't work in VLC. I'll need to update the library to work-around this. Most other players should pick them up, however. -PAR, check. -x264 b-frames, check. -Multi-track audio, check. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@680 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Implement transport and program stream support. With these changes it's now ↵awk2007-07-041-0/+4
| | | | | | possible to open a .ts or .mpg files and transcode to standard Handbrake Output files. This fixes Ticket #21. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Finally recommitting clee's patch from r518 to allow 64-bit mp4 files that ↵jbrjake2007-06-131-10/+14
| | | | | | | | can hold more than 4 gigs... controlled by a boolean called job->largeFileSize and enabled from the cli with -4 or --large-file. Note that this breaks compatibility with stuff like the iPod, AppleTV, PS3 (I think), etc...so it is off by default. Also converted a few stray hard tabs into soft tabs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@618 b64f7644-9d1e-0410-96f1-a4d463321fa5
* A big batch of patches from eddyg.jbrjake2007-06-061-0/+6
| | | | | | | | | | | | | Adds following options to the CLI: --subtitle-scan for auto-selecting subtitles for foreign language segments in native language audio tracks --native-language for auto-selecting subtitles for foreign language audio without knowing the track number --longest for auto-selecting the longest title like in the MacGui --turbo for improving speed on the first pass of a two pass encode with x264 (based on superdump's turbo x264 options in mencoder). Thanks, eddyg! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@600 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated the input channel layouts to store the source LFE information as ↵maurj2007-05-061-16/+10
| | | | | | | | | well as the non-LFE layout. This is so muxavi.c can output the correct channel count for AC3 passthru for all AC3 sources. Updated Controller.mm, scan.c and work.c to use these revised layouts. Added a new property to the work object, to remember the source audio codec for audio work objects. This enables encfaac to detect an 6-channel AC3 source to apply the QuickTime 6-channel audio mapping (as opposed to a DTS source, which doesn't need it). Fixed the Dolby Pro Logic I/II downmix mappings in libdca and updated the libdca patch. Uploaded a new set of pre-built darwin contribs (0014) with this patch applied. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@570 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enabled DTS channel mixdowns by moving to a more generic input channel ↵maurj2007-05-041-0/+30
| | | | | | layout set of constants. Updated Controller.mm to use these generic input layout constants when deciding which mixdowns to offer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@565 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added support for DTS audio. DTS audio streams (of 5.1 audio and below) ↵maurj2007-05-021-16/+39
| | | | | | | | | will be detected and decoded. This requires a new library - libdca (and patch) - which is included (in patched form) in a new version of the pre-built UB Darwin contribs (0012). These have been uploaded to download.m0k.org/handbrake/contrib/ . I haven't yet added any code to Controller.mm to recognise the DTS streams as supporting mono / 6ch DPL1 / DPL2 downmixes. Note: running Jam on the new library required me to update some tools on Mac OS X - possibly libtool, autoconf, automake. Not sure which made the difference, but these were the ones I updated. it won't jam successfully without this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@559 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cyanders Named Chapter Markersdynaflash2007-04-251-0/+4
| | | | | | - Thanks Cyander git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@547 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Removed all references to the old job->surround variable, as it is no longer ↵maurj2007-04-181-6/+0
| | | | | | used. Also, removed the "Extract 5.1 Dolby Digital to 6-Channel AAC" preference option from the Mac OS GUI prefs window and controller, as it is no longer needed. It may be worth adding in a new "Default mixdown" preference in its place for a future version of Handbrake? git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@523 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cleaning up some compiler warnings.clee2007-04-151-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@508 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Presets now utilize Audio Mixdowns Thanks maurj!dynaflash2007-04-121-0/+2
| | | | | | | | | | | - Added second audio track support in presets - Mixdowns regress gracefully depending on current dvd source - Source Track 2 sets to "None" if one is specified that doesn't exist in current dvd. Note: in initial testing, second track using 6 channel kills encode performance and yields a track with no sound. Needs to be tested and verified. Main track works flawlessly in initial testing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@499 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated the Mac GUI to use the new audio mixdowns. This means that the Mac ↵maurj2007-04-121-0/+4
| | | | | | | | | | | | | GUI now supports Dolby PRo Logic 2 mixdowns! The Audio tab now has two mixdown NSPopUpButtons, which are set to display all of the possible mixdowns for the current input audio codec / output audio codec / input audio channel configuration. A mixdown of HB_AMIXDOWN_DOLBYPLII is used by default (or the next best mixdown if this isn't possible). Ideally this will become a prefs option to specify your choice of default audio mixdown. For AC3 passthru, a single mixdown of "AC3 Passthru" is displayed. I've had to update the Xcode project file, to make the Handbrake target look for headers in the "../contrib/include" folder too. This is so that it can find the a52 headers which are now used by Controller.mm. I've added an ac3flags property to hb_audio_s, to enable us to access the source ac3 flags outside of libhb. This is set in scan.c for each source audio. I've updated hb_mixdown_s and the hb_audio_mixdowns[] to include the CLI "short name" version of the mixdowns too, ready for the Mac GUI "default mixdown" prefs saving / loading. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@497 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added libhb and CLI support for Dolby Pro Logic II 5.0 matrix encoding. ↵maurj2007-04-111-19/+64
| | | | | | | | *NOT YET ADDED TO THE GUI*. Handbrake now uses a more general "audio mixdown" concept. For each audio track to be converted you specify a mixdown. These are defined in common.h. This checkin only allows you to specify one mixdown for all tracks in the CLI, although everything is in place internally to specify a different mixdown per track. In the CLI, the "-6 --surround" option has been repurposed as a "-6 --mixdown" option, with a string parameter of mono/stereo/dpl1/dpl2/6ch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@494 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Keep the language id for each audio track when using MP4.saintdev2007-03-261-0/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@454 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added chapter markers in a chapter text track in mp4 files.maurj2007-03-231-0/+3
| | | | | | | | | This option is turned off by default. It can be turned on in the CLI by specifying a "-m" or "--markers" option. it is not yet enabled as an option in the Mac GUI. These chapter tracks are only detected by QuickTime if the file extension is .m4v. If the extension is .mp4, the chapter text track is ignored. To this end, I have made test.c detect .m4v as a file extension for mp4 too. This change has required a substantial change to the mp4v2 library patch. Until the precompiled contrib binaries are updated by Prigaux, try doing "./configure" and then "./jam" (which will build the native contribs, but fail to build UB versions of the apps), and then try "make internal" to compile a native version of the apps. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@440 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Applied and committed saintdev's patch to fix multi-track audio. Only in ↵maurj2007-03-211-14/+6
| | | | | | | | the CLI for now - the GUI will need updating to reinstate the second audio dropdown. If the -6 option is specified in the CLI (and faac is specified), then *any* 5.1 tracks specified will be exported as 6-channel AAC. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@438 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Thinine's custom file size and x264 fix.dynaflash2007-03-131-1/+1
| | | | | | | | | Thanks Thinine! - Fix output file variable in controller.mm and common.h so that custom file sizes work properly with x264. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@431 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merge the 5.1 branch into the trunk.prigaux2007-03-061-0/+411
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@422 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merge the 0.8.0_mpeg4ip branch into the trunkprigaux2007-02-111-373/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@285 b64f7644-9d1e-0410-96f1-a4d463321fa5
* added worker thread sleep throttling.johnallen2007-01-081-0/+1
| | | | | | | | | | each of the work object threads now self adjust their sleep interval based on the "fullness" of their fifo. 80% is the choose threshold. Work objects with a fifo fullness of greater than 80% increase their sleep interval. This allows other work object with less than 80% fullness more CPU usage. Also adjusted thread_func, reader, and muxer sleep intervals to more reasonable values. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@98 b64f7644-9d1e-0410-96f1-a4d463321fa5
* added HB_STATE_MUXING to hb_state_s and corresponding structure.johnallen2007-01-071-0/+6
| | | | | | | | | | this state indicates the transition from the end of HB_STATE_WORKING to the beginning of HB_STATE_WORKDONE. This state can take as long a 10 minutes on a long conversion. The associated working structure contains a progress float. Once we determine how to get a proper progress from the call to av_write_trailer in libavformat, we can update this progress. HB, IHB, and HBTest are now using using HB_STATE_MUXING to provided feedback to the user. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@96 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added CRF x264 rate control method to HBTest.jbrjake2007-01-041-1/+2
| | | | | | | | | | Constant quantizer is maintained as the default so nothing changes: HBTest -i input -o output -e x264 -q 0.60 Switch to constant rate factor by throwing a -Q on the end: HBTest -i input -o output -e x264 -q 0.60 -Q git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@89 b64f7644-9d1e-0410-96f1-a4d463321fa5
* HandBrake 0.7.1a1rhester2006-09-301-0/+4
| | | | | | | | | | | | | | | | Made H.264 baseline levels more generic Added iPod 640x480 support to libhb, HBTest and MacOS X GUI Added proper iPod 640x480 muxing Modified rate control for more accurate ending video bitrates Updated ffmpeg and x264 base sources to more current levels Removed inlined ff_get_fourcc (now in ffmpeg) Updated patches for xvidcore, libdvdread, x264, and ffmpeg Relocated contrib files to local web server and updated version files to new site Renamed contrib files and patches to consistent naming standard Updated contrib Jamfile to support new patches and naming standard git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@70 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use the DVD name for the output filetiter2006-04-201-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@65 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Implemented audio and subtitle selectiontiter2006-04-171-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@62 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merge from avformat branchtiter2006-04-171-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@60 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Simple threading change (~4% faster). Breaks pause/resume for nowtiter2006-03-181-3/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@40 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added hb_init_express - makes the binary smaller. Still need to striptiter2006-03-161-0/+43
| | | | | | | the unused avi and ogm muxers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@36 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Structural changes, in order to eventually be able to compile HBtiter2006-03-161-37/+2
| | | | | | | without certain encoders git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@34 b64f7644-9d1e-0410-96f1-a4d463321fa5
* HandBrake 0.7.0handbrake2006-01-141-0/+349
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@16 b64f7644-9d1e-0410-96f1-a4d463321fa5