summaryrefslogtreecommitdiffstats
path: root/libhb/encx265.c
Commit message (Collapse)AuthorAgeFilesLines
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-4/+4
| | | | | | | 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
* encx265: set levelJohn Stebbins2019-07-111-0/+27
| | | | | | It seems the encoder level has been supported in x265 since May 2014, just a few months after initial support for x265 was added to HandBrake :\
* encx265: Use HB_PROJECT_FEATURE_X265 instead of USE_X265John Stebbins2019-04-171-1/+4
|
* libhb: change preset key to VideoColorMatrixCodeOverrideJohn Stebbins2019-04-081-6/+6
| | | | | | Reserve VideoColorMatrixCode for doing color conversion. VideoColorMatrixCodeOverride sets color flags without transforming video frame colors.
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* Refactor the color tag code, and pass it to the FFmpeg encoders.Damiano Galassi2018-08-281-34/+4
|
* libhb: fix snprintf compiler warningsJohn Stebbins2018-06-131-8/+10
| | | | | Our handling of temporary directory paths could truncate resulting filenames. This fixes the warnings and prevents possible truncation.
* Misc. typosluz.paz2018-02-201-1/+1
| | | Found via `codespell -q 3 --skip="./gtk/po`
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* add sdtp (sample dependency) box to mp4 (#1006)John Stebbins2017-11-281-0/+3
| | | | | * 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-1/+1
| | | | | | | "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.
* encx265: fix compiler warningJohn Stebbins2017-02-221-1/+0
|
* encx265: fix 2 pass encoding when framerate is wrongJohn Stebbins2017-02-221-3/+2
| | | | | | x265 expects the framerate specified to be the same for both passes. So we must set the same value even when we compute that the actual framerate differs from what the file's header says.
* 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/+6
|
* encx265: fix turbo first passJohn Stebbins2016-11-071-3/+8
| | | | | x265 changed the default to slow first pass. so always explicitely set it in chase they change their minds again :-\
* encx265: flag all HEVC random access points as keyframes.Tim Walker2016-09-171-0/+5
|
* libhb: use the new keyframe flag.Tim Walker2016-09-171-6/+7
|
* encx265: fix incorrect input continuity messageJohn Stebbins2016-08-101-1/+2
| | | | | Don't emit an error message when initial timestamp of the stream is not zero.
* encx265: simplify chapter mark handlingJohn Stebbins2016-05-251-79/+22
| | | | Use hb_chapter_enqueue/dequeue
* libhb: fix incorrect assumption that video quality is always positive.Tim Walker2016-03-311-1/+1
|
* x265: use more permissive x265_api_query instead of x265_api_getJohn Stebbins2016-03-301-2/+2
| | | | | This allows use of versions of the library that are compatible, but do not necessarily have the same build number.
* libhb: fix x265 encoding with CRF == 0.0Tim Walker2016-03-291-1/+1
| | | | We were using ABR at 0.0 Kbps instead.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* Added missing NULL pointer check in encx265Closeschrotthaufen2015-11-131-0/+1
| | | | | | pv was never checked to be NULL, which would lead to a NULL pointer dereference in the pv->delayed_chapters != NULL check, when w->private_data is NULL.
* x265: add support for 10, 12, and 16 bit x265 libsJohn Stebbins2015-11-121-20/+22
| | | | | automatically pull in shared versions of these libs or allow statically building against any one of them.
* x265: use multi-lib APIJohn Stebbins2015-11-121-30/+45
| | | | | This does not yet support other bit depths. But it's the first step to doing so.
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-1/+2
| | | | | | | | | | | | | 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.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-22/+6
| | | | | This brings together several independent implementations of a simple buffer list manager.
* encx265: fix regression introduced in SVN revision 6366.Rodeo2015-06-081-6/+2
| | | | | | | Unknown options and bad values were never fatal for any libhb encoder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7278 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix issues with video optionsjstebbins2015-05-281-0/+1
| | | | | | | | | | Fixes: https://forum.handbrake.fr/viewtopic.php?f=10&t=32535&sid=321e6d1092fd09c8d380e13e86d1a9ee - Sanitize empty video encoder settings strings to NULL. - In the CLI, use encoder defaults if user changes the preset's video encoder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7237 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
* Bump libx265 to version 1.6Rodeo2015-04-031-0/+3
| | | | | | | | | Miscellaneous bugfixes and performance improvements. Also, x265_cleanup lets us drop both patches. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7044 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: use jansson for hb_dictjstebbins2015-03-091-4/+14
| | | | | | | | 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-3/+4
| | | | | | | | | | | | | | | 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
* libhb: don't pass "auto" profile to libx265.Rodeo2015-02-161-1/+3
| | | | | | | This isn't a valid H.265 profile and will cause encoder initialization to fail. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6913 b64f7644-9d1e-0410-96f1-a4d463321fa5
* H.265: don't allow requesting Main 10 profile.Rodeo2015-02-151-0/+1
| | | | | | | | | This is pointless since we only do 8-bit encoding for now. Also add a few extra tables for future use. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6904 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-17/+15
| | | | | | | | | | 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
* x265: enable 2-pass ABR encodingjstebbins2014-08-261-18/+42
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6366 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump x265 to version 1.0Rodeo2014-05-131-35/+91
| | | | | | | Miscellaneous bugfixes and performance improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6185 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx265: fix chapter insertion.Rodeo2014-05-101-0/+1
| | | | | | | | | Checking whether we should attach a chapter to the output buffer is not enough, we actually have to attach it too. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6176 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix previous commit again. This is not my day.Rodeo2014-04-061-91/+35
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6155 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: fix previous commit (outdated version of the same patch, sorry9.Rodeo2014-04-061-35/+91
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6154 b64f7644-9d1e-0410-96f1-a4d463321fa5
* x265: enable MP4 and Matroska muxing.Rodeo2014-03-131-34/+0
| | | | | | | Also remove the raw muxer. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6105 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump x265 to r6321 8a84c10e5116.Rodeo2014-02-281-81/+213
| | | | | | | | | | | - rational framerates - libx265 now provides decode time stamps (DTS) - encx265: minor refactoring + prepare for muxing to MP4/Matroska git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6088 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-7/+7
| | | | | | | | 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