| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
nvenc_load_functions tries to free the input NvencFunctions before
loading. Set pointer to NULL to prevent free of invalid pointer.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This was defaulting to the device name when scanning raw devices, e.g.
"sr0" on linux.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It was only being allowed for certain codecs when it should be allowed
for all.
|
|
|
|
| |
Eliminates deprecation warnings for avresample
|
|
|
|
| |
Audio probe does not set w->audio.
|
| |
|
|
|
|
| |
Allow 7.1 channels for AAC, but dissalow 6.1 for FDK (H)AAC, because it is not supported.
|
|
|
|
| |
Set samples per frame for audio tracks
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...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.
|
|
|
|
|
| |
Our handling of temporary directory paths could truncate resulting
filenames. This fixes the warnings and prevents possible truncation.
|
|
|
|
| |
...and avformat_register_all
|
|
|
|
| |
It's a NOP and does nothing in current code
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
Was broken by the AMF merge
|
|
|
|
|
|
| |
ffmpeg expect SSA packets in matroska format.
Fixes https://github.com/HandBrake/HandBrake/issues/1379
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
hardware and potentially driver. TBD
|
|
|
|
| |
Fixes #1403.
|
|
|
|
| |
Change 4456e3390ce40d9cff98efc8afd888e4d52a60d5 is unnecessary.
|
| |
|
| |
|
|
|
|
|
|
| |
Assum 16:9 instead
Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=37836
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
*really* fix https://github.com/HandBrake/HandBrake/issues/1374 this
time.
|
|
|
|
| |
ffmpeg now requires this for video
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/1357
|
|
|
|
| |
check codec_name and profile_name for NULL before strstr search.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
lzma may be used by the ffmpeg tiff decoder which can be used in
matroska files.
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Previous value maxed out at lossless x264 4K or so, new value should be large enough for lossless x264 8K.
Fixes #1334.
|