summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-0611-56/+336
| | | This is useful for scripts and other frontends that need to parse CLI output.
* presets: enforce 2 level hierarchy when importing presetsJohn Stebbins2017-11-063-2/+200
| | | | See https://github.com/HandBrake/HandBrake/issues/833#issuecomment-333193971
* LinGui: Add "Category" dropdown to preset save dialogJohn Stebbins2017-11-062-15/+32
| | | | | | | | | | | This replaces the "New Folder" option in the presets menu. It enforces the folder structure we have agreed to and hopefully helps the user keep things organized. Note that users are allowed to save a custom preset to the same "Category" as an official preset. When they do this, a new custom category is created with the same name and the preset is saved in that folder.
* LinGui: Reorgainize Summary paneJohn Stebbins2017-11-062-4/+4
| | | | Synching up with https://github.com/HandBrake/HandBrake/issues/833
* libhb: add HLG to our list of known transfer characteristics.Damiano Galassi2017-11-062-0/+3
|
* tx3g: make font size scale with video heightJohn Stebbins2017-11-033-16/+41
| | | Fixes https://forum.handbrake.fr/viewtopic.php?f=5&t=37034
* QSV: Main10 should be default profilemaxd2017-10-133-3/+12
|
* QSV: Adding D11 support for encodemaxd2017-09-173-23/+60
|
* decomb: add an additional null check to avoid a crash if the filter receive ↵Damiano Galassi2017-08-071-3/+6
| | | | the EOF flag before reciving a valid frame.
* libhb: Add threads parameter to NLMeans.Bradley Sepos2017-07-241-16/+22
| | | | Allows setting number of frames to process in parallel. For testing and experts wanting to fine tune the pipeline; e.g., fewer NLMeans threads may make x265 run slightly faster. Realistically, the defaults are the best choice for most everyone.
* alignment cosmeticsJohn Stebbins2017-07-122-22/+56
|
* silence new compiler warnings on Fedora 26John Stebbins2017-07-123-4/+4
|
* sync: fix size of silence bufferJohn Stebbins2017-07-121-4/+5
| | | | It was not an even number of sample size * num channels in some cases
* sync: fix potential stall when in_queue overflowsJohn Stebbins2017-07-121-42/+6
|
* fix another use of deprecated libav defineJohn Stebbins2017-07-061-1/+1
|
* fix use of deprecated libav definesJohn Stebbins2017-07-065-23/+23
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/815
* scan: fix vobsub & pgs width/height for some stream typesJohn Stebbins2017-06-261-12/+12
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/798
* presets: Minor encoder tweaks for main Production presets.Bradley Sepos2017-06-221-3/+3
| | | | | | | | Add additional x264 encoder options dct-decimate=0 and fast-pskip=0 (same as no-dct-decimate=1 and no-fast-pskip=1). In some special cases, reproduction of flat areas and subtle gradients may improve slightly. Generally speaking, any change should be visually imperceptible at these bit rates, but adding a few extra bits is always acceptable when encoding for production intermediate purposes. Negligible speed hit (1-2%) for the main Production presets. On the contrary, these settings are worse than useless for Production Proxy presets, which are optimized for speed. 5% speed hit isn't worth the tradeoff for low resolution proxies that need to be generated quickly and won't be used for final export.
* decavcodec: fix wmapro audio timestampsJohn Stebbins2017-06-191-0/+7
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/717
* reader: fix live preview generation for some streamsJohn Stebbins2017-06-191-3/+23
| | | | | | | | | | Fixes https://github.com/HandBrake/HandBrake/issues/685 For some stream types, libav does not seek all streams within the file to the same position. So we get data from streams that is prior to the desired preview start position leaking through. The result, for example, is a preview that has audio that starts from the beginning of the file and video that starts much later at the desired start pos.
* presets: Add Production presets for use with professional video editing ↵Bradley Sepos2017-06-181-1/+412
| | | | | | | | software. Production Max and Production Standard are high bit rate, short GOP (I/P), constant frame rate presets suitable for use as intermediate formats for video editing. Production Proxy 1080p and Production Proxy 540p are high bit rate, Intra-only (I), constant frame rate presets suitable for use as low resolution proxy formats for video editing. The Proxy presets correspond to one-quarter (1/4) 2160p 4K Ultra HD and one-quarter (1/4) 1080p Full HD resolutions, respectively.
* presets: Add Vimeo YouTube presets.Bradley Sepos2017-06-181-0/+505
| | | | | | | | Using Vimeo and YouTube compression guides for reference: https://vimeo.com/help/compression https://support.google.com/youtube/answer/1722171 Test videos visually inspected following recompression by these services.
* sync: fix p-to-p hangJohn Stebbins2017-06-161-7/+12
| | | | | | | | Fixes https://github.com/HandBrake/HandBrake/issues/673 If the end point is near the end of file and one of the streams reaches eof before the end point is detected, the eof buffer for that stream was not sent. Flush all streams when end point is reached.
* muxavformat: override h.265 'hev1' with 'hvc1' (#782)John Stebbins2017-06-141-1/+2
| | | This provides compatibility with apple software
* sync: work-around players with broken edit list supportJohn Stebbins2017-06-135-62/+353
| | | | | | | | | | | | | | | | | | | | | | | | This adds a preset key AlignAVStart that enables this work-around. When enabled, blank frames are inserted or frames are dropped to force alignment of the initial timestamp of every audio and video stream. Aligning the start times minimizes the impact of broken edit list support in players. Closes #763. Squashed: sync: improve alignment when passthru audio is present presets: enable AlignAVStart for General and Gmail presets LinGui: Improve AlignAVStart tooltip sync: avoid inserting a black frame < nominal frame duration sync: fix start alignment when doing p-to-p encoding sync: add comments
* presets: bump VersionMajor after opencl removalJohn Stebbins2017-06-121-1/+1
| | | | I forgot to run rebuild script for the presets list
* opencl: removit it (#777)John Stebbins2017-06-1216-3823/+57
| | | | It was only used for scaling, it fails far too often and is only faster on a limited selectoin of hardware.
* Allow audio fallback to be "None" (#623)John Stebbins2017-06-123-29/+34
| | | | | | | | | | | * Allow audio fallback to be "None" When audio fallback is "None", a failure to do passthru will result in no output audio track being added. * simplify audio autopassthru fallback logic Drop track when fallback codec is invalid instead of falling back to a default. Since all presets have a fallback set, the default fallback condition would only ever be triggered by an invalid setting.
* scan: improve support for very short source video streamsJohn Stebbins2017-06-091-55/+43
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/779
* preset: fix importing some preset versions (#774)John Stebbins2017-06-071-6/+18
| | | | | If a preset file is read that has a version where no specific changes to the preset format were made, we did not perform an import even though some later preset version has changes.
* filter: add frame parallelizing filter wrapperJohn Stebbins2017-06-066-56/+403
| | | | | | | | | | | | This wrapper can be used to frame parallelize simple video filters. By simple, I mean there can be no temporal context that is shared from one frame to the next. Wrap unsharp and lapsharp filters. unsharp required a small rework to separate out temporary storage that is required when processing each frame. We now need to duplicate this storage for each thread. Closes #759.
* libhb: Fix C const issue in lapsharp.c.Bradley Sepos2017-06-041-12/+8
| | | | Simple runtime vs. compile time error, which Clang hid from me.
* sharpen: Use better tune names.Bradley Sepos2017-06-031-8/+8
|
* libhb: Cosmetics in lapsharp.c.Bradley Sepos2017-06-031-13/+21
|
* libhb: Revise sharpen presets and tunes.Bradley Sepos2017-06-011-10/+106
| | | | Adds verystrong presets to unsharp and lapsharp filters. Adds mediumfine and mediumcoarse tunes to unsharp filter. Fixes some values.
* libhb: Add Lapsharp kernel isolap and use with Grain tune.Bradley Sepos2017-06-012-9/+27
|
* nlmeans: fix prefilter passthruJohn Stebbins2017-05-311-1/+1
| | | | This is an error that crept in when making nlmeans multithreaded
* libhb: Add LapSharp sharpening filter.Bradley Sepos2017-05-306-1/+472
|
* libhb: Add Unsharp sharpening filter.Bradley Sepos2017-05-307-1/+736
| | | | Closes #525.
* stream: Improve stream type detection through probingJohn Stebbins2017-05-251-39/+21
| | | | | | If the stream is damaged, a probe can fail due to bad data at the start of the probe buffer. So try filling the probe buffer from multiple start positions in the file.
* preset: Fix surround audio bitrate for general presets.Bradley Sepos2017-05-211-9/+9
| | | | Was supposed to be 640 when converting a non-AC3 source track.
* encavcodecaudio: work around lame bugJohn Stebbins2017-05-111-11/+23
| | | | | | | | | On windows builds, there is an upstream bug in the lame encoder that causes an extra output packet that has the same timestamp as the second to last packet. This causes an error during muxing. Drop the packet with the duplicate timestamp. Fixes https://github.com/HandBrake/HandBrake/issues/726
* stream: fix chapter marker durationsJohn Stebbins2017-04-281-5/+20
| | | | | libav isn't guaranteed to set AVChapter.end. So don't use it. Use AVChapter.start instead.
* decsrt: fix p-to-p start time after seekingJohn Stebbins2017-04-155-76/+130
| | | | | | | Reader can skip data at the beginning of the file. We were not informing decsrt how much was skipped when pts_to_start caused the skip. Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=36258
* avfilter: fix handling of bad settingsJohn Stebbins2017-04-141-0/+1
| | | | | After encountering a bad setting, it was removing all filters starting with the one with bad settings.
* preset: fix audio settings when samplerate == autoDamiano Galassi2017-04-141-0/+4
|
* scan: fix very slow scanning for some filesJohn Stebbins2017-04-123-4/+6
| | | | | | | The threshold in bytes for when to give up trying to decode a frame was too big for a lot of streams. It was made large to accomodate 4K raw video. Instead of counting bytes, count frames fed to the decoder. This is more consistant regardless of video resolution and codec.
* preset: fix sanitizing audio settings when samplerate != AutoJohn Stebbins2017-04-121-2/+7
| | | | | The samplerate was incorrectly copied to the job as a string instead of an int which caused invalid sanitizing of audio settings.
* scan: enable HBTF_NO_IDR when not enough previews foundJohn Stebbins2017-04-111-0/+4
| | | | | | | | Setting this flag signals to libav to not wait for IDR or recovery points before returning frames to us. Some videos have neither IDRs or recovery points, so this fixes transcoding such video. Fixes https://github.com/HandBrake/HandBrake/issues/456
* Fix raw video timestampsJohn Stebbins2017-04-093-0/+7
| | | | | | Raw video has no timestamps. But we drop frames in sync that have no timestamps. So detect raw video and extrapolate timestamps from framerate.