summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* add some input error resiliency to the srt parser.jstebbins2009-11-161-79/+140
| | | | | | | | | | | an extra blank line between entries threw everything off for the entire remainder of the file. added additional logic for processing blank lines added detection of bad timestamps and resynchronization when bad git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2939 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix lockup in reader when importing srt'sjstebbins2009-11-131-0/+1
| | | | | | | | | | | | The subitle id for srt's was not being set. This caused the reader to mistakenly select the subtitle's fifo when processing audio data and stuff audio into it, filling it very rapidly. Sync would not remove items from the subtitle fifo because the corresponding video timestamp hadn't arrived yet. And since reader was waiting on a full subtitle fifo, no more video would ever arive at sync. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2926 b64f7644-9d1e-0410-96f1-a4d463321fa5
* update x264 to r1332jstebbins2009-11-111-2/+2
| | | | | | | Default weightp to none for baseline. user can override. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2922 b64f7644-9d1e-0410-96f1-a4d463321fa5
* don't drop the last SRT subtitlejstebbins2009-11-101-0/+63
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2921 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix an off-by-one error in assignment of audio stream registration descriptorjstebbins2009-11-091-26/+28
| | | | | | | | | | | | | | format. This sometimes caused the misdetection of TrueHD audio since it would be tagged as the format of the stream following it in the PMT. Also fix a problem in PMT parsing that I stumbled upon while investigating the above problem. If a PMT has a PID listed more than once for some reason, we would add that PID multiple times to our stream list. And if it happened to be a video PID that is duplicated, the duplications would be interpreted as audio PIDs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2920 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Maintain an accurate job ETA across pause/resumejstebbins2009-11-073-1/+15
| | | | | | | | Keeps track of how much time is spent paused and factors that into the ETA calculation git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2918 b64f7644-9d1e-0410-96f1-a4d463321fa5
* possible fix for WDTV vobsub duration problemjstebbins2009-11-052-14/+4
| | | | | | | | | | | There were 2 problems 1. The duration was not being written to the mkv track. Other players use the timestamps in the vobsub. WDTV appears to use the duration in the mkv. 2. The vobsub timestamps were being rewritten improperly in sync.c. They don't need to be rewritten at all. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2917 b64f7644-9d1e-0410-96f1-a4d463321fa5
* temporary fix for x264 b-pyramid parameter changejstebbins2009-10-311-0/+8
| | | | | | | | if value is "1", set to "normal", "0" set to "none" pass other values through. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2907 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Oops, CLI help was never updated for decomb's EEDI2 parameters or new mode ↵jbrjake2009-10-311-1/+4
| | | | | | structure. Thanks, Rodeo. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2904 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Adds a parity parameter to detelecine and rewires it in decomb, so that TFF ↵jbrjake2009-10-312-6/+23
| | | | | | can be set for non-MPEG-2 sources that don't include parity flags, which will be falsely autodetected as BFF. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2903 b64f7644-9d1e-0410-96f1-a4d463321fa5
* allow srt and cc subtitles to be up to 2 lines high.jstebbins2009-10-282-5/+26
| | | | | | | any additional lines after 2 are merged into 2nd line git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2897 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix a couple transport stream issuesjstebbins2009-10-232-10/+50
| | | | | | | | | | | | | | | when the first packet seen is audio, the stream timing for the audio must be initialized a little different then when it follows video add a more thorough check for duplicate packets. a ts stream that is the result of splicing multiple clips together can have duplicate continuity count values. usually this means that a duplicate packet exists and the duplicate is dropped. but in the case of spliced clips, the packet should not be dropped. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2895 b64f7644-9d1e-0410-96f1-a4d463321fa5
* remove crf flag and all uses of itjstebbins2009-10-193-39/+9
| | | | | | | x264 encodes will only use crf now. qp mode is gone. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2891 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix reading of short srt subtitle filesjstebbins2009-10-141-1/+6
| | | | | | | | if the whole file is consumed before filling the output buffer during the iconv conversion, the subtitles would be dropped git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2885 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix VC1 I-frame detection in ffmpeg_is_keyframejstebbins2009-10-061-1/+1
| | | | | | | | | The pattern was incorrect, so we were pretty much always starting on a non-I-frame when creating previews from VC1 ffmpeg sources. This fixes the grey preview complaints several users have had. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2870 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix reading of UTF-16 SRT subtitle files (and other wide charsets)jstebbins2009-10-031-32/+119
| | | | | | | | | | The entire file is encoded in the chosen charset, not just the subtitle text. So we must read and convert the text prior to any parsing. Using fgets() to read a line doesn't work because wide charsets can have 0x0a in the high byte of some char. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2863 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Align the subtitles at the bottom on iPod Classic/Nano.ritsuka2009-10-021-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2860 b64f7644-9d1e-0410-96f1-a4d463321fa5
* flush lame encoderjstebbins2009-09-291-3/+23
| | | | | | | | The last mp3 frame was not complete. Most players ignore the broken frame, but a user ran across some software that handled it badly and crashed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove tx3g -1 bias for bold and underline, was part of testing, thanks to ↵eddyg2009-09-281-2/+2
| | | | | | Rodeo. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2848 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix soft sub tx4g markup to count multi-chr utf8 chrs as one chr. Also ↵eddyg2009-09-281-7/+45
| | | | | | merges italic markup if adacent. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2847 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix srt track stop timejstebbins2009-09-271-7/+10
| | | | | | | | srt stop time was being set to the end of the start chapter instead of the end of the stop chapter. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2843 b64f7644-9d1e-0410-96f1-a4d463321fa5
* theora: improvements to our theora implementationjstebbins2009-09-271-3/+209
| | | | | | | | | - support 2-pass mode which is new to theora 1.1 - set soft target rate control so that single pass abr behaves more like theora 1.0 and doesn't look quite so awful. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2842 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump x264 to r1271jstebbins2009-09-241-14/+9
| | | | | | | | | make changes required by the x264 api change fix some build issues that the x264 bump exposed git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2836 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix bug that was causing one sec. of audio to be dropped on many ffmpeg ↵van2009-09-211-6/+11
| | | | | | files. Problem is that audio & video can be interleaved in any order but we drop everything up to the first video frame. Since ffmpeg returns a second of audio per read on an audio stream, if audio started before video we lose the first second of it. Changed to allow either audio or video to signal start 'reader'. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2831 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix gethostbyname failure on mingwjstebbins2009-09-201-0/+17
| | | | | | | winsock requires initialization before you can call any networking functions git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2830 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updates x264 to r1259-dd026f2, bringing with it a bunch of changes you can ↵jbrjake2009-09-151-0/+45
| | | | | | read about on their git log. The most prominent change is macroblock tree rate control (read about it on doom9), which is on by default, and for most content it produces smaller, better quality encodes. Due to a minor, temporary issue with fades in baseline profile encodes, for the moment I'm disabling mbtree when bframes=0, but this can be overridden through explicitly specifying mbtree=1 in the x264 options string. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2823 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Allow dvd sources that have no audiojstebbins2009-09-142-12/+0
| | | | | | | | Removed the code that dropped titles if there was no audio. Do not add a default audio track in the CLI if there are no audios in the source git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2822 b64f7644-9d1e-0410-96f1-a4d463321fa5
* dvdnav: read error recoveryjstebbins2009-09-121-1/+15
| | | | | | | | | - patch libdvdnav seek to guarantee the position will move forward when making a seek request to a position that is after the current position - when a read error is detected, seek forward and retry. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2815 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix PAR issue with DVjstebbins2009-08-311-7/+16
| | | | | | | | For some (maybe all) DV, ffmpeg doesn't give us the sample_aspect_ratio in the context. So when it's missing, try looking it up in the AVStream info. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2797 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Initialize the AudioConverter without a sample rate only if the first ↵ritsuka2009-08-301-6/+19
| | | | | | initialization fails. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2793 b64f7644-9d1e-0410-96f1-a4d463321fa5
* srt: change format string from "utf8" to "utf-8"jstebbins2009-08-281-1/+1
| | | | | | | mingw port of libiconv doesn't support "utf8" string git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2787 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Let CoreAudio decide the best sample rate. Fixed and issue when the ↵ritsuka2009-08-271-1/+0
| | | | | | AudioConverter couldn't be created with some specific sample rates. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2780 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Blah, need to pay more attention when transcripting patches. job->areBframes ↵jbrjake2009-08-091-1/+3
| | | | | | needs to be on when no x264 opts are specified. Thanks again, Rodeo. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2758 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: don't truncate last chapter of a streamjstebbins2009-08-091-1/+2
| | | | | | | | | | | | | When an ffmpeg stream doesn't have chapters, we insert a dummy chapter into our chapter list that has the same duration as the title. But the title duration is only a guess. Later, when the chapter end time is reached, we increment the chapter number. In the reader, we exit if the current chapter number is greater than the last chapter. This patch only increments the chapter number in stream if there is actually another chapter. This way reader will continue till the file is exhausted git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2757 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Oops, forgot the job->areBframes check needed to be updated for the new x264 ↵jbrjake2009-08-091-5/+5
| | | | | | defaults. Thanks for the catch, Rodeo. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2756 b64f7644-9d1e-0410-96f1-a4d463321fa5
* First try at fixing a crash in quicktime if the subtitles contains an ↵ritsuka2009-08-021-1/+1
| | | | | | inverted exclamation point. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2747 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Bumps x264 to r1195-5d75a9b. x264 has new default settings: subme 6->7, ↵jbrjake2009-08-011-1/+5
| | | | | | | | | | bframes 0->3, 8x8dct 0->1, psnr 1->0, ssim 1->0, ref 1->3, mixed-refs 0->1, trellis 0->1, weightb 0->1 - Explicitly enables SSIM and PSNR metrics for all x264 encodes - MacGui: Updates Advanced tab for new x264 defaults - MacGui and CLI: Updates built-in presets to produce the same output given the new default x264 settings git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2742 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove duplicate title detection from scanjstebbins2009-07-301-27/+0
| | | | | | | | | Many timest the titles are not really duplicate. The detection logic only checked that they used the same sectors of the disc, but there are many other things that can make the titles different. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2737 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: close file handle after querying dvd region mask from drivejstebbins2009-07-241-0/+7
| | | | | | | this only affected linux since we only query the region mask on linux git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2729 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix interjob recalculation of frameratejstebbins2009-07-221-1/+2
| | | | | | | there was loss of precision due to integer division. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2721 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a compile warning in enctheorajstebbins2009-07-211-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2719 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix theora encoding of non 16pix aligned dimensionsjstebbins2009-07-211-44/+47
| | | | | | | | | | | | | the theora encoder requires it's "frame_width" and "frame_height" to be aligned to 16pix. This also updates to using the new API introduced in theora 1.0. This is an interim fix. Later we will adjust our video buffers to actually have 16pix aligned data in them. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2718 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add support for ATSC (North American Digital TV) closed captions.van2009-07-131-184/+297
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2688 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Some DVB programs have a lot of streams (20 for BBC HD) so up max from 16 ↵van2009-07-131-1/+5
| | | | | | | | | to 32 - If we find a DVB AC-3 stream descriptor mark the associated stream as AC-3 so we don't mistakenly type it as MPEG-2. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2687 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - Introduces a new mode structure for decomb, to make more flexible ↵jbrjake2009-07-121-97/+382
| | | | | | | | | | combinations of options possible, as well as a debug mode that overlays the combing mask on the output. A full explanation of the new modes can be found at the top of libhb/decomb.c. The new default parameter string is: 7:2:6:9:80:16:16:10:20:20:4:2:50:24:1 - Cleans up some compiler warnings for decomb. - Partially fixes mcdeint in decomb. I would not suggest using it yet, but it's getting piped the right data, it no longer outstrides its memory, and lavc finally fixed their Snow bug that broke iterative ME). Seems to work well on fully interlaced material, with the spatial metric (2nd paramter) set to -1. Output with hybrid material and when actually decombing is...poor, but these are, hopefully, surmountable problems. - Lays some groundwork for bobbing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2685 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: DVD drive region detection on linuxjstebbins2009-07-094-0/+64
| | | | | | | | | Read and log the region mask of the DVD drive. We get the occasional linux user that has an unset region. Logging the region will help isolate the problem more quickly. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2675 b64f7644-9d1e-0410-96f1-a4d463321fa5
* When caching frame durations for the delay_queue, store the times of the ↵jbrjake2009-07-081-1/+1
| | | | | | frames coming out of the filters, not the frames entering the render pipeline from sync. This way times don't get assigned to incorrect frames when filters delay output. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2671 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix regression introduced in svn 2620jstebbins2009-07-021-1/+3
| | | | | | | cygwin pthreads is more like the *nix's git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2656 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: SRT supportjstebbins2009-06-301-1/+0
| | | | | | | | | | | | | | | | - there are now two buttons to add subtitles one button adds normal subtitles from the source. the second adds SRT subtitles. - when an SRT subtitle is selected in the list, the available controls change SRT controls are: Language, Character Codeset, File, and Time Offset (ms) - A combo entry box is used for character code. A subset of the most common character codes is available in the popup. Other codes can be manually entered in the entry box. - The last used SRT file directory is remembered. - Remove the debug printf eddyg left in decsrtsub.c git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix subtitle markup memory leakeddyg2009-06-301-5/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2647 b64f7644-9d1e-0410-96f1-a4d463321fa5