summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
Commit message (Collapse)AuthorAgeFilesLines
* qsv: fix buildJohn Stebbins2016-03-111-19/+21
| | | | I missed some of the qsv filter settings bits that needed changing.
* decomb: split comb detection out into it's own filterJohn Stebbins2016-03-111-2/+27
|
* filters: make job filter settings an hb_dict_tJohn Stebbins2016-03-091-16/+20
| | | | | | 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: Add libavfilter support and pad filterJohn Stebbins2016-01-211-5/+21
| | | | | | | | | | | | | | 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".
* sync: gut and rewriteJohn Stebbins2016-01-211-7/+0
| | | | | | | | | | | sync.c was difficult to read, fragile, and prone to difficult to diagnose bugs (see https://forum.handbrake.fr/viewtopic.php?f=12&t=33147) This rewrite simplifies the code, removes signals, locking and yield that probably cause the above problem and is much more flexible. It fixes a wider variety of timestamp issues than before and is much easier to extend if other timestamp analysis is desired.
* libhb: fix hang during subtitle scanJohn Stebbins2016-01-191-2/+3
|
* work: fix failure to die upon canceled encodeJohn Stebbins2016-01-151-1/+2
|
* work: fix hang in p-to-p encodingJohn Stebbins2016-01-141-0/+9
|
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: use LL for int64 constants to make mingw happyJohn Stebbins2015-12-261-1/+1
|
* decsrt: configure as buffer sourceJohn Stebbins2015-11-151-2/+7
| | | | | set fifo_in to NULL so hb_work_loop will call repeadedly without the hack that primes it's input fifo.
* x265: add support for 10, 12, and 16 bit x265 libsJohn Stebbins2015-11-121-5/+18
| | | | | 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-8/+13
| | | | | 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-726/+739
| | | | | | | | | | | | | 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.
* lame: Use libav wrapper to encode mp3lameJohn Stebbins2015-10-261-2/+2
| | | | | | | | | | Fixes https://forum.handbrake.fr/viewtopic.php?f=12&t=33345 Some players expect each packet to start on an mp3 frame header. Our mp3lame encoder did not ensure this and resulted in failure to play audio on these players. libav already has the necessary code to parse headers and accumulate a full frame of data, so use it.
* grayscale: make it a real filterJohn Stebbins2015-10-141-3/+2
| | | | | It only worked properly with the x264 encoder. Now it works with all encoders.
* libhb: fix OpenCL initialization.Tim Walker2015-09-211-4/+7
| | | | It was borken in 293083e5
* qsv: HEVC encoding support.Tim Walker2015-09-201-0/+4
|
* libhb: disable OpenCL scaling when QSV scaling is used.Rodeo2015-07-041-0/+6
| | | | | | | This avoids issues with OpenCL buffer mapping. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7343 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: re-work OpenCL cleanup a bit.Rodeo2015-06-231-8/+13
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7313 b64f7644-9d1e-0410-96f1-a4d463321fa5
* DXVA2: cleanup decode support checks.Rodeo2015-06-231-3/+24
| | | | | | | 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: log json job stringjstebbins2015-06-091-0/+2
| | | | | | | For now, the log leve of this is 1. When we feel that the json job code has stabilized, we may want to change the log level to 2 or 3. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7281 b64f7644-9d1e-0410-96f1-a4d463321fa5
* lingui: use libhb preset management from linux guijstebbins2015-05-141-4/+13
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7179 b64f7644-9d1e-0410-96f1-a4d463321fa5
* sync: fix frame p-to-p extra audio after end framejstebbins2015-04-221-4/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7119 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Propagate an error when hb_json_to_job fails.Rodeo2015-04-051-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7059 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: log "default" filter settings when settings string is 0 lengthjstebbins2015-04-021-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7039 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate global variable hb_gui_use_hwd_flagjstebbins2015-03-291-23/+26
| | | | | | | | | | | | 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: fix crash when foreign audio search is *not* enabledjstebbins2015-03-111-0/+7
| | | | | | | | | Also, prevent crashes that occur when the json is not properly parsed. It will still fail to encode, but we will capture the parse failure in the log. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6983 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: automatically scan title when processing json jobsjstebbins2015-03-071-20/+57
| | | | | | | | | | | | | | | 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
* libhb: automatically add rendersub filter when requiredjstebbins2015-01-301-24/+24
| | | | | | | | | | | | This requires the addition of a filter->post_init function to inform filters of the final job configuration after all filters have been initialized. Rendersub needs to know cropping, but cropping isn't known till after crop_scale filter is initialized. Since crop_scale is initialized *after* rendersub is initialized, post_init is needed. Currently, rendersub is the only filter that defines post_init. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6830 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: reduce framerate fps/num for all encoders.Rodeo2015-01-091-0/+7
| | | | | | | | Some encoders do it on their own, but others don't, so do it unconditionally for consistency. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6714 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: only sanitize PAR for the MPEG-4 encoder.Rodeo2015-01-091-17/+7
| | | | | | | | | The MPEG-2 and VP8 encoders will initialize fine regardless, and the PAR will be stored at the container, not the bitstream level. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6713 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix job configuration when qsv removes all filtersjstebbins2015-01-051-0/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6688 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: eliminate unnecessary references to mp4v2jstebbins2014-12-231-2/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* eliminate job->largeFileSizejstebbins2014-12-231-3/+0
| | | | | | | It is no longer needed since we eliminated mp4v2 support git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6647 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix building with qsv enabled.jstebbins2014-12-161-4/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6603 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-68/+57
| | | | | | | | | | 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-5/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6366 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix potential crash in filtersjstebbins2014-08-201-1/+1
| | | | | | | If the job aborts right away, an uninitialized buffer is closed and crash! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6326 b64f7644-9d1e-0410-96f1-a4d463321fa5
* cli: allow user cli options to override defaults for fallback audio encoderjstebbins2014-07-161-2/+9
| | | | | | | Solves: https://forum.handbrake.fr/viewtopic.php?f=10&t=28074&sid=68d8c5bfffd7081625bcd56fb7c4dad1 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6236 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add VP8 supportjstebbins2014-04-151-0/+4
| | | | | | | Thanks to Matthew Harvey for this patch git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6165 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: enable burn-in of all supported text subtitle formatsjstebbins2014-03-301-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6141 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI: clean up encoder preset/tune/profile/level option namesRodeo2014-03-281-19/+5
| | | | | | | | | | | | | | | | | | | | | | The new generic option names are: --encoder-preset --encoder-tune --encoder-profile --encoder-level In addition, the supported values for these options can be listed via: --encoder-preset-list <encoder> --encoder-tune-list <encoder> --encoder-profile-list <encoder> --encoder-level-list <encoder> Existing encoder-specific option names are preserved so as not to break existing scripts, but only the new generic names are documented and supported. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6135 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove libfaacsr552014-03-021-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6094 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove a52decjstebbins2014-02-201-2/+0
| | | | | | | replace it with libavcodec ac3 decoder git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6049 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
* QSV: API 1.8 support and related improvementsRodeo2014-02-181-1/+1
| | | | | | | | | Optional feature detection now done via MFXVideoENCODE_Query. This should work better with future hardware and encoder implementations. Optional API 1.8 features are not tested (not supported by the software implementation, and no drivers with API 1.8 support available yet). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6041 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: make encoder options less x264-centric.Rodeo2014-02-131-22/+55
| | | | | | | | 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: write encoding library's name in the Activity Log.Rodeo2014-02-131-3/+4
| | | | | | | We lost them for some encoders in SVN revision 5586. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6029 b64f7644-9d1e-0410-96f1-a4d463321fa5