summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* decvobsub: fix crash due to malformed vobsubJohn Stebbins2019-04-041-10/+14
| | | | Check that a runlength does not exceed the width of a line
* contrib: Remove local pthreads-w32 in favor of winpthreads.Bradley Sepos2019-03-311-5/+1
| | | | Cross-compiling for Windows now requires winpthreads which is part of the toolchain provided by scripts/mingw-w64-build, and similar packages provided by Linux distros.
* Libhb: Some minor logging cleanupsr552019-03-306-16/+16
|
* libhb: Consolidate plane functions and eliminate a malloc in Chroma Smooth.Bradley Sepos2019-03-281-48/+38
|
* libhb: Tweak Chroma Smooth filter presets and tunes.Bradley Sepos2019-03-282-122/+30
| | | | The initial tunes were too weak.
* libhb: Initial implementation of Chroma Smooth filter.Bradley Sepos2019-03-287-1/+875
|
* qsv: fix build when qsv is disabledJohn Stebbins2019-03-131-4/+4
|
* qsv: add i965 VA driver fallbackJohn Stebbins2019-03-123-25/+63
| | | | | | The iHD VA driver does not work for Sandy bridge, Ivy bridge and Haswell. iHD will fail to initialize on these CPUs. So when a failure occurs, fallback to i965.
* qsv: allow user to override VA driver nameJohn Stebbins2019-03-121-1/+4
|
* fix spurious libswscale warningJohn Stebbins2019-03-121-0/+2
| | | | | These messages only appear rarely, but they annoy. It's complaining about an uninitialized unused plane
* sync: imporve accuracy of logged min/max fpsJohn Stebbins2019-03-121-2/+2
|
* encavcodec: fix bitrate ceiling overflow for VP8/9John Stebbins2019-03-121-16/+2
| | | | | | | | | When using constant quality encoding with VP8/9, we set a bitrate ceiling to prevent bitrate spikes. The calculation of this ceiling was duplicated at some point and the second copy was not transcribed properly and resulted in integer overflow. Fixes https://github.com/HandBrake/HandBrake/issues/1966
* qsv: fix logging of implementation 'via' optionJohn Stebbins2019-03-101-4/+4
| | | | implementation is not a bit vector. It has bit fields.
* fix setting sequence_id of final job statusJohn Stebbins2019-03-091-1/+1
| | | | | current_job can't be NULL'd till after the status is set because the job contains the current sequence_id
* qsv: fix building without qsv when libdrm is not presentJohn Stebbins2019-03-091-0/+2
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/1960
* LinGui: make QSV encoding actually workJohn Stebbins2019-03-075-7/+219
| | | | | | Assuming you built HandBrake with 'configure --enable-qsv' and you have built and installed Intel MediaSDK in a directory that is in your LD search path, the QSV encoders now work. HW decode is not supported.
* libhb: Only display audio source bitrates greater than one, resolves #1944Andrew Brezovsky2019-03-011-5/+9
| | | | Signed-off-by: Andrew Brezovsky <[email protected]>
* Fix a warning.Damiano Galassi2019-02-151-1/+1
|
* decavcodec: fix setting up AVCodecContext extradataJohn Stebbins2019-02-141-8/+9
| | | | | It was getting set up, but then deleted right after in avcodec_free_context.
* libhb: enable SWS_CS_BT2020 matrix.Damiano Galassi2019-02-141-3/+2
|
* Add WebM support (#1822)Justin Bull2019-02-136-24/+49
| | | Note that since webm has no official subtitle support, only burned in subtitles can be used with this muxer at this time.
* nvenc: silence a compiler warning.sr552019-02-111-1/+1
|
* nvenc_common: fix compiler warningJohn Stebbins2019-02-111-0/+2
|
* encavcodec: fix potential use of uninitialized variableJohn Stebbins2019-02-111-1/+1
|
* dvdnav: fix potentially unterminated stringJohn Stebbins2019-02-111-1/+2
|
* scan: fix potential buffer overflow in sprintfJohn Stebbins2019-02-111-7/+6
| | | | Use snprintf
* Fix return value of hb_blobal_init_no_hardwareJohn Stebbins2019-02-111-1/+1
| | | | control reaches end of non-void function
* decavcodec: fix error when ffmpeg parser changes the codec_idJohn Stebbins2019-02-111-4/+17
| | | | | | | | | | | | | | | | | | | | | | | The ffmpeg mpeg2 parser changes AVCodecContext.codec_id on the fly based on what it parses. Normally this results in correct switching of decoders internally in ffmpeg. Due to some unfortunate ordering of how we initialize things when HandBrake is using our own demuxers, avcodec_open gets called with the original AVCodec and the AVCodecContext.codec_id that was changed by the parser resulting in an error. Further explanation... When using our own demuxers, there are some codecs that we have to parse out the extradata for _prior_ to calling avcodec_open. avcodec_open fails if extradata isn't initialized for these codecs prior to the call. To initialize the extradata, we use parser->parser->split. I.e. the parser must be initialized and used prior to calling avcodec_open. When avcodec_open is called, it is using the original AVCodec that was used with avcodec_alloc_context3 (it will fail if AVCodec is not the same between avcodec_alloc_context3 and avccodec_open). The call to avcodec_open fails with "Codec type or id mismatches" since AVCodecContext.codec_id no longer matches AVCodec.id due to the parser changing the codec_id. The solution is to reset AVCodec and reallocate the context when we detect that the parser has changed codec_id on us.
* dvd: Add support for MPEG-1 on DVDJohn Stebbins2019-02-112-0/+36
| | | | | | Use video attributes from IFO file to set video stream type. May fix https://github.com/HandBrake/HandBrake/issues/1880
* stream: Improve probing of unknown streamsJohn Stebbins2019-02-111-48/+146
| | | | Fixes detection of MPEG-1 in program streams
* libhb: Add a hb_global_init_no_hardware that disables all the hardware ↵sr552019-02-117-39/+91
| | | | encoder/decode init and check code. For users where drivers or other system issues prevent HandBrake from loading.
* libhb: Append input bitrate to end of audio source description. Closes #1718.Andrew Brezovsky2019-02-081-0/+6
| | | | Signed-off-by: Andrew Brezovsky <[email protected]>
* libhb: do not set HB_STATE_WORKDONE before all the work threads are closed.Damiano Galassi2019-02-051-3/+2
|
* libhb: Temporarily log out the error code for unlink to figure out why ↵sr552019-01-281-1/+4
| | | | previews are not being removed for a user. #1851
* Fix an annoying warning in Xcode.Damiano Galassi2019-01-231-2/+2
|
* encavcodec: enable "row-mt=1" for vp9John Stebbins2019-01-221-1/+14
| | | | | | | | Improves encoding speed by about 20% for SD content and 35% for HD content in my testing on a 4 core 8 thread system. CPU utilization is around 60% as compared with 40% prior to the change. Fixes https://github.com/HandBrake/HandBrake/issues/1830
* scan: only apply min duration filter to BD and DVDJohn Stebbins2019-01-213-11/+4
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/1590
* bd: Add support for UHD discsPetri Hintukainen2019-01-201-0/+7
| | | | Fixes #1301
* Fix potential NULL pointer dereferenceJohn Stebbins2019-01-201-2/+5
|
* Align data in hb_buffer_t buffersJohn Stebbins2019-01-201-31/+18
| | | | | Use av_malloc/av_free for hb_buffer_t buffers since av_malloc always aligns.
* lapsharp: mirror image data into stride regionJohn Stebbins2019-01-203-13/+59
| | | | | | | | | Adds a function to mirror image data into stride region. Mirroring the data results in a less visible artefact down the right edge of the image. Blanking resulted in a dark edge artefact. Keeps function that blanks stride region and improves it's speed, although it's not currently used.
* lapsharp: blank frame buffer stride regionJohn Stebbins2019-01-203-0/+30
| | | | | | Zero is not black. Stride is used in computations and is assumed black. Fixes https://github.com/HandBrake/HandBrake/issues/1751
* libhb: Remove some NLMeans TODO comments.Bradley Sepos2019-01-191-2/+0
| | | | NLMeans has used frame threading for years, so SIMD aside, these areas are sufficiently parallelized overall.
* libhb: Reduce the number of threads NLMeans uses with many logical cores.Bradley Sepos2019-01-191-2/+14
| | | | Too many threads increases CPU cache pressure, reducing performance.
* encavcodec: improve comment about ffmpeg timestamp handlingJohn Stebbins2019-01-181-6/+14
|
* encavcodec: Make VCE h.265 encoder emit an IDR for every GOPJohn Stebbins2019-01-181-0/+6
|
* work: fix videotoolbox encoder loggingJohn Stebbins2019-01-181-0/+5
| | | | Log h.264 profile and level, and h.265 profile
* encavcodec: Fix dts timestamps in VT h.265 encodingJohn Stebbins2019-01-181-2/+12
| | | | | | | | The VT h.265 encoder appears to enable b-pyramid, but doesn't expose any method to modify the setting or query for its value. So we'll just assume it's always on whenever there are b-frames. Fixes https://github.com/HandBrake/HandBrake/issues/1689
* encavcodec: set frame.key_frame for AMD VCE encoderJohn Stebbins2019-01-161-0/+1
| | | | | | | AMD VCE encoder needs this in order to force an IDR rather than an I frame. Fixes https://github.com/HandBrake/HandBrake/issues/1762
* muxavformat: use better approximation for duration of last video frameJohn Stebbins2019-01-161-0/+10
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/1802