summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Native language subtitle scan improvements. Thanks, eddyg!jbrjake2007-07-262-59/+130
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@741 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This should finally fix the PS stream language without iterating through ↵saintdev2007-07-261-1/+1
| | | | | | every language to find we want the first. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@740 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change Matroska timecode scale to be 1000000000 / 90000.saintdev2007-07-261-8/+9
| | | | | | | This is a patch from Yuvi on the forums. Thanks for killing that magic number! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@739 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch from eddyg should help alleviate HandBrake's audio drop issues. ↵jbrjake2007-07-254-15/+58
| | | | | | It also adds a number of beautiful comments to sync.c that really help clarify the code. Thanks, eddy! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@738 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Ok, this should fix compilation. Instead of using the 2-letter language code ↵jbrjake2007-07-251-1/+1
| | | | | | for "Unknown" (which is a blank string) I've set it to use the 3-letter code ("und" for undetermined). There could easily be a better way to do this. C strings are not my forte. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@732 b64f7644-9d1e-0410-96f1-a4d463321fa5
* We shouldn't assume that MPEG2-PS audio is English. Set it to 'Unknown' instead.saintdev2007-07-251-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@730 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Makes sure chapter markers get applied to the right track, so ReaderFunc() ↵jbrjake2007-07-241-2/+5
| | | | | | sees them. Thanks for this patch too, ares01590! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@727 b64f7644-9d1e-0410-96f1-a4d463321fa5
* These hopefully-innocuous changes to hb.c should help with the active ↵jbrjake2007-07-201-2/+19
| | | | | | queuing in the MacGui. Adds a new counter variable, h->job_count_permanent, so the task list readout ("Encoding job x of y") stays correct even if the user adds or removes items on the jobs list during an encode. Seems to work ok for me and Dynaflash, but who knows? This might need to be reverted, and/or maybe someone can come up with a less hackish way of doing it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@719 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Set MinCache to 1 if we're using x264 and b-frames.saintdev2007-07-161-0/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@704 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Active Queue Initial Implementationdynaflash2007-07-162-3/+25
| | | | | | | | | - Warning: currently, when adding jobs during encoding, the main window progress bar and task info gets hosed, if a workaround via libhb cannot be easily obtained, a cocoa workaround is available for checkin. - Can now add jobs during encoding - Scan progress bar is a barber pole until scanning progress during encoding is fine tuned. - Needs further testing if DVD Auto Detect is turned on. If conflicts with drive arise, automatically turning off dvd auto detect when adding jobs during encoding is ready for checkin. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@695 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update makefile in libhb for libmkvsr552007-07-141-3/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@686 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix AAC audio inside MKV container crash.saintdev2007-07-141-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@681 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Matroska muxer!saintdev2007-07-145-1/+329
| | | | | | | | | | -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
* More accurate frame start/stop times for vorbis. This is needed for the ↵saintdev2007-07-131-5/+7
| | | | | | upcoming Matroska muxer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@674 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Oops, that's 'management_active', not 'managed'.saintdev2007-07-081-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@657 b64f7644-9d1e-0410-96f1-a4d463321fa5
* vorbis: gracefully fail if encoder setup fails, and remove depriciated ↵saintdev2007-07-071-3/+20
| | | | | | OV_ECTL_RATEMANAGE_AVG. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@656 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fixes to the CLI for forced subtitles, and Turbo.saintdev2007-07-062-39/+48
| | | | | | | | | -Fixes a bug in the HB CLI whereby you can't use the native-language switch to enable subtitles when doing single pass. -Changes the threshold for enabling subtitles automatically during a subtitle scan from 20% to 10%. -Changes the turbo options to match what the GUI is doing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@650 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Implement transport and program stream support. With these changes it's now ↵awk2007-07-0410-38/+2166
| | | | | | 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
* Switch buf->key to buf->frametype which is a bitmask telling us what type of ↵saintdev2007-06-1711-24/+34
| | | | | | | | | frame we are dealing with. This doesn't change any functionality, but I need to be able to distinguish between x264 IDR and I frames for the upcoming matroska muxer. This also has the side effect of making the code a little easier to read and maintain. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@623 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Finally recommitting clee's patch from r518 to allow 64-bit mp4 files that ↵jbrjake2007-06-132-11/+26
| | | | | | | | 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
* Disables extra audio tracks so they don't all play over the main audio track ↵jbrjake2007-06-121-6/+21
| | | | | | in QuickTime. They can be re-enabled from the Properties menu in QT Pro or with Dumpster. Shouldn't have any affect on people who use sane video players. Props to eddyg for reporting the issue, identifying the atom in question, and castigating me for my lazy and unkempt coding ways. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@606 b64f7644-9d1e-0410-96f1-a4d463321fa5
* A big batch of patches from eddyg.jbrjake2007-06-064-22/+211
| | | | | | | | | | | | | 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
* git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@590 ↵awk2007-05-192-7/+33
| | | | b64f7644-9d1e-0410-96f1-a4d463321fa5
* Removes thread limitation for iPod encoding. With x264's new-ish sliceless ↵jbrjake2007-05-091-1/+0
| | | | | | threading method, there is no longer any need, if there ever was, of keeping the video to 1 slice. This should significantly speed up iPod encodes and shut up the people claiming HB can't use more than 70% of a processor. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@577 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated the input channel layouts to store the source LFE information as ↵maurj2007-05-065-50/+51
| | | | | | | | | 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
* Updated do_job() in work.c to remove any non-AC3 audio tracks from the job ↵maurj2007-05-041-0/+14
| | | | | | before performing AC3 passthru. This prevents Bad Things from happening when a DTS, MPEG2 or LPCM audio track is selected and AC3 passthru to AVI is selected. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@569 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enabled DTS channel mixdowns by moving to a more generic input channel ↵maurj2007-05-043-306/+194
| | | | | | 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
* Tells x264 to use threads=cpus*1.5 instead of threads=cpus. This is because ↵jbrjake2007-05-021-1/+1
| | | | | | x264 implemented sliceless threading since we last updated the revision we use. The codec now works best with more threads than processors, as odd as that seems at first blush. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@564 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added support for DTS audio. DTS audio streams (of 5.1 audio and below) ↵maurj2007-05-0211-136/+617
| | | | | | | | | 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
* Various fixes:saintdev2007-04-262-5/+53
| | | | | | | | | - Include parsecsv.c in the Jamfile so we can compile the CLI with Jam - Quiet some compiler warnings in parsecsv.{c,h} - Check some return values in muxmp4.c and encfaac.c and die gracefully if there is a problem. - Correctly set the number of audio channels in the stsd atom. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@552 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix Previous Bad commit for Cyanders Chapter Markersdynaflash2007-04-259-38/+263
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@548 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
* Add 384 kbps to Audio Bitrates selection for use with 6 channel discretedynaflash2007-04-181-1/+1
| | | | | | - We still need to filter out which bitrates are available depending on mixdown. Right now, you can select 320 in gui for a stereo track even though libhb limits it to 160, so its misleading. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@530 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 the code a bit.clee2007-04-171-207/+212
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@521 b64f7644-9d1e-0410-96f1-a4d463321fa5
* 64-bit data atoms break some consumer devices. We need to figure out a ↵clee2007-04-171-1/+1
| | | | | | smarter way of doing this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@520 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a major memory leak introduced in Nyx's bframe patch.saintdev2007-04-171-7/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@519 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Successfully create MP4 files bigger than 4GBclee2007-04-161-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@518 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Prevents a bus error at the end of muxing when b-frames are enabled.jbrjake2007-04-161-0/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@517 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Much better B-frame muxing frame-reordering. This will preserve the sps/pps ↵jbrjake2007-04-169-107/+213
| | | | | | | | info, properly offset the first frame, and flush any remaining frames at the end of the encode. Patch by: Nyx git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@513 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cleaning up some compiler warnings.clee2007-04-155-5/+5
| | | | 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-122-0/+28
| | | | | | | | | | | - 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-123-6/+13
| | | | | | | | | | | | | 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-1110-132/+300
| | | | | | | | *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
* Ooops. Restores xvid-in-mp4 functionality, which I broke with b-frame ↵jbrjake2007-04-041-3/+3
| | | | | | muxing. (Thanks for the bug report, superdump, and thanks for pointing out where the problem was, saintdev.) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@476 b64f7644-9d1e-0410-96f1-a4d463321fa5
* maurj reported a double-free crash that I am unable to reproduce. This ↵saintdev2007-04-041-1/+0
| | | | | | removes an extra free that appears to be the problem. Better to leak a little memory than have some users crash. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@474 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a bus error if b-pyramid is given as an x264 option without specifying a ↵jbrjake2007-04-031-6/+13
| | | | | | value. (Thanks for alerting me to the bug, saintdev) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@473 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Amended work.c to remember the number of source A52 channels and lfe ↵maurj2007-04-021-0/+5
| | | | | | channels, so that deca52.c can correctly detect a 5.1 source which needs mixing down to Dolby Digital. Previously it was just mixing 5.1 down to stereo. This has been broken since rev 438, when the multi-soundtrack bug was fixed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@472 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Oops, got a little to unalloc-happy. Fixes a crash.saintdev2007-04-021-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@471 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix several MB of memory leaks in lame, and vorbis.saintdev2007-04-014-0/+25
| | | | | | 6ch Vorbis doesn't seem quite ready for prime time. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@470 b64f7644-9d1e-0410-96f1-a4d463321fa5