summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Excises xvid from libhb because it's not worthy. Having two different MPEG-4 ↵jbrjake2009-05-269-270/+4
| | | | | | | | | Part 2 encoders is superfluous and when choosing between ffmpeg and xvid, xvid is the clear loser since we need to keep ffmpeg around for other functions and xvid constantly requires attention to ensure it compiles. MacGui: Removes some stray references to the codec and unlinks it from the Xcode project. CLI: Removes references to the codec and removes it as a dependency. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2448 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - bump to mp4v2-trunk-r349.konablend2009-05-232-13/+17
| | | | | | | | | - muxmp4.c minor updates to recent subtitle API changes. - muxmp4.c do not set zero-length tags. - renamed module libmp4v2 -> mp4v2. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2446 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Forgot a comma in common.c .ritsuka2009-05-231-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2442 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Add CoreAudio AAC as one of the encoder on Mac OS X.ritsuka2009-05-239-55/+386
| | | | | | | - Remove hb_init() and hb_init_express() macro. Rename hb_init_real() to hb_init() - Add two more bitrate combination for audio codecs in common.h git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2441 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change minimum vobsub time from 3sec to 2sec, been meaning to do this for a ↵eddyg2009-05-191-2/+2
| | | | | | while. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2430 b64f7644-9d1e-0410-96f1-a4d463321fa5
* mkv soft subtitle supportjstebbins2009-05-199-194/+279
| | | | | | | | | | | | | - new libmkv 0.6.4 with subtitle track support - muxmkv supports vobsub and closed caption subtitles - added subtitle format, source, and dest initialization to dvdnav - moved subtitle_force flag into hb_subtitle_t struct as it needs to be settable per subtitle - gtk ui added subtitle tab which allows selection of multiple subtitles - reorgainize subtitle sync code to prevent dropping of subtitles when multiple subtitles are enabled git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2428 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Get rid of silence inserted at the beginning of mp4/mov/mkv files. GENPTS ↵van2009-05-171-3/+0
| | | | | | seems to do the wrong thing on files with real time stamps & inserts a delay equal to the audio/video interleave offset. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2424 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - I confused max program chains (999) with max programs (99) and made loop ↵van2009-05-161-11/+27
| | | | | | | | | detection array too small. Thanks to JAS for pointing out the problem! - Fix bonehead error in pgc-relative offset calculation that broke seeking for titles with one pgc (e.g., almost everything). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2423 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Minor cleanup in chapter size computation (backported from dvdnav.c).van2009-05-161-24/+7
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2422 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove some noise from the log: Only announce chapters when we're reading, ↵van2009-05-162-7/+7
| | | | | | not while we're getting previews and get rid of a spurious chapter annoucement in sync (video decoders announce chapters since that's where they first get put in the output data stream). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2421 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Handle titles that use more than one PGC (like the one in this thread: ↵van2009-05-161-60/+47
| | | | | | | | | | http://forum.handbrake.fr/viewtopic.php?f=5&t=10678&p=55575&hilit=genesis#p55620). - Make pgcn_map local rather than static since there can be simultaneous scans from both GUI and queue service threads and statics aren't thread safe. Also make map 32 bytes since standard allows only 255 PGCs per title. - Fix minor bugs in NextPgcn (used pgcn rather than next_pgcn so tested wrong bit) and dvdnav_seek (missing 'break' & extraneous 'while'). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2420 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Make chapters in mp4 & mkv ffmpeg input files work again (not sure when they ↵van2009-05-111-80/+38
| | | | | | | | | got broken). Correct timestamp type (it's signed, not unsigned) and do some code cleanup. Fixes problem reported in http://forum.handbrake.fr/viewtopic.php?f=12&t=10701&sid=4c007d887bf65f3e397203fc2bba1d12 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2411 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Another subtitle muxing fix: Don't check the rdy bit before calling ↵van2009-05-111-18/+14
| | | | | | OutputTrackChunk so subtitles get output as early as possible based on their start time rather than just before their stop time. (rdy is still checked for non-subtitle tracks since their rdy bit is in the allRdy mask that's tested in the outer loop.) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2410 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix another subtitle interleaving botch - for mkv's we want the subtitle in ↵van2009-05-091-8/+8
| | | | | | the cluster where it starts, not the cluster where it ends. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2409 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enable chapter boundary check for ffmpeg input even when chapters marker are ↵ritsuka2009-05-091-1/+0
| | | | | | disabled, fixes an issue where the encoding process wouldn't stop at the right time. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2408 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Work around ffmpeg bug where raw video decoder doesn't use frame buffer ↵van2009-05-091-0/+8
| | | | | | allocation routine in context.get_buffer so we never get a chance to put our pts in the frame. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2407 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Fixed the size for tx3g samples in muxmp4.c I forgot to add the size of ↵ritsuka2009-05-082-18/+25
| | | | | | | | | | the string byte count to the total sample size. - Small fixes in deccc608sub.c, trim null characters away. - Moved the duration time from hb_mux_object_s to hb_mux_data_s so that multiple subtitle tracks can be muxed with interference. - Uses par to calculate the subtitle track width so that It will be the same as the video track. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2406 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: minor meta-data fix: HB_PROJECT_BUILD_SYSTEMF now correctly ↵konablend2009-05-081-1/+1
| | | | | | defined. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2404 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix timestamps on CC's they are now 100% ready and working. Thanks to j45 ↵eddyg2009-05-082-5/+11
| | | | | | and ritsuka for their assistence in getting soft subs finally in HB. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2403 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Combine multiple CC lines into one, trimming whitespace, and adding proper ↵eddyg2009-05-074-70/+99
| | | | | | language code based on first audio track language. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2402 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Soft Subtitle Support in the MP4 Muxer.ritsuka2009-05-071-6/+91
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2400 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change CC608 decoder to be its own threadeddyg2009-05-0711-88/+206
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2396 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Minor change in sub printingeddyg2009-05-061-1/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2395 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Removed double EOF for CC's (one from dvd and one from cc), fixed compiler ↵eddyg2009-05-063-22/+33
| | | | | | warnings for CC. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2394 b64f7644-9d1e-0410-96f1-a4d463321fa5
* subtitle muxing: jstebbins2009-05-064-42/+101
| | | | | | | | | | initialize mux_data for passthru subtitles in muxmp4 and muxmkv add non-continuous tracks for passthru subtitles in muxcommon log closed caption data that gets to the muxer git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2393 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix Closed Caption start/stop times, switched to SRT encoding including ↵eddyg2009-05-063-22/+32
| | | | | | markup for text subs internal to HB. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2392 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix several boneheaded mistakes in fifo ready logic.van2009-05-061-13/+16
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2391 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Missed fileeddyg2009-05-061-0/+61
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2390 b64f7644-9d1e-0410-96f1-a4d463321fa5
* VOBSUB encoder skeleton for use with mkv VOBSUB pass-througheddyg2009-05-067-6/+30
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2389 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Push an EOF onto the subtitle fifos from the reader for DVD VOBSUBs and also ↵eddyg2009-05-065-26/+89
| | | | | | from cc608 for closed captions git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2388 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Clean up subtitles at end of encode if not consumed and free fifo.eddyg2009-05-051-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2387 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Rewrite pass-through timestamps in sync, put on subtitle->fifo_out for ↵eddyg2009-05-054-46/+91
| | | | | | muxing. Also put the mp4 subtitle display inline with muxing - easy for ritsuka to put into a subtitle track ;) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2384 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix mkv muxing. eddyg forgot to add a break in a switch he modified.jstebbins2009-05-041-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2378 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: preview changesjstebbins2009-05-041-30/+9
| | | | | | | | | | - update hb_get_preview to allow upscaling and remove borders - allow upscaling in the gui - add user option to show visible cropping borders - gui generates borders when needed instead of hb_get_preview, which allows for flexible alternatives like alternate colors git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2376 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Soft Subs Part 2: Auto-detect CC during scan, add CC to subtitle list in ↵eddyg2009-05-049-26/+2844
| | | | | | title, if selected then CC's are extracted, MP4 Muxer will dump the subs to the log at the end of encoding. TODO: Translate PTS for buf->start to HB format, add MP4 subtitle track and subs during muxing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2375 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Stage 1 Soft Subtitle Support - Allow multiple subtitle tracks to be ↵eddyg2009-05-047-145/+163
| | | | | | selected, and mark them for Render or Pass Through. No functional difference from the UIs, however in theory they could render multiple tracks - would be a dogs breakfast on screen though, and is untested. Have tested all normal operations from the UIs, including scanning. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2373 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - minor code cleanup - use x264_nal_t.i_type instead of buffer+offset&mask.konablend2009-05-031-5/+13
| | | | | | | | - use constants instead of hardcoded values. - explicitly list expected nal types to be processed further. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2372 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - encx264 sets HB_FRAME_REF to expose ref/non-ref frame status to muxer.konablend2009-05-032-11/+72
| | | | | | | | - bump libmp4v2 r286 -> r290; required for new API (sdtp atom support). - use new API MP4WriteSampleDependency() in muxer to signal disposable frames and set a few other dependency bits for sdtp atom. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2371 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Move frame rate code from sync to the end of render so it can account for ↵van2009-05-025-134/+230
| | | | | | | | | | | | frame timing changes made by filters. - Fix a bug that would make CFR alternate between massive drops and massive dups on some titles. - If we're not doing CFR add a factor-of-two fudge factor to init_delay to account f or the awful clock resolution of some mkvs and mp4s. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2368 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Custom Anamorphic initial implementation (experimental) and pic ↵dynaflash2009-05-011-22/+25
| | | | | | | | | | | | | | | | | | | | | settings and preview changes. - Custom Anamorphic mode allows more customization of pixel and display dimensions. -- NOTE: The layout and even functionality are considered very experimental and not ready for prime time yet. -- Change to hb_get_preview allowing a preview size > title->width and height courtesy of jbjake. -- Allows setting the modulus to 16 (default), 8, 4, 2, or 1. -- Adds display height, pixel width and pixel height fields. - Picture Inspector: -- Changes shape and size according to the size/filter tab and anamorphic and filter settings. - Picture Preview: -- Now crops the gray borders from around the image returned from hb_get_preview and recreates cropping and resizing itself. -- Add size and scale information to the preview window title bar so you can see it without activating the hud controls. -- Attempt to fix the intermittent aliasing problem with the hud control overlay by making sure the hud origin is a whole int (fix courtesy of KonaB1end). - Known Issues: -- Scale to Screen mode is currently borked. The actual image does not scale yet. -- Depending on how far you upscale the display dimensions in custom anamorphic, the preview image can get a bit wonky. Returning to one of the standard modes clears it up. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2362 b64f7644-9d1e-0410-96f1-a4d463321fa5
* dvdnav: improve title scanningjstebbins2009-05-017-176/+311
| | | | | | | | | | | - looks for ptt with longest pgc sequence instead of just picking first ptt solves many 'short title' problems - constructs chapters from the pg's within the pgc's instead of using ptt's solve the problem of ptt's that point to an intro pgc instead of to the actual chapter position in the title. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2361 b64f7644-9d1e-0410-96f1-a4d463321fa5
* dvdnav: fix problem with vm entering stopped statejstebbins2009-04-292-0/+65
| | | | | | | | when the vm enters the stopped state, there's no way to recover you must close and re-open dvdnav. dvdnav_reset() doesn't help. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2360 b64f7644-9d1e-0410-96f1-a4d463321fa5
* add libdvdnav supportjstebbins2009-04-279-61/+1367
| | | | | | | | | | | emulates the vm of a dvd player in order to navigate the disc more reliably it is optional and disabled by default CLI option '--dvdnav' enables. GUI's have a new option in preferences. When dvdnav is enabled, you can also select angles (cli '--angle') git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2355 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Leave video tracks on the 90KHz MPEG timebase so we don't end up with ↵van2009-04-231-66/+39
| | | | | | constantly varying frame sizes due to the sample rate conversion. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2350 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Get rid of deadlock that would halt processing some mkv files.van2009-04-211-90/+224
| | | | | | | | - Interleave media streams to reduce player buffer requirements and initial latency. - Add support for intermittent media streams like subtitles or closed captions (we don't have any of these yet but may one day). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2348 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump libmp4v2 r224 ->r286; chunk duration; tags; cover-artkonablend2009-04-213-105/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | The major changes to libmp4v2 include the new Tags API for iTunes metadata management and new API to set track chunk duration limits. Additionally, the patches for libmp4v2 are no longer required and libmp4v2 should build significantly faster as it now enabled precompiled headers on various platforms. Tags API effects common.h, decmetdata.c and muxmp4.c and replaces the operations in a near 1:1 mapping for functionality except all access happens in between alloc/fetch and store/free pattern. libhb no longer checks the bits of cover-art in order to determine image type. That functionality is now delegated to libmp4v2; and libhb identify_art_type() has been removed accordingly. Chunk duration support has been added which makes use of new API from libmp4v2: MP4SetTrackDurationPerChunk( MP4File, MP4TrackId ); And muxmp4 adds new internal function MP4TuneTrackDurationPerChunk() which is invoked after all video/audio track creation which tunes chunk duration to the equivalent of 4-frames in track timescale; as per van's suggestion. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2347 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: set min:max key intervals ratio to 1:10 of fpskonablend2009-04-181-4/+12
| | | | | | | | | - new behavior effects ratios only for whole-numbered input FPS - old behavior { 23.976, 24, 29.976, 30, 59.94, 60 } -> { 24:240, 25:251, 30:300, 31:301, 60:600, 61:601 } - new behavior { 23.976, 24, 29.976, 30, 59.94, 60 } -> { 24:240, 24:240, 30:300, 30:300, 60:600, 60:600 } git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2343 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: disable DTS passthru option for MP4 file outputjstebbins2009-04-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2340 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enable DTS passthru for matroska containerjstebbins2009-04-186-34/+88
| | | | | | | | since we have no way to create silent dts frames for insertion to maintain sync, frames from other streams may be dropped when there is a sync problem on the DTS stream git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2339 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch adds mingw32 cross-compilation support to HandBrake trunk tokonablend2009-04-149-22/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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