summaryrefslogtreecommitdiffstats
path: root/libhb/encavcodec.c
Commit message (Collapse)AuthorAgeFilesLines
* Pass new entries to av_opts as stringsPMunkes2021-03-091-2/+2
|
* Fix option names in VCE workaroundPMunkes2021-03-091-5/+2
|
* Correct QP range when using ffmpeg VCE H265PMunkes2021-03-091-0/+9
| | | | By default ffmpeg restricts qp factors to a range of 2 to 31, unless otherwise overwritten. This significantly constrains the low bitrate performance of VCE in H.264 mode. This should fix issue #3447 and could also address parts of issue #2980.
* libhb: add videotoolbox 10bit hevc encoder.Damiano Galassi2021-02-281-36/+48
|
* libhb: Replace hardcoded input pixel format for NV12 conversion.Bradley Sepos2021-02-201-1/+1
|
* libhb: Decode directly to NV12 for MediaFoundation encoder where possible.Bradley Sepos2021-02-201-12/+15
|
* Add support for using the ffmpeg MediaFoundation encoder wrapperMartin Storsjö2021-02-201-0/+120
| | | | | | | | | | | | | This works fine for e.g. the Qualcomm H264 and HEVC encoders on ARM64 windows devices, and should work the same for other vendors HW encoders on X86 devices (even though those encoders usually are available via vendor specific APIs as well, and this patch is currently only tested and tuned for Qualcomm). There's no detection for whether the MediaFoundation wrapper is going to provide a working encoder for either format (it currently forcibly tries to use a HW encoder and fails if there isn't a matchine one, or if it doesn't accept the parameters that have been set).
* libhb: revert part of the previous colormatrix override commit.Damiano Galassi2021-01-251-6/+6
|
* libhb: change the color-matrix cli option behavior. Set the color info at ↵Damiano Galassi2021-01-241-6/+6
| | | | the begin of the pipeline. Fix a typo in the preset key that prevented it from working.
* Update copyright dates to 2021.Bradley Sepos2021-01-011-1/+1
|
* libhb: add 8bit to 10/12bit blend functions to rendersub.Damiano Galassi2020-11-181-1/+1
| | | | decode video to 10bit or 12bit yuv if there is no 8bit filter in the chain.
* libhb: improve videotoolbox detection and add support for constant quality ↵Damiano Galassi2020-08-231-0/+8
| | | | encoding mode when available.
* NVEnc: Allow bitrate to be variable for Average Bitrate Mode in HB. Fixes #3020sr552020-07-211-3/+3
|
* encavcodec: Set the framerate field in addition to time_baseMartin Storsjö2020-06-161-0/+1
| | | | | | | | The AVCodecContext struct nowadays has got a frame rate field, which is supposed to be used for indicating the frame rate, allowing the time_base to be different, for properly describing VFR content. (There's potentially still some encoders that still interpret 1/time_base as the frame rate though.)
* nvenc: Remove hq, hp and default as these appear to simply be mappings.sr552020-05-021-1/+1
|
* Update copyright dates to 2020.Bradley Sepos2020-01-011-1/+1
|
* VCE: Force the rate control method for the VCE encoder to see if it helps ↵sr552019-11-141-0/+5
| | | | with rate control problems. #2414
* Nvenc: Unbound rate control removing qmin and qmax. Should reduce file sizes ↵sr552019-11-091-2/+0
| | | | in some circumstances. #2392
* Gardening: Clean up trailing whitespaceNomis1012019-11-041-12/+12
| | | | Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
* fix warnings when compiling with clang.Damiano Galassi2019-09-261-1/+1
|
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-6/+6
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Resolve conflict with harfbuzz include file hb.hJohn Stebbins2019-09-101-1/+1
| | | | Rename hb.h to handbrake.h
* encavcodec: fix chapter mark postion for nvenc encodesJohn Stebbins2019-08-221-5/+5
| | | | | | "forced-idr" was only getting set for constant quality encodes. fixes https://github.com/HandBrake/HandBrake/issues/2269
* Better error message when avcodec_find_encoder_by_name() fails (#2252)digulla2019-08-211-18/+25
| | | | | | * Better error message when avcodec_find_encoder_by_name() fails * Gracefully fail when the code in the job setup and the switch here get out of sync.
* nvenc: Change the rate control to vbr_hq, setting qmin/qmax #2231sr552019-08-121-3/+10
|
* Fix some typos (#2202)Nomis1012019-07-311-1/+1
| | | Fix some typos
* libhb: change preset key to VideoColorMatrixCodeOverrideJohn Stebbins2019-04-081-3/+11
| | | | | | Reserve VideoColorMatrixCode for doing color conversion. VideoColorMatrixCodeOverride sets color flags without transforming video frame colors.
* 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
* encavcodec: fix potential use of uninitialized variableJohn Stebbins2019-02-111-1/+1
|
* 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
* 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
|
* 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
* encavcodec: remove unused 'job' variableJohn Stebbins2019-01-141-1/+0
|
* encavcodec: respect inline_parameter_sets settingJohn Stebbins2019-01-141-1/+4
|
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* VideoToolbox: Remove unsupported main10 mode #1719sr552018-12-101-1/+1
|
* VCE: Fix an issue with where the h264 stream was not correctly written to ↵sr552018-12-071-9/+2
| | | | the container. #1706
* Default Nvenc to use slower, higher quality settings. Fix some issues around ↵sr552018-12-011-12/+56
| | | | the rate control, profile and level settings.
* nvenc: fix chapter mark positionsJohn Stebbins2018-11-291-0/+3
| | | | | Set flag that forces nvenc to produce IDR frames when a keyframe is forced. We require IDR frames at chapter marks.
* Nvenc: Don't override rc-lookahead or spartial-aq settings.sr552018-11-241-6/+0
|
* WinGui: Get rid of some erroneous logging for NVEnc.sr552018-11-231-2/+1
|
* Add VideoToolbox hardware encoding thru FFmpeg.Damiano Galassi2018-11-151-0/+71
|
* encavcodec: fix passing extradata to muxerJohn Stebbins2018-11-141-32/+5
| | | | | | The extradata handling hasn't changed since 0.7 when we only used encavcodec for mpeg4 encoding. It was not designed to handle the additional codecs we are encoding now.
* Refactor the color tag code, and pass it to the FFmpeg encoders.Damiano Galassi2018-08-281-0/+5
|
* VCE: Small Adjustment to the Quality settings passed to ffmpeg. B-Frames +2 ↵sr552018-08-161-2/+7
| | | | #1408
* NVEnc: Add human names for encoder presets and remove currently invalid options.sr552018-08-081-2/+2
|
* VCE: Working on CQ mode for AMD VCE. #1408sr552018-07-301-1/+16
|
* VCE: Fix a typo that was preventing the VCE H.265 encoder from working.sr552018-07-091-1/+1
|