summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* nvenc: fix crash in nvenc_load_functionsJohn Stebbins2018-06-291-1/+1
| | | | | nvenc_load_functions tries to free the input NvencFunctions before loading. Set pointer to NULL to prevent free of invalid pointer.
* Add NVEnc encoder. (Round 3) (#1437)Scott2018-06-299-43/+249
| | | | | | Adding the Nvidia NVEnc H.264 and H.265 encoders. Based on Initial work by sgothel --enable-nvenc is the new compile time configure option to enable for builds.
* bd: fix title->name for BDs that have disc infoJohn Stebbins2018-06-281-17/+33
| | | | | This was defaulting to the device name when scanning raw devices, e.g. "sr0" on linux.
* presets: fix importing file with "Official" presetsJohn Stebbins2018-06-271-0/+11
| | | | | | Convert any presets with "Type" official to custom before importing. This can happen if someone decides to try to import a full user presets file from a previous install of HandBrake.
* resample: fix ditheringJohn Stebbins2018-06-271-11/+2
| | | | | It was only being allowed for certain codecs when it should be allowed for all.
* audio_resample: switch from avresample to swresampleJohn Stebbins2018-06-278-89/+85
| | | | Eliminates deprecation warnings for avresample
* decavcodec: fix crash during audio probeJohn Stebbins2018-06-201-2/+5
| | | | Audio probe does not set w->audio.
* contrib: gtk: libhb: make: scripts: Remove yasm contrib.Bradley Sepos2018-06-172-36/+2
|
* libhb: Allow 7.1 channels AAC encoding.Simon Lämmle2018-06-161-3/+11
| | | | Allow 7.1 channels for AAC, but dissalow 6.1 for FDK (H)AAC, because it is not supported.
* muxavformat: silence mp4 frame size warningJohn Stebbins2018-06-151-0/+1
| | | | Set samples per frame for audio tracks
* muxavformat: use alternate API to initialize out contextJohn Stebbins2018-06-151-12/+5
| | | | | | avformat_alloc_output_context2 does several things for us that we were doing in separate steps. It also allocates AVFormatContext.url for us so we do not have a case where we alloc something that ffmpeg frees.
* muxavformat: fix crash on windowsJohn Stebbins2018-06-151-1/+1
| | | | | | We allocate AVFormatContext.url, but libavformat frees it. So we must use an allocation function that is compatible with the free function used by libavformat.
* Fix PGS subtitle decoding...John Stebbins2018-06-138-97/+147
| | | | | | | | | | | | | | | | | ...And add a timebase to every stream. ffmpeg's subtitle decoder internally converts the packet pts to AV_TIME_BASE units based on AVCodecContext.pkt_timebase. If pkt_timebase is not set, the PGS subtitle decoder only returns AV_NOPTS_VALUE for timestamps. So setting pkt_timebase in decpgssub.c fixes PGS subtitle decoding. Confusingly, the subtitle decoder does not convert the pts *back* to the input timebase, but instead leaves them in AV_TIME_BASE units upon returning a decoded subtitle. To get a head start on fixing any other such issues that might arrise, I have also set pkt_timebase in all other avcodec decoders.
* libhb: fix snprintf compiler warningsJohn Stebbins2018-06-137-71/+100
| | | | | Our handling of temporary directory paths could truncate resulting filenames. This fixes the warnings and prevents possible truncation.
* libhb: eliminate use of deprecated av_register_all...John Stebbins2018-06-131-2/+0
| | | | ...and avformat_register_all
* libhb: eliminate use of deprecated ffmpeg lockmgrJohn Stebbins2018-06-131-27/+0
| | | | It's a NOP and does nothing in current code
* muxavformat: fix use of deprecated AVFormat.filenameJohn Stebbins2018-06-131-1/+1
| | | | | | The new way is AVFormat.url. AVFormat.filename had lenght limitations that url does not since it is allocated by the caller (and freed by libavformat).
* comb_detect: fix crash when no valid frames are passedJohn Stebbins2018-06-111-1/+4
|
* encavcodec: fix encoding with vp8 and vp8 encodersJohn Stebbins2018-06-101-2/+2
| | | | Was broken by the AMF merge
* muxavformat: Fix muxing SSA subtitlesJohn Stebbins2018-06-091-35/+0
| | | | | | ffmpeg expect SSA packets in matroska format. Fixes https://github.com/HandBrake/HandBrake/issues/1379
* decssasub: Fix decoding SSA subtitlesJohn Stebbins2018-06-092-207/+18
| | | | | | | ffmpeg delivers the SSA subtitles in the matroska packet format we require, so no parsing is necessary now. Fixes https://github.com/HandBrake/HandBrake/issues/1406
* VCE: Add support for fetching levels for H.264 and H.265sr552018-06-081-0/+12
|
* VCE: Stub out VCE available methods for the UI. This will need to check for ↵sr552018-06-082-0/+45
| | | | hardware and potentially driver. TBD
* libhb: test: Guard VCE encoders behind USE_VCE.Bradley Sepos2018-06-083-0/+10
| | | | Fixes #1403.
* libhb: Restore HB_VCODEC_MASK value.Bradley Sepos2018-06-081-1/+1
| | | | Change 4456e3390ce40d9cff98efc8afd888e4d52a60d5 is unnecessary.
* libhb: Cosmetic in encavcodec.c.Bradley Sepos2018-06-061-1/+1
|
* Add support for VCE hardware encoding.Michael Wootton2018-06-066-10/+160
|
* bd: Don't fail titles with unknown aspectJohn Stebbins2018-06-061-2/+4
| | | | | | Assum 16:9 instead Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=37836
* libhb: allow muxing E-AC3 in mp4.Damiano Galassi2018-06-051-2/+2
|
* decavcodec: fix issues with audio that has no explicit channel_layoutJohn Stebbins2018-06-041-9/+32
| | | | | | | | ffmpeg doesn't set a default channel layout for audio that has no explicit layout (e.g. pcm_216le). So we need to guess it from the number of channels. Fixes "no audio" in https://github.com/HandBrake/HandBrake/issues/1387
* sync: don't drop short frames in OutputBuffer()John Stebbins2018-06-041-5/+1
| | | | | *really* fix https://github.com/HandBrake/HandBrake/issues/1374 this time.
* encavcodec: set AVFrame width and heightJohn Stebbins2018-06-021-0/+2
| | | | ffmpeg now requires this for video
* avfilter: fix flushing final frameJohn Stebbins2018-05-311-2/+11
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/1357
* scan: fix crash due to last commitJohn Stebbins2018-05-301-1/+2
| | | | check codec_name and profile_name for NULL before strstr search.
* scan: rationalize ffmpeg codec/profile namesJohn Stebbins2018-05-301-45/+66
| | | | | | | | | ffmpeg is inconsistent in the format of returned profile names. Sometimes the profile name includes the codec name and sometimes it does not. So search for the codec name in the profile name and add codec name if it's not there. Ugh! Fixes https://github.com/HandBrake/HandBrake/issues/1375
* encx264: fix encoding of very short duration framesJohn Stebbins2018-05-302-46/+3
| | | | | | | | | | | | We had a hash of limited size where we stored frame durations in encx264. This hash has not been necessary since we moved to using libavformat for muxing. Since the limited size of the hash put constraints on how short frame durations could be, I've eliminated it. This means that after the encoder, hb_buffer_t s.stop and s.duration are no longer valid. But since they are not used during muxing, this is not a problem. Fixes https://github.com/HandBrake/HandBrake/issues/1374
* libhb: build: README: Replace instances of Libav with FFmpeg.Bradley Sepos2018-05-298-12/+12
|
* contrib: add lzma supportJohn Stebbins2018-05-291-0/+6
| | | | | lzma may be used by the ffmpeg tiff decoder which can be used in matroska files.
* libhb: fix segfault when decoding empty audio trackJohn Stebbins2018-05-291-1/+2
| | | | | | | If an audio track exists, but we receive no audio packets for that track, this causes a condition that results in a NULL dereference. Fixes https://github.com/HandBrake/HandBrake/issues/1358
* contrib: Add Speex decoder libspeex.Bradley Sepos2018-05-291-2/+2
|
* contrib: test: Strip dll and cli binary in build phase if debug=none.Bradley Sepos2018-05-291-0/+3
|
* libhb: cli: Link to libbcrypt on mingw-w64.Bradley Sepos2018-05-291-1/+1
|
* contrib: Use AV_CODEC_ID_ASS for FFmpeg.Bradley Sepos2018-05-282-4/+4
|
* FFMPEG: Use avcodec_free_context(..) instead of deprecated leaking ↵Sven Gothel2018-05-286-22/+16
| | | | | | | avcodec_close(..) Hence rename hb_avcodec_close -> hb_avcodec_free_context and pass the required ptr-ptr. avcodec_free_context(..) ensures releasing of all resources attached to the context.
* FFMPEG decavcodec: Consider returned error from av_buffersrc_add_frame(..)Sven Gothel2018-05-281-2/+6
|
* Using AV_CODEC_ID_SUBRIP instead of AV_CODEC_ID_SRT (libav->ffmpeg)Sven Gothel2018-05-281-2/+2
| | | | | | This fixes issue https://trac.ffmpeg.org/ticket/6304 See https://github.com/HandBrake/HandBrake/pull/981#issuecomment-347364763 See https://github.com/HandBrake/HandBrake/issues/974#issuecomment-353986772
* FFMPEG #974: Use latest FFMPEG 3.4.1 (1/2)Sven Gothel2018-05-282-1/+3
| | | | | | | | Patch 1/2 for https://github.com/HandBrake/HandBrake/issues/974 moving to FFMPEG 3.4.1 from LIBAV 12.2. The re-ordering of to be linked modules was required to solve statically linked dependencies. See libhb/module.defs etc.
* libhb: Increase maximum packet read size in stream.c.Bradley Sepos2018-05-131-1/+1
| | | | | | Previous value maxed out at lossless x264 4K or so, new value should be large enough for lossless x264 8K. Fixes #1334.
* libhb: don't drop "escape" char in hb_str_vsplitJohn Stebbins2018-04-031-5/+0
| | | | | | | It's just wrong to begin with. And it may not be an escape char anyway. Could be a directory separator. Fixes https://github.com/HandBrake/HandBrake/issues/1249
* libhb/param: skip redundant checks.Tim Walker2018-02-261-3/+3
|