summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Allow mac gui to select AC-3 + AAC at the same time, still needs CLI work ↵eddyg2008-02-166-13/+57
| | | | | | for the same. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1267 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Allow multiple output audio tracks from a single DVD audio track.eddyg2008-02-151-16/+51
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1266 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Always use a sample rate of 48000hz for AC3.jbrjake2008-02-141-0/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1265 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Reverts 1262, since, duh, sample size != sample duration.jbrjake2008-02-141-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1263 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Calculate AC3-in-M4V frame sizes based on channel count instead of always ↵jbrjake2008-02-141-1/+1
| | | | | | using 1536. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1262 b64f7644-9d1e-0410-96f1-a4d463321fa5
* AC3 from DVD via HB converted to M4V for viewing on ATVeddyg2008-02-141-7/+26
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1261 b64f7644-9d1e-0410-96f1-a4d463321fa5
* When x264 outputs frames as references for b-frame pyramids, flag them as ↵jbrjake2008-02-121-1/+5
| | | | | | such instead of just marking them as regular b-frames. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1257 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Refer to transitions in the presence-or-lack-thereof of progressive flags on ↵jbrjake2008-02-121-2/+2
| | | | | | MPEG-2 frames as Film->Video or vice versa instead of Progressive->Interlaced. Slightly more accurate, and will make future comb detection of previews less confusing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1256 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Removes unused variable (and gets rid of the compile warning for it). Change ↵jbrjake2008-02-121-1/+0
| | | | | | copied from libmpcodec's official version of pullup. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1255 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use proper fourcc code of FMP4 for ffmpeg MPEG-4 video, instead of ↵jbrjake2008-02-101-2/+2
| | | | | | identifying it as DivX, like ffmpeg used to. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1254 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - More robust stream duration estimation: take 16 (position,pts) samples ↵van2008-02-091-28/+100
| | | | | | | | | then do a max likelihood estimate of the average rate based on the rate between all pairs of samples. - When we detect a sync error attempt to resync so that we can handle streams where a few bytes have been inserted or deleted. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1253 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - correct the way that output timestamps are generated so that VFR will work ↵van2008-02-041-27/+73
| | | | | | with bframes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1250 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Variable frame rate improvements.jbrjake2008-02-042-43/+126
| | | | | | | | | - Makes it work better with the source's time stamps and avoids discontinuities, by removing its lazy assumption that all frames are 3003 ticks long. - Handles more than 1 frame being dropped out of 5. - Preserves chapter markers from being dropped along with frames they're attached to (thanks van!). - Also, since VFR no longer requires input at 29.97 fps, removes the hard-coding of that frame rate. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1249 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Double hb_log() max line length to avoid truncation of x264 options in display.eddyg2008-01-311-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1244 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add an (optional) iso639_2b field to the language struct so that we will ↵van2008-01-242-23/+28
| | | | | | accept either ISO 639-2/T or /B codes in input content (particularly MPEG transport stream PMTs) but will always generate /T codes in mp4s to keep QuickTime happy. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1234 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Make MPEG audio (and other audio types besides AC3) work.van2008-01-221-103/+126
| | | | | | | | | - Since the stream is closed after the scan then reopened by reader, we have to preserve all the state we gathered during the scan (like audio id to TS PID bindings) across the close. For now do this by ignoring the close call & doing a close internally when a stream of a different name is opened. - Don't overfill ts_packetbuf and abort just because an audio stream was missing the AC3 sync pattern (MPEG & DTS streams don't even have an AC3 sync pattern). - Get rid of several unused variables so that this compiles with no warnings. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1231 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - rather than completely giving up on a dvd because we got a read error on ↵van2008-01-221-5/+13
| | | | | | | | | next_vobu, just skip to the start of the next cell & keep going. - get rid of some unused variables so this compiles with no warnings. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1230 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Maintains separate filter settings for each job. This prevents the MacGui ↵jbrjake2008-01-225-21/+60
| | | | | | from using the same filter settings for every job in the queue. Patch from travistex. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1228 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Prevents VFR from leaving PTS gaps at dropped frames, so it works properly ↵jbrjake2008-01-221-13/+17
| | | | | | with the new sync and MP4 muxing code in r1223 and r1224 that passes through the source's time stamps. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1227 b64f7644-9d1e-0410-96f1-a4d463321fa5
* account for quantization bias when computing durations for vfr.van2008-01-221-8/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1224 b64f7644-9d1e-0410-96f1-a4d463321fa5
* When vfr is selected use the frame timing from render.c rather than ↵van2008-01-221-38/+68
| | | | | | generating duplicate frames to turn the content back into 30fps. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1223 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change subtitle position to prevent displaying within a 2% margin of the ↵eddyg2008-01-211-10/+53
| | | | | | height of the screen, rather than using a 20px fixed margin. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1218 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - get rid of 'chapter merging'.van2008-01-201-110/+143
| | | | | | | | | | | | | | | | | | | | | - check for 'beginning of cell' before 'end of cell' so zero length cells don't make us advance to the next cell too early & fail to generate a chapter mark. - don't read beyond the last cell of a title. - if we get a read error just skip to the next vobu instead of giving up. - fix the next_vobu mask (the top two bits have special meaning, not just the MSB), make the next vobu decision logic a bit closer to what a hardware dvd player uses (interpret the 2^30 bit as "look for a better vobu pointer in this navpack), make the 'end of vobu chain' recognition more robust. - when we're searching for a navpack because we couldn't read the block 'next_vobu' points to, recognize when we walk out of the current cell & just go to the next cell for this title. - treat an internal vobu with a null prev_vobu pointer as if it were end-of-cell and advance to the next cell. - use consistent case in log messages (always "dvd:" rather than a random mix of upper & lower case). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1215 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Set the alternate group for the audio tracks. Does only work when building ↵ritsuka2008-01-191-0/+3
| | | | | | with jam, contrib pack is not updated yet. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1214 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use IS0 639-2/T language codes instead of ISO 639-2/B language codes because ↵jbrjake2008-01-181-22/+22
| | | | | | | | QuickTime is a whiny little PITA too simple-minded to handle the concept of synonymous terms. Should fix any issues with audio tracks showing up with "Undetermined" language in QT/iTunes/iPod. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1211 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bumps libhb's copy of libmkv to 0.6.1.3, fixing the >2GB file crashes in Linux.jbrjake2008-01-151-7/+7
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1200 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't bother informing the user when grayscale is off, since that's the case ↵jbrjake2008-01-141-1/+3
| | | | | | 99% of the time anyway. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1193 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - figure out MPEG PS duration from stream rather than faking it.van2008-01-061-91/+136
| | | | | | | | | | - correct some audio substream id mistakes: substream 2 is for dvd subtitles (in a vob) not lpcm, substream 10 is lpcm, dts seems to be a variant of ac3 (8), not its own code. - incorporate suggestions from eddyg's code review. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1170 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix for duplicate chapters when encoding with ffmpeg.van2008-01-061-3/+7
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1169 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Apply same edit to chapter track as to video track so chapters will stay invan2008-01-061-0/+7
| | | | | | | sync with the video (otherwise they end up 2-4 frames late). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1168 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fill in the "Encoded By:" tag in MP4 files with "HandBrake" followed by the ↵jbrjake2008-01-041-0/+7
| | | | | | version number and build date. Thanks for making me aware that libmp4v2 had an MP4SetMetadataTool() function, realityking. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1164 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change url to check LATEST file to "handbrake.fr" dynaflash2008-01-031-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1162 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Program Streams: Vans patch to set a fake duration for program streams.dynaflash2008-01-011-5/+5
| | | | | | Thanks Van! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1159 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Only drop frames when using VFR, not with regular detelecine.jbrjake2008-01-011-2/+6
| | | | | | *facepalm* git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1158 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Program Stream Enhancements - Van: Libhbdynaflash2007-12-314-239/+213
| | | | | | | | | | | - Thanks Van ! - Identifies program streams by type instead of file extension - Improves proper duration reporting of program streams - fixes audio reconvergence code in libhb/sync.c trying to free a null buffer causing a crash - Assorted other enhancements to encoding program streams. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1155 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fixes a typo in MP4 chapter marker durations. Thanks, van!jbrjake2007-12-291-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1154 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Extends hb_set_anamorphic_size() to make it possible to do "dry-runs"...this ↵jbrjake2007-12-283-40/+63
| | | | | | way the MacGui can calculate loose anamorphic values for displaying preview images, before the job variables are directly set in work.c. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1153 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Better b-frame muxing. Instead of using an arbitrarily long offset and then ↵jbrjake2007-12-283-39/+46
| | | | | | | | later walking the file to find the smallest one, now x264 uses the smallest delay it can from the start. This significantly cuts down muxing time. As a side effect, it also makes fixing chapter markers + b-frames easy, so that's included too in muxmp4 (thanks, van!). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1152 b64f7644-9d1e-0410-96f1-a4d463321fa5
* "Great! Where are we going?"jbrjake2007-12-281-2/+2
| | | | | | | Prevents sync.c from prematurely ending the encode when its estimated maximum frame count is too low, by doubling that maximum. Thanks for fixing this long-standing bug, van! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1151 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Renumber start and stop timestamps for VFR, so they are continuous despite ↵jbrjake2007-12-181-2/+30
| | | | | | | | dropped frames. This fixes issues with jerky video when using VFR together with B-frames. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1133 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Queue Update - thanks travistexdynaflash2007-12-173-1/+8
| | | | | | | | | | | - The primary change is that HBJob now copies the relevant fields out of hb_job_s that it needs. It no longer keeps a pointer reference to libhb's job. - The only time the queue looks at libhb's jobs is when scanning the job list in order to build of the GUI queue display. - Removed all uses of hb_current_job(). - Canceled jobs now stay listed in the queue, with a canceled icon. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1130 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Only call the dynamic range compression function when the user-inputted ↵jbrjake2007-12-131-1/+1
| | | | | | value is greater than 1, rather than non-zero. This prevents calling the function when it's only going to return the default values anyway. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MPEG-2 stream reading fixes for missing audio, multiple audio tracks, ↵jbrjake2007-12-135-193/+318
| | | | | | language codes, reading streams larger than 2GB, and incorrect title numbers. This vastly expands HandBrake's TS/PS compatibility. Thanks, van! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1123 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Ooops -- when copying and pasting code snippets, it helps to have the right ↵jbrjake2007-12-121-1/+1
| | | | | | types. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1117 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't copy the frame before passing it to x264, let x264 look directly into ↵eddyg2007-12-121-7/+20
| | | | | | our HB buffer instead. x264 will copy the data from it as required. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1116 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated jamfile to fix a small compile issue with zlibsr552007-12-081-109/+109
| | | | | | Updated makefiles to support cygwin building on platforms other than XP git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1109 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Adds extra, user-selectable dynamic range compression to the liba52 ↵jbrjake2007-12-083-0/+36
| | | | | | | | 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-282-1/+2
| | | | | | 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-212-13/+13
| | | | | | | | 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
* Exit gracefully when trying to ifoOpen a title with no VTS entry, instead of ↵jbrjake2007-11-191-0/+7
| | | | | | crashing with a bus error. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1069 b64f7644-9d1e-0410-96f1-a4d463321fa5