summaryrefslogtreecommitdiffstats
path: root/libhb/encavcodec.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Add NVEnc encoder. (Round 3) (#1437)Scott2018-06-291-9/+100
| | | | | | 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.
* libhb: fix snprintf compiler warningsJohn Stebbins2018-06-131-4/+9
| | | | | Our handling of temporary directory paths could truncate resulting filenames. This fixes the warnings and prevents possible truncation.
* encavcodec: fix encoding with vp8 and vp8 encodersJohn Stebbins2018-06-101-2/+2
| | | | Was broken by the AMF merge
* libhb: Cosmetic in encavcodec.c.Bradley Sepos2018-06-061-1/+1
|
* Add support for VCE hardware encoding.Michael Wootton2018-06-061-6/+125
|
* encavcodec: set AVFrame width and heightJohn Stebbins2018-06-021-0/+2
| | | | ffmpeg now requires this for video
* FFMPEG: Use avcodec_free_context(..) instead of deprecated leaking ↵Sven Gothel2018-05-281-4/+5
| | | | | | | 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.
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* add sdtp (sample dependency) box to mp4 (#1006)John Stebbins2017-11-281-3/+5
| | | | | * add sdtp (sample dependency) box to mp4 The AppleTV 4K requires this box in order to play 2160p60 video.
* fix use of deprecated libav definesJohn Stebbins2017-07-061-5/+5
| | | | Fixes https://github.com/HandBrake/HandBrake/issues/815
* mux: shift timestamps by largest encoder delayJohn Stebbins2017-02-141-1/+1
| | | | | This prevents libav from adding an mp4 edit list entry that causes a properly functioning player to drop the first couple of audio frames.
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* encavcodec: fix 2 pass vp8 and vp9 encodingJohn Stebbins2016-12-271-0/+9
| | | | | libvpx only supplies the stats upon the final flush of the encoder. So we must also write stats after final flush.
* encavcodec: fix crash during 2 pass encodeJohn Stebbins2016-12-271-2/+2
| | | | This affect mpeg4, mpeg2, vp8 and vp9 encoding
* fix memory leaksJohn Stebbins2016-12-171-1/+1
| | | | | | The series of commits starting with Tim's "libav: remove our custom QSV wrapper." Closes #46, closes #276, and closes #416.
* encavcodec: fix use of deprecated libav interfacesJohn Stebbins2016-12-171-141/+136
| | | | | | | AVCodecContext.coded_frame is deprecated. We didn't really need it. avcodec_encode_video2 is deprecated, use avcodec_send_frame and avcodec_receive_packet
* libhb: use the new keyframe flag.Tim Walker2016-09-171-38/+15
|
* libhb: make encavcodecInit() more robustSean McGovern2016-07-281-5/+41
|
* Revert "libhb: don't ignore the return result from fread()"Bradley Sepos2016-07-071-5/+1
| | | | | | Broke image previews on Linux and Windows (mingw). This reverts commit b7645e7842703d52c44feaa85cfb3c490e09c8dc.
* libhb: don't ignore the return result from fread()Sean McGovern2016-07-011-1/+5
|
* encavcodec: error out on invalid encoder presetJohn Stebbins2016-05-301-11/+18
|
* vpx: fix NULL encoder preset caseJohn Stebbins2016-05-291-1/+7
|
* vpx: add encoder presetsJohn Stebbins2016-05-291-4/+82
| | | | | | | | | | | 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
* vpx: allow user to change deadline and cpu-used settingsJohn Stebbins2016-05-281-3/+17
|
* vpx: use faster settingsJohn Stebbins2016-05-271-4/+1
| | | | | cpu-used=0 is very slow, and the various recommendations are to use cpu-used=2