summaryrefslogtreecommitdiffstats
path: root/libhb/common.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'ffmpeg' into nvenc-encoderSven Gothel2018-01-121-1/+1
|\
| * Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
| |
* | NVENC: Fix HB_VCODEC_FFMPEG_H264 -> HB_VCODEC_FFMPEG_H264_{NVENC,VAAPI}Sven Gothel2017-12-281-8/+8
| | | | | | | | | | | | Adding the specific FFMPEG encoder suffix allows support for more encoders like VAAPI. Cleaned up overall HB_VCODED_* to 32bit signed integer space within 0x7FFFFFFF.
* | NVENC: Remaining fixes for 1st GNU/Linux GTK working draftSven Gothel2017-12-261-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix HB_VCODEC_FFMPEG_MASK covered values to lie within mask - Fix HB_VCODEC_FFMPEG_H264 usage (gtk version missed a rename) - Fix FFMPEG hwaccel build is required for Nvenc Basically working: - h264_nvenc - hevc_nvenc Possible optimization: - Even in constant quality mode, a user ceiling bit_rate might be desirable, currently only the maximum is used like in VP8/9: w x h x fps Remaining issues: 1) Muxer issue with h264_nvenc + MKV, ffprobe shows: [h264 @ 0x55ae4dedacc0] sps_id 32 out of range [h264 @ 0x55ae4dedacc0] Invalid nal size 1677734572 [h264 @ 0x55ae4dedacc0] missing picture in access unit with size 40644 Notable: This does not happen with hevc_nvenc Tested: - GNU/Linux Debian 9 - GeForce GTX 950 - BD 1080p source, cropped: Around 70fps h264 + hevc
* | Initial nvenc h264/hevc encoder patchMatthew Lazarow2017-12-261-2/+18
|/
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-2/+43
| | | This is useful for scripts and other frontends that need to parse CLI output.
* Allow audio fallback to be "None" (#623)John Stebbins2017-06-121-24/+23
| | | | | | | | | | | * Allow audio fallback to be "None" When audio fallback is "None", a failure to do passthru will result in no output audio track being added. * simplify audio autopassthru fallback logic Drop track when fallback codec is invalid instead of falling back to a default. Since all presets have a fallback set, the default fallback condition would only ever be triggered by an invalid setting.
* filter: add frame parallelizing filter wrapperJohn Stebbins2017-06-061-1/+27
| | | | | | | | | | | | This wrapper can be used to frame parallelize simple video filters. By simple, I mean there can be no temporal context that is shared from one frame to the next. Wrap unsharp and lapsharp filters. unsharp required a small rework to separate out temporary storage that is required when processing each frame. We now need to duplicate this storage for each thread. Closes #759.
* libhb: Add LapSharp sharpening filter.Bradley Sepos2017-05-301-0/+4
|
* libhb: Add Unsharp sharpening filter.Bradley Sepos2017-05-301-0/+4
| | | | Closes #525.
* subtitles: simplify and shorten subtitle descriptions (#591)John Stebbins2017-03-101-8/+10
| | | | | | | | | | | | | | | | | | * subtitles: simplify and shorten subtitle descriptions Generally, it eliminates parens to make things more readable. I.e. it turns this: English (Closed Caption)(Wide Screen)(Bitmap)(VOBSUB) Into this: English, Closed Caption [Wide Screen, VOBSUB] * Revise punctuation per BradleyS request * fix subtitle description formatting * incorporate suggestions from PR
* Fix various spelling mistakes (#613)Sebastian Ramacher2017-03-101-1/+1
| | | | | | | | | | * Fix spelling of 'source' * Fix spelling of 'specify' * Fix spelling of 'internal' * Fix spelling of 'quitting'
* qsv: added HEVC 10-bit as encoder, should help for GUI integrationmaxd2017-03-051-0/+4
|
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* libhb: fix audio bitrate when using fallback encoderJohn Stebbins2016-12-291-31/+1
| | | | | | | Fixes https://github.com/HandBrake/HandBrake/issues/462 hb_audio_add was overwriting the desired output bitrate before we discovered that we needed to use the fallback encoder.
* qsv: rename av_qsv* to hb_qsv*John Stebbins2016-12-171-1/+1
|
* libhb: Remove redundant check in common.cmidzer2016-12-141-1/+1
| | | | Closes #358.
* opus: disable quality mode, enable compression levelsJohn Stebbins2016-09-231-10/+10
| | | | | Quality based encoding is not supported by libopus. But compression levels *are* supported.
* contrib: Add opus audio encoder.John Stebbins2016-09-021-54/+152
| | | | | | | | | | Remove: hb_audio_samplerate_get_best() Add: hb_audio_samplerate_is_supported() hb_audio_samplerate_find_closest() hb_audio_samplerate_get_sr_shift()
* vpx: add encoder presetsJohn Stebbins2016-05-291-0/+5
| | | | | | | | | | | presets are veryfast - deadline=good:cpu-used=5 faster - deadline=good:cpu-used=4 fast - deadline=good:cpu-used=3 medium - deadline=good:cpu-used=2 slow - deadline=good:cpu-used=1 slower - deadline=good:cpu-used=0 veryslow - deadline=best:cpu-used=0
* enable libvpx VP9 encoderJohn Stebbins2016-05-271-0/+5
|
* encx265: simplify chapter mark handlingJohn Stebbins2016-05-251-0/+2
| | | | Use hb_chapter_enqueue/dequeue
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-0/+73
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* libhb: add hb_buffer_list_rem()John Stebbins2016-05-171-0/+34
|
* libhb: fix buffer list size calculationJohn Stebbins2016-05-171-2/+2
|
* 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