summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate incompatible pointer type warnings for sws_scalejstebbins2011-04-084-5/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3910 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use bibiliographic form of ISO-639-2 lang codes in muxmkvjstebbins2011-04-081-4/+10
| | | | | | | | | | The Mkvtoolnix developer claims that MKV only allows the bibliographic form of ISO-639-2 lang codes: https://www.bunkus.org/bugzilla/show_bug.cgi?id=598 http://matroska.org/technical/specs/index.html#languages seems to confirm this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3909 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change internal audio representation rangejstebbins2011-04-0813-67/+70
| | | | | | | | | | | ...from float [-32768...32767] to float [-1.0...1.0] Using the range [-1.0..1.0] requires fewer translations of the range for our various encoders and decoders. This also gets rid of a hacky translation from float to int to float in decavcodec audio decoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3908 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix dts downmix when the output encoder is lamejstebbins2011-04-071-2/+0
| | | | | | | | | libdca downmix is broken if you ask for dolby and DCA_ADJUST_LEVEL. Since we fixed the clipping problem that DCA_ADJUST_LEVEL is used for with changeset 3294, we can just disable this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3907 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add audio gain adjustment to libhb and CLIjstebbins2011-04-054-41/+81
| | | | | | | | New CLI option is --gain <float>. Value is measured in dB. Negative values are quieter, positive values are louder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3902 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix the volume output level of our dts decoderjstebbins2011-04-041-1/+1
| | | | | | | | | | dcadec returns samples that have values in the range -1.0 to 1.0. We need these to be converted to the range -32768 to 32767. For some reason, decdca was scaling by 16768 instead of 32767. This has been like this since dts support was initially added by maurj. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3900 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Make logging of audio and subtitle id's more consistantjstebbins2011-04-025-13/+13
| | | | | | | | | | | | 1) whenever we log audio->id or subtitle->id using hex formatting, precede the hex with 0x (which was already done in some places but not others) 2) format audio->id as hex instead of decimal in sync.c (makes it much easier to see which track "went backwards" or had silence added to it, checking the job configuration logged by work.c) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3898 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Shorten instead of dropping overlapping subtitles in mp4jstebbins2011-04-021-0/+10
| | | | | | | | If the non-overlaping remainder is greater than 0.5 seconds, shorten the subtitle instead of completely dropping it. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3897 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Flush ffmpeg codec buffers after every seek.jstebbins2011-04-021-1/+21
| | | | | | | | | | According to several e-mails I've read on ffmpeg-devel, avcodec_flush_buffers should be called after any seek. It appears this is even more critical to do when using frame based multi-threading. I don't see any immediate difference in functionality by adding this, but it may prevent surprises in the future. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3896 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix garbled previews from BD h.264 sourcesjstebbins2011-04-024-5/+9
| | | | | | | | | | | Forome reason, frames that are tagged as recovery points in many BD h.264 streams do not result in complete frames when decoded. Pushing 2 extra frames through the decoder seems to always fix this. This patch extends something I was already doing when generating previews from a BD structure. This just applies the same logic to ffmpeg streams that have h.264 video. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3895 b64f7644-9d1e-0410-96f1-a4d463321fa5
* get rid of an superfluous test and decrimentjstebbins2011-03-311-10/+7
| | | | | | | just an old thinko that needed correcting. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3894 b64f7644-9d1e-0410-96f1-a4d463321fa5
* True SSA passthru for MKV.jstebbins2011-03-312-12/+125
| | | | | | | | | We were converting SSA to UTF8 subs which looses a lot of formatting. Now we pass through the ssa unmodified and add all fonts as attachments to the mkv. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3891 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MP4 muxer ignores all but the first of overlapping UTF-8 subtitles.davidfstr2011-03-301-51/+62
| | | | | | | | | This is necessary because MP4 does not support overlapping subtitles. Attempting to use overlapping subtitles causes the display of subsequent subtitles to be delayed incorrectly. Subsequent patches may merge UTF-8 subtitles (upstream) so that this case does not occur. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3890 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix chapter passthru problems with some files.jstebbins2011-03-291-0/+1
| | | | | | | | | | | | If the video stream is not the first track in the file, chapters were lost. During scan, we identify which track is video and stash this in title. While reading, when a chapter is found we want to tag the next video buffer. But the video track id stored in the title was not being applied when opening the file for reading, so the chapter mark always went on track id 0. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3889 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix problem with qt7 playback of mpeg4 videojstebbins2011-03-281-0/+7
| | | | | | | | | The reference frames were not being tagged correctly during muxing which really screwes up qt7 but appears to have little effect on qtx or other players. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3887 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Simplify a lot of subtitle handling code.jstebbins2011-03-276-499/+110
| | | | | | | Makes it easier to read. Gets rid of some unnecessary variables. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3886 b64f7644-9d1e-0410-96f1-a4d463321fa5
* 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