summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Build: refactor fetch for contrib tarballsKonaBlend2016-05-2540-35/+353
| | | | | | | | | | | | | | | | | | | | | | | | Fetch is now python-based and runs on the same version as does configure. The source script is make/fetch.py. New features: MD5 hash tracking for tarballs. Data values for all contribs added. Upon download, the file will be verified, and only then will it be moved into place inside downloads/ . Files that exist before the build system does a fetch will not be md5-checked. Multiple URLs for tarballs. Each module may specify one or more URLs and by convention the official HandBrake should be first when possible. Each URL is tried in sequence, and if it fails for any reason, the next URL is tried. If no URL succeeds, a hard-error is reported. Network fetching may be disabled via configure options. --disable-fetch will hard-error if a fetch is attempted. --accept-fetch-url=SPEC and --deny-fetch-url=SPEC offer an ACL-style mechanism using regex to match against URLs. For example, --accept-fecth-url='.*/download.handbrake.fr/.*' would skip any non-matching URLs. Build dependencies have been lightened. wget and curl are no longer required. TODO: GTK packaging should also be able to remove those deps.
* sync: fix CC burn-inJohn Stebbins2016-05-251-1/+2
| | | | | | It was dropping subtitles because the "end of CC" marker buffer can have the same time as the next valid CC which triggered the subtitle overlap dropping code.
* bd: log playlist clips at log level 2John Stebbins2016-05-252-0/+59
|
* encx265: simplify chapter mark handlingJohn Stebbins2016-05-252-79/+24
| | | | Use hb_chapter_enqueue/dequeue
* MacGui: copy the HBChapter index property when making a instance copy.Damiano Galassi2016-05-251-1/+2
|
* MacGui: make a submenu for each preset folder in the Presets menu.Damiano Galassi2016-05-251-37/+45
|
* sync: correct timestamp discontinuities in sync instead of reader (#192)John Stebbins2016-05-2412-892/+1022
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sync: correct timestamp discontinuities in sync instead of reader This patch passes discontinuity information through the pipeline till it reaches sync.c. The timestamps are passed through the pipeline as read and unmodified to sync.c (instead of attempting to correct discontinuities in reader). In sync, when we see a discontinuity, we know where the next timestamp should be based on the timestamp and duration of the previous buffer (before the discontinuity). So we calculate an "SCR" offset based on the timestamp after the discontinuity and what we calculate it should be. The old discontinuity handling code was broken due to the following. The MPEG STD timing model relies heavily on the decoder having an STC that is phase lock looped to the PCRs in the stream. When decoding a broadcast stream, the decoder can count on the time measure between PCRs using the STC to match to a high degree of accuracy. I.e. STC - lastSTC == PCR - lastPCR. When a discontinuity occurs, the decoder calculates a new PCR offset = PCR - STC. I.e. the offset is the new PCR value minus what it would have been if there had been no discontinuity. The above does not work without a reliable STC, which we do not have. We have been attempting to approximate one by avereraging the duration of received packets and extrapolating an "STC" based on the last PTS and the average packet duration. But this is highly variable and unreliable. * decavcodec: fix data type of next_pts It needs to be double so that partial ticks are not lost * deccc608sub: clarify comment * sync: allow queueing more audio Audio is small, and there is often a significant amount of audio in the stream before the first video frame. * sync: improve handling of damaged streams When data is missing, the audio decoder was extrapolating timestamps from the last pts before the error caused by the missing data which caused sync issues. Also, missing data can cause the video decoder to output a frame out of order with the wrong scr sequence. Drop such frames.
* Add ability to set C++ standard (#195)John Stebbins2016-05-243-7/+12
| | | | | | * build: add ability to set c++ standard * fdk-aac: Fix building with g++ 6, set c++98 standard
* LinGui: fix audio and subtitle descriptions in queueJohn Stebbins2016-05-245-1/+33
| | | | ... When "Add Multiple" is used.
* build: Increase max logical CPU cores to 64.Bradley Sepos2016-05-241-2/+2
|
* muxcommon: fix check_realloc_outputJohn Stebbins2016-05-241-9/+2
| | | | brainfart!
* build: Update regex in configure.py to fix buggy Python versions.Bradley Sepos2016-05-241-1/+1
|
* MacGui: use the right constant quality label in the video tab, and split ↵Damiano Galassi2016-05-244-43/+68
| | | | HBVideo KVO dependecies.
* MacGui: split HBPicture KVO dependencies.Damiano Galassi2016-05-244-39/+47
|
* MacGui: show the encode progress when paused too.Damiano Galassi2016-05-242-1/+2
|
* sync: fill queues completelyJohn Stebbins2016-05-211-1/+1
| | | | | | essentially an off-by-one error. OutputBuffer had to wait for one more buffer before any output was performed after the queue should have already been filled to it's minimum levels.
* stream: create default chapter names for empty chapter titlesJohn Stebbins2016-05-201-1/+1
|
* sync: silence compiler warningJohn Stebbins2016-05-201-1/+1
|
* LinGui: save backup of presets whenever the version changesJohn Stebbins2016-05-191-13/+12
| | | | | | ... and not only when the version increases. This ensures that presets from a newer version are not lost when temporarily reverting to an older version.
* sync: detect and drop 0 duration initial video frameJohn Stebbins2016-05-191-7/+12
|
* cli: fix application of subtitle flags when scan enabledJohn Stebbins2016-05-191-9/+25
| | | | | forced, default, and burned flags were getting assigned to the wrong output tracks.
* MacGui: fix HBAVPlayer loaded state.Damiano Galassi2016-05-191-2/+5
|
* MacGui: fallback to QTKit if a preview is not playable with AVFoundation.Damiano Galassi2016-05-194-77/+74
|
* work: add log to track work object shutdownJohn Stebbins2016-05-181-0/+1
|
* work: add commentsJohn Stebbins2016-05-181-0/+3
|
* sync: increse min video queue depth for deeper dejitteringJohn Stebbins2016-05-181-1/+1
|
* sync: fix potential dropped chapter marksJohn Stebbins2016-05-181-10/+31
|
* work: make video decoder input fifo smallerJohn Stebbins2016-05-181-1/+1
| | | | | This prevents audio from getting so far ahead of video which improves sync's ability to fix discontinuities
* sync: improve code readabilityJohn Stebbins2016-05-181-18/+19
|
* work: don't allocate fifos that are not needed for indepth_scanJohn Stebbins2016-05-182-15/+18
|
* sync: set start and stop when resampling audioJohn Stebbins2016-05-181-0/+2
| | | | | It's not strictly necessary because it gets done elsewhere as well. But putting it here makes the code more understandable.
* sync: fix progress statistics when title longer than sum of chaptersJohn Stebbins2016-05-181-1/+21
|
* sync: dejitter larger video jittersJohn Stebbins2016-05-181-1/+1
|
* sync: handle coarsely interleaved streams betterJohn Stebbins2016-05-181-2/+2
| | | | | ... by allowing a deeper initial buffer when looking for the fist PTS of each stream.
* sync: add timestamp loggingJohn Stebbins2016-05-181-3/+41
| | | | ... at log level 11 ;)
* sync: move comment to more appropriate locationJohn Stebbins2016-05-181-10/+12
|
* sync: do not drop audio before frame p-to-p startJohn Stebbins2016-05-181-11/+33
| | | | | | | We were dropping all buffers before the start frame was found regardless of the buffers start time. Now we keep track of the start time of the last video frame seen and only drop buffers that start before that frame.
* sync: estimate video frame drop duration betterJohn Stebbins2016-05-171-1/+8
|
* sync: cosmeticsJohn Stebbins2016-05-171-39/+39
|
* sync: drop overlapping subtitlesJohn Stebbins2016-05-171-6/+43
|
* sync: interleave subtitle output with other streamsJohn Stebbins2016-05-171-20/+3
|
* sync: send output directly to sync output fifosJohn Stebbins2016-05-171-43/+54
| | | | | | | | since sync interleaves it's output by PTS, the stream of the incoming buffer is mostly not the same as the stream of the outgoing buffer. This causes a delay in the data to get to it's respective fifo until the sync work function for the output stream is called next. Writing directly to the output fifo fixes this.
* sync: sanitize subtitles in OutputBufferJohn Stebbins2016-05-171-31/+53
|
* sync: handle initial pts < 0 betterJohn Stebbins2016-05-171-99/+102
|
* sync: fix race condition that caused double freeJohn Stebbins2016-05-171-0/+4
|
* sync: handle very short streams betterJohn Stebbins2016-05-171-0/+4
| | | | | If the entire stream fits in the sync queues, the first PTS was not detected and initial offsets were not applied.
* sync: fix conversions of AV_NOPTS_VALUE to doubleJohn Stebbins2016-05-171-5/+5
| | | | | The way the constant is defined requires an (int64_t) cast to force it to be signed.
* sync: remove unused variableJohn Stebbins2016-05-171-1/+0
|
* sync: fix merging of multiple SSA to tx3gJohn Stebbins2016-05-175-124/+252
| | | | | | When more than 2 subtitles overlapped in time, they were not merged properly and could result in cases where the subtitle time went backwards
* sync: move chapter logging to sync.cJohn Stebbins2016-05-172-22/+30
|