summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Remove legacy % to RF mapping.jstebbins2011-03-215-42/+8
| | | | | | | | | | Although the % option has been gone for a while in the cli and gui's, there were some mappings happening in libhb and for preset imports. This removes the last vestages of % quality mapping. Thanks to Rodeo for the patch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3857 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add mpeg-2 encoding support to libhb, cli, and linguijstebbins2011-03-196-46/+136
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3853 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
* Add support for DTS-HD High Resolution Audio for BD streamsjstebbins2011-03-191-5/+29
| | | | | | | Thanks to Rodeo for the patch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3851 b64f7644-9d1e-0410-96f1-a4d463321fa5
* cosmetics and improved commentsjstebbins2011-03-132-3/+3
| | | | | | | Thanks Rodeo ;) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3849 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix 2 pass cfr x264 crashjstebbins2011-03-135-15/+17
| | | | | | | | | | | An error in interjob->vrate calculation lead to specifying a different timebase for the 1st and 2nd pass which x264 does not allow. This improves the interjob->vrate calculation accuracy and also guarantees the timebase is the same on both passes regardless of the calculations accuracy. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3848 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix source dimensions problem with some mpeg2 streamsjstebbins2011-03-131-6/+6
| | | | | | | | | Was using the incorrect field for actual "display" dimensions of video. The field I was using is most often used for pan and scan which crops a 16:9 image to fit a 4:3 display. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3847 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix potential infinite loop in ffmpeg mpeg-4 b-frame handlingjstebbins2011-03-121-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3841 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add parameter parsing and b-frame support to ffmpeg mpeg-4 encoderjstebbins2011-03-118-58/+320
| | | | | | | | | | | | | The cli will now accept ':' separated parameters using the '-x' option for ffmpeg mpeg-4. The linux gui has an entry box on the advanced tab to add options. The option keys and values are the same as what the ffmpeg command line allows. Calculation of DTS timestamps was added to encavcodec.c in order to allow out of order b-frames. The algorithm is similar to what x264 uses. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3839 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix PAR and height of mpeg-2 1080 content.jstebbins2011-03-111-58/+46
| | | | | | | | | | mpeg-2 dimensions must be multiples of 16, so the actual coded height is 1088. But there are fields in the sequence header that define the "display" height and width. We were ignoring these which lead to slightly incorrect height and PAR. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3838 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use ffmpeg's lock manager for locking needed by ffmpegjstebbins2011-03-103-19/+33
| | | | | | | | This lets ffmpeg tell us when it needs a lock instead of us trying to guess which functions we need to wrap in a mutex. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3834 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove a workaround for an ffmpeg bug that has been fixed.jstebbins2011-03-081-11/+0
| | | | | | | | | Removal of the workaround also removes the need for a patch that fails to apply cleanly to latest ffmpeg git. So remove the patch as well. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3833 b64f7644-9d1e-0410-96f1-a4d463321fa5
* make keyint match between 1st and 2nd passes of vfr and pfr encodes.jstebbins2011-03-089-68/+102
| | | | | | | | | | | | make keyint and fps settings consistent across video encoders. make interjob->vrate changes for pfr mode like we do for vfr since pfr is the same as vfr except when it hits it's peak. in mkv, set track default duration to actual measured vrate on 2 pass encodes. thanks to Rodeo for the corrections in encx264 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3831 b64f7644-9d1e-0410-96f1-a4d463321fa5
* silence compiler warning about const char *jstebbins2011-03-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3822 b64f7644-9d1e-0410-96f1-a4d463321fa5
* initialize title->angle_count to 1jstebbins2011-03-011-0/+1
| | | | | | | sources that don't support multiple angles should default to 1 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3821 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix PFR issue where there are different number of frames in 1st and 2nd pass.jstebbins2011-02-281-2/+2
| | | | | | | | | | | | | | | | | Waiting for a fill threshhold in the fifos causes some non-determinism in finding the first PTS value. Sometimes the fill level of one fifo would not be reached until after another fifo is completely full, causing an early exit in the loop that looks for the first PTS. When the initial PTS is different between passes, the duration of the first frame is different. This affects the PFR algorithm and can cause it to drop a different number of frames. The fill level was initially intended as a way to prevent thrashing between threads to improve performance. But my testing indicates no degradation when removing it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3819 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from git-185a155 to git-0b32da9jstebbins2011-02-272-2/+2
| | | | | | | fixes win64 crash git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3818 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove depreciated cpu count from the apisr552011-02-263-22/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3813 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove the set cpu count option as it doesn't do anything nowsr552011-02-262-17/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3812 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix crash with bd lpcm audio decodingjstebbins2011-02-251-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3807 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve audio labels for BD audio decoded by ffmpegjstebbins2011-02-251-6/+11
| | | | | | | Give lpcm and e-ac3 proper labels git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3805 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add temporally overlapping subtitle support.davidfstr2011-02-255-34/+366
| | | | | | | | | | | | | | | | | * New subtitle sync algorithm added to sync work-object ("simultaneous"). Classic algorithm preserved but disabled. * Render work-object now supports queueing a /list/ of subtitles. * FIFOs have been extended to support pushing/popping buffer-lists as single elements. * Added SUBSYNC_VERBOSE_TIMING flag to debug timing issues related to subtitle display. Observable behaviors changed in the new subtitle sync algorithm: * Temporally overlapping subtitles are no longer trimmed to be non-overlapping. * Subtitles less than two seconds long are no longer artificially extended. Sorry, Indochine fans. * Subtitles that stop before they start will never be displayed. The old algorithm will display such subtitles if they begin in the future (relative to the current video frame being processed). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3804 b64f7644-9d1e-0410-96f1-a4d463321fa5
* plug some memory leaks.jstebbins2011-02-125-12/+36
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3797 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve loop detection in dvdnavjstebbins2011-02-112-0/+12
| | | | | | | | Loops in titles of only a single chapter were not being detected. We now also check the cell number for loops. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3796 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove unnecessary translation of string "LIBFAAD" to "AAC".jstebbins2011-02-111-4/+0
| | | | | | | | ffmpeg will never give us this name anymore since it no longer wraps faad. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3795 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove a couple more remnants of faad from make filesjstebbins2011-02-111-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3794 b64f7644-9d1e-0410-96f1-a4d463321fa5
* remove libfaad from buildjstebbins2011-02-111-1/+1
| | | | | | | We don't use it anymore. We have been using ffaac decoder for a while now. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3793 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix sync issue introduced in 3786jstebbins2011-02-111-0/+5
| | | | | | | Thanks to mac_man_ad for pointing this out and providing a sample. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3791 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve timestamp handling in decavcodecjstebbins2011-02-081-53/+44
| | | | | | | | | | | | Use new ffmpeg facility for passing timestamps through from AVPackets to AVFrames during parsing and decoding. Also fix a bug in handling of the timestamp of the first audio frame. We were putting the timestamp of the second frame on the first and shifting all audio by one frame time. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3786 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix issue with decoding DTS-HD streamsjstebbins2011-02-081-17/+17
| | | | | | | | We now inspect the new profile member of AVCodecContext to determine if the stream is DTS or DTS-HD and send it to the appropriate decoder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3785 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a hang in syncjstebbins2011-02-071-0/+4
| | | | | | | | | | | If one stream has no content and other streams have almost no content, we were hanging while waiting for the first pts in the streams. This could be reproduced by attempting to encode only the last 0-length chapter of a DVD. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3783 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump ffmpeg from svn 25689 to git 185a155jstebbins2011-02-042-5/+9
| | | | | | | | | | Fixes a couple h.264 decode issues Fixes uft16-le chapter names in mov/mp4 files Improved ac3 encoder Numerous other bug fixes and improvements git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3779 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use the correct ffmpeg codec id for eac3 in BDjstebbins2011-01-291-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3771 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Disable managed mode for Vorbis ABR.saintdev2011-01-261-10/+1
| | | | | | | | | | Disable managed mode for Vorbis encoding. According to libvorbis docs this means that although the bitrate is specified explicitly (instead of setting a quality level), we get VBR encoding and the bitrate is only taken as a loose target. Patch by Hagen git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3768 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix ffmpeg multiple audio decode issuejstebbins2011-01-175-67/+289
| | | | | | | | we can now have one ffmpeg audio input track fan out to multiple output tracks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3753 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix problem with large ssa subtitle batches stalling the pipeline.jstebbins2011-01-151-1/+11
| | | | | | | | ssa subtitles can come in a large batch. since each subtitle gets it's own buffer, a large batch of them was filling the fifo and causing a stall. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3748 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix double free in handling of last CC messagejstebbins2011-01-131-4/+13
| | | | | | | | | the code dealing with cc messages stores the last message in 2 places. sometimes it would free both and sometimes it would send one down the pipeline and free the other. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3743 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a problem reading flv files that have null packetsjstebbins2011-01-021-0/+6
| | | | | | | | ffmpeg will return error code EAGAIN for these packets. we were terminating when seeing this error code. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3724 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a re-synchronization problem in bluray readingjstebbins2010-12-301-9/+21
| | | | | | | | | | | bd_seek doesn't seek to exactly where you tell it to. It goes to the nearest access unit that is *before* the position you request. When we loose TS sync, we were doing a bd_seek in the process of resynchronizing that would take us to a much earlier position. Then we would hit the same bad location and loose sync again. Lather, rinse, repeat... git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3720 b64f7644-9d1e-0410-96f1-a4d463321fa5
* cli: allow setting modulus with ana-nonejstebbins2010-12-171-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3711 b64f7644-9d1e-0410-96f1-a4d463321fa5
* prevent crash with strict ana and non-mod-2 dimensions.jstebbins2010-12-172-6/+9
| | | | | | | and make par computation in loose ana a little more accurate. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3710 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Adjust x264 qpmin for QT compatibility.jstebbins2010-12-161-0/+6
| | | | | | | | | | A recent change in x264 lowered the default qpmin to 0. QuickTime has trouble with very low QPs (resulting in visual artifacts). Known to affect QuickTime 7, QuickTime X and iTunes. Testing shows that a qpmin of 3 works. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3708 b64f7644-9d1e-0410-96f1-a4d463321fa5
* [libhb] Change bad block handling using libdvdread to scan forward foreddyg2010-11-302-8/+23
| | | | | | | | | | good blocks instead of jumping to the end of cell after encountering bad blocks. Changed handling of libdvdnav to not abort after just 10 failures, however it will still jump to end of cell, I couldn't see how to scan forward for good blocks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3695 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix sync of ssa subtitles when using point-to-point encodingjstebbins2010-11-223-33/+44
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3685 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a problem with search progress indicator and p-to-pjstebbins2010-11-141-2/+3
| | | | | | | using incorrect timestamp gave bad progress percent git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3678 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a problem with the first timestamp returned from av_parser_parse2jstebbins2010-11-141-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3677 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix initial chapter number when doing p-to-p in blurayjstebbins2010-11-131-0/+2
| | | | | | | when seeking in bluray, lookup the current chapter when seek is complete git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3676 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix problem with delayed audio when using point-to-pointjstebbins2010-11-131-0/+1
| | | | | | | first audio buffer after finding start point had bad start time calculation. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3675 b64f7644-9d1e-0410-96f1-a4d463321fa5
* tweak audio bitrate limitsjstebbins2010-11-111-3/+13
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3672 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a couple A/V/Sub sync issuesjstebbins2010-11-101-126/+121
| | | | | | | | Fixes an issue with getting the first timestamp in all streams in sync. Also fixes sync of passthru subs when using point-to-point. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3671 b64f7644-9d1e-0410-96f1-a4d463321fa5