summaryrefslogtreecommitdiffstats
path: root/libhb/encx264.c
Commit message (Collapse)AuthorAgeFilesLines
* encx264: fix encoding of very short duration framesJohn Stebbins2018-05-301-41/+2
| | | | | | | | | | | | 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
* Misc. typosluz.paz2018-02-201-3/+3
| | | Found via `codespell -q 3 --skip="./gtk/po`
* encx264: fix apply_h264_profile's lossless check for high bit depth.Tim Walker2018-02-181-4/+12
|
* libhb: fix a number of issues reported by clang.Damiano Galassi2018-01-121-1/+2
|
* encx264: check correct build number in ifdefJohn Stebbins2018-01-101-4/+4
| | | | The multi-lib change actually happend in build 153
* x264: bump to build 155John Stebbins2018-01-101-3/+45
| | | | | | | Requires NASM to build Unified 8 and 10 bit library support AVX-512 optimizations Various other bug fixes and improvements
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* add sdtp (sample dependency) box to mp4 (#1006)John Stebbins2017-11-281-5/+2
| | | | | * add sdtp (sample dependency) box to mp4 The AppleTV 4K requires this box in order to play 2160p60 video.
* Add adaptive streaming support (#972)John Stebbins2017-11-091-2/+6
| | | | | | | "Adaptive streaming" allows changing video parameters mid-stream at IDR boundaries. Such changes require new SPS and PPS NALs at the IDR. MP4 supports this with 'avc3' and 'hev1' sample entry types.
* mux: shift timestamps by largest encoder delayJohn Stebbins2017-02-141-2/+2
| | | | | 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
|
* libhb: add new color tags for Bt 2020 and SMPTE ST 2084Damiano Galassi2016-12-211-1/+8
|
* libhb: use the new keyframe flag.Tim Walker2016-09-171-25/+24
|
* x264: fix memory leak in 10bit encodingJohn Stebbins2016-09-161-0/+1
|
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-120/+59
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* libhb: fix incorrect assumption that video quality is always positive.Tim Walker2016-03-311-1/+1
|
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* encx264: only show warning log after first frameJohn Stebbins2015-11-151-1/+2
|
* x264: add multilib support (a.k.a. 10-bit)John Stebbins2015-11-121-73/+369
| | | | | This adds the structure to load an libx264 10-bit shared library. The user must install this library themselves to an appropriate place.
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-17/+13
| | | | | | | | | | | | | 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.
* grayscale: make it a real filterJohn Stebbins2015-10-141-16/+2
| | | | | It only worked properly with the x264 encoder. Now it works with all encoders.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-19/+8
| | | | | This brings together several independent implementations of a simple buffer list manager.
* libhb: remove HB_API_OLD_PRESET_GETTERS cruft.Rodeo2015-06-271-20/+0
| | | | | | | None of the frontends are using it anymore. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7322 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Use a buffer flat to indicate EOFjstebbins2015-05-011-1/+1
| | | | | | | | | | | | ... instead of a 0 length buffer. This fixes this issue: https://forum.handbrake.fr/viewtopic.php?f=12&t=31959 Theora can create 0 length output. These 0 length frames indicate duplicate frames. So we can't use 0 length buffers to indicate the end of the stream. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7143 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: fix hb_dict_init call.Rodeo2015-04-051-1/+1
| | | | | | | Was broken since revision 6981. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7058 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: use jansson for hb_dictjstebbins2015-03-091-192/+200
| | | | | | | | This paves the way to doing preset processing in libhb. Initially for the CLI but other frontends may benefit eventually. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6981 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: automatically scan title when processing json jobsjstebbins2015-03-071-7/+8
| | | | | | | | | | | | | | | Simplifies the WinGui. This also changes how jobs are processed. Creating the sub-jobs for multiple passes is delayed until after scanning and immediately before running the job. Working status has also changed. Sub-job passes are identified in status with an ID that allows the frontend to definitively identify what pass is in progress. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6976 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-13/+11
| | | | | | | | | | There are several changes to job and title structs that break current windows interop code. The interop code should be changed such that it only uses json APIs. So if there is any missing features (or bugs) in these APIs, please let me know. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update some copyright dates to 2014.Rodeo2014-02-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: make encoder options less x264-centric.Rodeo2014-02-131-20/+21
| | | | | | | | profile/level control and, to a lesser extent, encoder presets and tunes are becoming more common. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6031 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix compiler warningjstebbins2014-01-261-7/+7
| | | | | | | move struct chapter_s declaration to correct location. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5999 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encoders: save chapter markers in a list.Rodeo2014-01-071-8/+62
| | | | | | | If chapters were a few seconds apart or less, we would encounter a new marker before the previous one had been placed in an output buffer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5956 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: remove some long dead code.Rodeo2013-10-191-6/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5842 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: don't log unparsed options if the string is NULL.Rodeo2013-10-191-1/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5841 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: remove duplicate logging (libx264 already logs the SAR), and log ↵Rodeo2013-10-191-4/+2
| | | | | | the average bitrate to be consistent (we log the RF in CRF mode). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5840 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: log the unparsed advanced options string for informational purposes.Rodeo2013-10-191-0/+10
| | | | | | | | Patch by BradleyS. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5839 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: auto-enable metrics when the relevant tune is requested.Rodeo2013-08-171-0/+22
| | | | | | | | Thanks to s55 for the suggestion. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5710 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: don't force-enable metrics (PSNR, SSIM).Rodeo2013-08-171-5/+0
| | | | | | | | Matches the x264 defaults, gives us a very minor speed boost, and gets rid of a warning. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5709 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add experimental avformat muxer for mkv and mp4jstebbins2013-06-301-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5620 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated all the copyright headers to 2013.sr552013-03-091-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5318 b64f7644-9d1e-0410-96f1-a4d463321fa5
* 2013 preset changes:Rodeo2013-03-041-7/+0
| | | | | | | | | | | | - updated descriptions (all presets) - add maximum height (device presets) - harmonize PFR framerates (29.97 to 30 fps) - move qpmin hack from encx264 to the AppleTV preset - Android preset: switch to level 3.0 (720x576 @ Level 2.2 meant 12.5 fps max.) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5299 b64f7644-9d1e-0410-96f1-a4d463321fa5
* x264 preset system: miscellaneous improvements.Rodeo2013-01-301-76/+122
| | | | | | | | See https://reviews.handbrake.fr/r/421/ for details. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5225 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix hb_apply_h264_level() after x264 bump.Rodeo2013-01-221-1/+1
| | | | | | | | x264's DPB size table was updated in http://git.videolan.org/?p=x264.git;a=commit;h=d2d8364f git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5193 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump libav to v9_beta3.Rodeo2012-12-311-4/+4
| | | | | | | | Miscellaneous bugfixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_x264_param_unparse: cosmetics.Rodeo2012-12-201-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5103 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_x264_param_unparse: unset a few options that have no effect in the ↵Rodeo2012-12-201-1/+21
| | | | | | advanced options string. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5102 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_apply_h264_level: cosmetics, change the meaning of the last parameter ↵Rodeo2012-12-201-9/+9
| | | | | | (be_quiet -> verbose). Seems more common. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5101 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: raise qpmin to 4. 3 has been found to fail on real sources.Rodeo2012-12-091-3/+5
| | | | | | | | Fixes https://forum.handbrake.fr/viewtopic.php?f=5&t=25735 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5094 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_x264_param_unparse(): fix typo.Rodeo2012-11-271-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5086 b64f7644-9d1e-0410-96f1-a4d463321fa5