summaryrefslogtreecommitdiffstats
path: root/libhb/common.c
Commit message (Collapse)AuthorAgeFilesLines
* libhb: Expand default frame rates to include 72, 75, 90, 100, 120.Bradley Sepos2016-05-031-0/+5
|
* libhb: fix incorrect assumption that video quality is always positive.Tim Walker2016-03-311-1/+1
|
* libhb: fix quality limits for high bit depth video encoders.Tim Walker2016-03-311-2/+25
| | | | | The lowest possible QP (and RF) depend on the bit depth and can be lower than zero.
* libhb: remove superfluous ifdefs.Tim Walker2016-03-311-4/+0
| | | | The defines always exist, so they're not actually protecting anything.
* x265: use more permissive x265_api_query instead of x265_api_getJohn Stebbins2016-03-301-1/+1
| | | | | This allows use of versions of the library that are compatible, but do not necessarily have the same build number.
* decomb: split comb detection out into it's own filterJohn Stebbins2016-03-111-0/+25
|
* filters: make job filter settings an hb_dict_tJohn Stebbins2016-03-091-4/+295
| | | | | | This simplifies accessing and changing filter parameters programatically. It also changes the custom filter string format to a ':' separated list of key/value pairs.
* libhb: fix he-aac fallback setupJohn Stebbins2016-02-121-2/+1
| | | | if there is no he-aac encoder, a fallback to aac was not getting set.
* libhb: fix crash in hb_filter_info_closeJohn Stebbins2016-01-241-1/+4
| | | | filter info can be null, which caused a crash
* libhb: do not add invalid audio encoders to audio listJohn Stebbins2016-01-221-18/+19
| | | | | | 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.
* libhb: Add libavfilter support and pad filterJohn Stebbins2016-01-211-2/+143
| | | | | | | | | | | | | | 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".
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: add some NULL checksJohn Stebbins2015-11-151-0/+4
|
* x265: add support for 10, 12, and 16 bit x265 libsJohn Stebbins2015-11-121-9/+44
| | | | | automatically pull in shared versions of these libs or allow statically building against any one of them.
* x264: add multilib support (a.k.a. 10-bit)John Stebbins2015-11-121-20/+47
| | | | | This adds the structure to load an libx264 10-bit shared library. The user must install this library themselves to an appropriate place.
* libhb: repair split packets in readerJohn Stebbins2015-11-101-0/+21
| | | | | | | | 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.
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-0/+20
| | | | | | | | | | | | | 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-0/+4
| | | | | It only worked properly with the x264 encoder. Now it works with all encoders.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-0/+182
| | | | | This brings together several independent implementations of a simple buffer list manager.
* qsv: HEVC encoding support.Tim Walker2015-09-201-0/+1
|
* libhb: Fix compiler issues in previous commit.Bradley Sepos2015-09-101-3/+7
| | | | gcc didn't like the way variables were being initialized.
* libhb: Clock/frame rate handling improvements.Bradley Sepos2015-09-101-0/+10
| | | | | | | | 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.
* libhb: Expand framerates to include 20 and 48.Bradley Sepos2015-09-101-0/+2
|
* libhb: fix display of audio copy maskjstebbins2015-08-121-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7400 b64f7644-9d1e-0410-96f1-a4d463321fa5
* DXVA2: cleanup decode support checks.Rodeo2015-06-231-12/+0
| | | | | | | 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
* libhb: add DXVA2-accelerated HEVC decoding.Rodeo2015-06-231-1/+2
| | | | | | | Patch by Zhang Zhiqiang. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7308 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Allow log level changes and update checks *after* hb_init()jstebbins2015-06-121-6/+0
| | | | | | | | | | | - In the CLI, this allows calling hb_init() before parsing args, which permits us to see any libhb log messages that are generated during option parsing. These messages were hidden before. - In the GUIs, this allows dynamic changes to log level. Previously an application restart was required. I have only updated the LinGui to take advantage of this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7295 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate string length limit in hb_valogjstebbins2015-06-091-19/+48
| | | | | | | | This eliminates the length limit of all libhb logging functions. The previous limit was 361 chars. Now it is only limited by available memory. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7280 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix flac fallback for passthruritsuka2015-06-031-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7263 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix issues with video optionsjstebbins2015-05-281-0/+20
| | | | | | | | | | 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: assume remix support when input layout is not set.Rodeo2015-05-191-0/+8
| | | | | | | | Allows querying an encoder's default mixdown from places where the input channel layout is unavailable (e.g. audio defaults panel). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7212 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: make libFDK the default (HE-)AAC encoder.Rodeo2015-05-171-1/+1
| | | | | | | | | | It's almost as fast as libavcodec's native encoder and offers much better audio quality at any bitrate. Under OS X, Apple's encoder is still used by default. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7203 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: return the global bitrate limits for a given mixdown when the ↵Rodeo2015-05-161-0/+14
| | | | | | samplerate is not known. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7199 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb,cli: add preset management to libhb, use it in clijstebbins2015-05-061-9/+12
| | | | | | | | This results in custom preset support in the CLI and additional command line options to fully support all preset keys. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7158 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: enable vbr encoding with fdk-aac and libav-aacjstebbins2015-05-041-0/+22
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7157 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deccc608sub: improve CC positioningjstebbins2015-04-051-3/+1
| | | | | | | | The safe zone margin was not wide enough and the font size was a little too small. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7063 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deccc608sub: fix column alignment issuesjstebbins2015-04-051-3/+4
| | | | | | | | Use a fixed width font, and insert hard spaces where necessary to allign columns correctly in multi-line CCs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7061 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add functions to lookup details of mixdown, video, audio, containerjstebbins2015-04-021-0/+56
| | | | | | | | ... from int id. And add defines to eliminate some magic numbers. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7037 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate global variable hb_gui_use_hwd_flagjstebbins2015-03-291-1/+0
| | | | | | | | | | | | This global was shared between the CLI and libhb and used as a back door to force scan and encode passes to use the same ffmpeg context for hardware decoding. Aside from the fact that this context sharing should not be necessary and needs fixing, this information belongs in the hb_handle_t that is shared between the scan and the encode. So put it there and make sure the hb_handle_t get propagated to where the flag is needed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: automatically scan title when processing json jobsjstebbins2015-03-071-2/+7
| | | | | | | | | | | | | | | 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
* New audio output options.Rodeo2015-02-151-2/+49
| | | | | | | | | Dolby Digital Plus (E-AC-3), Dolby TrueHD and FLAC can now be passed through without re-encoding. They aren't covered by Auto Passthru yet, however. In addition, encoding to E-AC-3 is now possible. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6908 b64f7644-9d1e-0410-96f1-a4d463321fa5
* H.265: don't allow requesting Main 10 profile.Rodeo2015-02-151-3/+3
| | | | | | | | | 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
* Simplify frontend useage of hb_add()jstebbins2015-01-121-0/+1
| | | | | | | | | Modify hb_add() to automatically add all necessary passes, so hb_add() only needs to be called once per job. It now automatically adds subtitle scan and 2-pass encoding passes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6738 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: simplify job initializationjstebbins2015-01-031-21/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6683 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix access to uninitialized variables in hb_set_anamorphic_size2jstebbins2015-01-031-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6682 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add "Codec" to audio list itemsjstebbins2014-12-231-0/+14
| | | | | | | and add hb_audio_can_apply_drc2 API which doesn't require audio codec_param git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6651 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: eliminate refereces to libmkvjstebbins2014-12-231-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6649 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: eliminate unnecessary references to mp4v2jstebbins2014-12-231-5/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove dead codejstebbins2014-12-231-7/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6646 b64f7644-9d1e-0410-96f1-a4d463321fa5