| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Adding the specific FFMPEG encoder suffix allows support for more encoders like VAAPI.
Cleaned up overall HB_VCODED_* to 32bit signed integer space within 0x7FFFFFFF.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Fix HB_VCODEC_FFMPEG_MASK covered values to lie within mask
- Fix HB_VCODEC_FFMPEG_H264 usage (gtk version missed a rename)
- Fix FFMPEG hwaccel build is required for Nvenc
Basically working:
- h264_nvenc
- hevc_nvenc
Possible optimization:
- Even in constant quality mode, a user ceiling bit_rate might be desirable,
currently only the maximum is used like in VP8/9: w x h x fps
Remaining issues:
1) Muxer issue with h264_nvenc + MKV, ffprobe shows:
[h264 @ 0x55ae4dedacc0] sps_id 32 out of range
[h264 @ 0x55ae4dedacc0] Invalid nal size 1677734572
[h264 @ 0x55ae4dedacc0] missing picture in access unit with size 40644
Notable: This does not happen with hevc_nvenc
Tested:
- GNU/Linux Debian 9
- GeForce GTX 950
- BD 1080p source, cropped: Around 70fps h264 + hevc
|
|/ |
|
|
|
| |
This is useful for scripts and other frontends that need to parse CLI output.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Closes #525.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* subtitles: simplify and shorten subtitle descriptions
Generally, it eliminates parens to make things more readable.
I.e. it turns this:
English (Closed Caption)(Wide Screen)(Bitmap)(VOBSUB)
Into this:
English, Closed Caption [Wide Screen, VOBSUB]
* Revise punctuation per BradleyS request
* fix subtitle description formatting
* incorporate suggestions from PR
|
|
|
|
|
|
|
|
|
|
| |
* Fix spelling of 'source'
* Fix spelling of 'specify'
* Fix spelling of 'internal'
* Fix spelling of 'quitting'
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fixes https://github.com/HandBrake/HandBrake/issues/462
hb_audio_add was overwriting the desired output bitrate before we
discovered that we needed to use the fallback encoder.
|
| |
|
|
|
|
| |
Closes #358.
|
|
|
|
|
| |
Quality based encoding is not supported by libopus.
But compression levels *are* supported.
|
|
|
|
|
|
|
|
|
|
| |
Remove:
hb_audio_samplerate_get_best()
Add:
hb_audio_samplerate_is_supported()
hb_audio_samplerate_find_closest()
hb_audio_samplerate_get_sr_shift()
|
|
|
|
|
|
|
|
|
|
|
| |
presets are
veryfast - deadline=good:cpu-used=5
faster - deadline=good:cpu-used=4
fast - deadline=good:cpu-used=3
medium - deadline=good:cpu-used=2
slow - deadline=good:cpu-used=1
slower - deadline=good:cpu-used=0
veryslow - deadline=best:cpu-used=0
|
| |
|
|
|
|
| |
Use hb_chapter_enqueue/dequeue
|
|
|
|
|
| |
Eliminate the need for everyone to assume that the first chapter starts
at the first frame.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The lowest possible QP (and RF) depend on
the bit depth and can be lower than zero.
|
|
|
|
| |
The defines always exist, so they're not actually protecting anything.
|
|
|
|
|
| |
This allows use of versions of the library that are compatible, but do
not necessarily have the same build number.
|
| |
|
|
|
|
|
|
| |
This simplifies accessing and changing filter parameters
programatically. It also changes the custom filter string format to a
':' separated list of key/value pairs.
|
|
|
|
| |
if there is no he-aac encoder, a fallback to aac was not getting set.
|
|
|
|
| |
filter info can be null, which caused a crash
|
|
|
|
|
|
| |
hb_audio_add() did not check that an encoder exists before stripping
away the passthru flag when source audio was not compatible with
requested passthru codec.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New filter types HB_FILTER_AVFILTER and HB_FILTER_PAD.
Settings for HB_FILTER_AVFILTER are the same as you would pass to avconv
from the command line -vf option, except that we do not support
multi-input or multi-output filters.
Settings for HB_FILTER_PAD are "width:height:color:x_offset:y_offset".
width x height is the size of the output frame after padding.
color may be a w3c color name or RGB value (default black).
x_offset, y_offset is the position of the video within the padded area
(default centered).
Any of the values may be omitted or "auto".
|
| |
|
| |
|
|
|
|
|
| |
automatically pull in shared versions of these libs or allow statically
building against any one of them.
|
|
|
|
|
| |
This adds the structure to load an libx264 10-bit shared library.
The user must install this library themselves to an appropriate place.
|
|
|
|
|
|
|
|
| |
We split PES packets when there is a PCR change in the middle of the
packet. This works fine for audio and video where the decoder parses
the ES to find frame boundaries. But it does not work for some decoders
such as PGS subtitles. So mark split buffers and reassemble them in
reader after processing the PCR change.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
simplify job initialization sequence, clean up code, and document
dependencies in the sequence better.
Make hb_add set job->sequence_id. It is no longer necessary for the
frontend to do this. If the frontend needs the sequence_id, it is
returned by hb_add().
Clean up use of interjob. do_job() now uses sequence_id to detect when
a new sequence of related jobs is running and automatically clears
interjob.
|
|
|
|
|
| |
It only worked properly with the x264 encoder. Now it works with all
encoders.
|
|
|
|
|
| |
This brings together several independent implementations of a simple
buffer list manager.
|
| |
|
|
|
|
| |
gcc didn't like the way variables were being initialized.
|
|
|
|
|
|
|
|
| |
Allows for arbitrary frame rates between 1 and 1000 fps.
Adds min/max frame rates to CLI help.
Removes hardcoded instances of the internal clock rate in favor of hb_video_framerate_get_limits().
Unfortunately, much of the codebase generally refers to clock rate as frame rate, so a little extra care is still necessary going forward.
|
| |
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7400 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
This should fix https://forum.handbrake.fr/viewtopic.php?f=11&t=32520
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7310 b64f7644-9d1e-0410-96f1-a4d463321fa5
|