summaryrefslogtreecommitdiffstats
path: root/libhb/work.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Initial x265 integration. Patch by Zhang Zhiqiang. Thanks!Rodeo2014-02-101-0/+5
| | | | | | | | | | | Build with --enable-x265 (requires CMake). Use via HandBrakeCLI with -a none -e x265 -f raw Only raw HEVC output is supported for now (no audio or subtitles). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6023 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decavcodec: DRC support.Rodeo2014-01-251-1/+4
| | | | | | | Adds DRC support for E-AC-3 audio (as well as any future libavcodec decoders with DRC support). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5995 b64f7644-9d1e-0410-96f1-a4d463321fa5
* remove contrib mpeg2decjstebbins2014-01-131-8/+4
| | | | | | | | We no longer need mpeg2dec. libav now has all the features we need for mpeg2 decoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5966 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: don't forget to delete chapter markers after saving them in filter_loop.Rodeo2014-01-071-0/+2
| | | | | | | Some filters will propagate them, and since filter_loop also restores them, this can result in duplicate chapters or other related issues. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5955 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a Segfault (attempt 2) where the job struct is used after it's closed.sr552013-12-121-3/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5928 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a Segfault where the job struct is used after it's closed.sr552013-12-111-4/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5927 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a bunch of compiler warningsjstebbins2013-11-261-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5905 b64f7644-9d1e-0410-96f1-a4d463321fa5
* OpenCL: use the new library loading architecture for all OpenCL code.Rodeo2013-11-081-10/+18
| | | | | | | | | | | An OpenCL SDK is no longer needed to build OpenCL support. Note: as a result, the --enable-opencl configure option is removed. Also, libOpenCL is no longer needed to run the application (it is still necessary to use OpenCL features, of course). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5886 b64f7644-9d1e-0410-96f1-a4d463321fa5
* RB626: return code support addedmaxd2013-11-051-2/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5876 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Plug some leaks and clean up the buffer pool code a little.jstebbins2013-10-231-0/+6
| | | | | | | | | | | Filters were leaking buffers when a job is cancelled. decavcodec could leak when job cancelled. decavcodec leaked audio extradata in BSInfo encavcodec and encavcodecaudio leaked AVCodecContext sync leaked subtitle_sanitizer_t data git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5853 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: improve CopyFrame bug workaround a bit.Rodeo2013-10-121-8/+14
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5834 b64f7644-9d1e-0410-96f1-a4d463321fa5
* HW: fix for compile and runtime behavior and support of the features/RB601maxd2013-10-111-8/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5833 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: use encode-only path when we have CPU filters enabled and CopyFrame is ↵Rodeo2013-10-111-2/+45
| | | | | | unavailable. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5831 b64f7644-9d1e-0410-96f1-a4d463321fa5
* QSV: libhb-based preset system.Rodeo2013-09-241-0/+7
| | | | | | | | | | | | Modeled after x264's preset system. MMBRC and LookAhead RC are now enabled by default, whereas Trellis is disabled by default. Please note that Windows GUI support will come later, and that preset names are not definitive. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5806 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merging-in the OpenCL Scaling code from the OpenCL branch to trunk. sr552013-09-211-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | Patch originally by the Multicoreware Inc team, followed by improvements and fixes by Micheal Wootton from AMD Inc, OpenCL: This patch implements Bicubic Scaling in OpenCL. Note that HandBrake currently uses Lanczos so the performance difference appears to be much more significant. We may offer an option of BiCubic in software later. Bicubic scaling may appear a bit sharper than the equivalent Lanczos encode and may increase file size a bit. Quality may be better or worse depending on the scaling and content and personal preference towards sharpness. When comparing performance with a custom HandBrake build that runs Software Bicubic to OpenCL Bicubic, performance increase is about 5~7% on average on a modern GPU. Hardware Decode via DXVA: We also have optional DXVA decoding which may come in useful for slower/lower end systems that have a capable GPU. This is only available on input sources that use the libav decode path. Most GPU hardware for decoding is designed for playback, so if you are running on a high end CPU, it will bottleneck the encode process. Requires OpenCL 1.1 or later supporting GPU. Front end changes and testing framework are not included in this patch. This will be resolved later. Patch will be revised further before the UI is implemented. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5792 b64f7644-9d1e-0410-96f1-a4d463321fa5