summaryrefslogtreecommitdiffstats
path: root/libhb/common.h
Commit message (Collapse)AuthorAgeFilesLines
* libhb: Add LapSharp sharpening filter.Bradley Sepos2017-05-301-0/+1
|
* libhb: Add Unsharp sharpening filter.Bradley Sepos2017-05-301-0/+1
| | | | Closes #525.
* decsrt: fix p-to-p start time after seekingJohn Stebbins2017-04-151-0/+4
| | | | | | | Reader can skip data at the beginning of the file. We were not informing decsrt how much was skipped when pts_to_start caused the skip. Fixes https://forum.handbrake.fr/viewtopic.php?f=11&t=36258
* scan: fix very slow scanning for some filesJohn Stebbins2017-04-121-0/+1
| | | | | | | The threshold in bytes for when to give up trying to decode a frame was too big for a lot of streams. It was made large to accomodate 4K raw video. Instead of counting bytes, count frames fed to the decoder. This is more consistant regardless of video resolution and codec.
* Fix raw video timestampsJohn Stebbins2017-04-091-0/+1
| | | | | | Raw video has no timestamps. But we drop frames in sync that have no timestamps. So detect raw video and extrapolate timestamps from framerate.
* qsv: added HEVC 10-bit as encoder, should help for GUI integrationmaxd2017-03-051-2/+5
|
* decavcodec: drop initial_padding audio samplesJohn Stebbins2017-02-211-0/+3
| | | | | | These are samples that were not in the original source and were added by the encoder. To get a faithful reproduction of the source, they must be dropped.
* mux: shift timestamps by largest encoder delayJohn Stebbins2017-02-141-1/+0
| | | | | 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: pass through BT.2020 transfer flagsJohn Stebbins2016-12-221-0/+2
|
* libhb: add new color tags for Bt 2020 and SMPTE ST 2084Damiano Galassi2016-12-211-15/+21
|
* qsv: rename av_qsv* to hb_qsv*John Stebbins2016-12-171-1/+1
|
* libhb: fix build with --enable-qsvTim Walker2016-12-171-1/+1
| | | | | | | | | | Convert qsv_livav.[ch] to be built within libhb. Convert other files to use qsv_libav.h in place of libavcodec/qsv.h Don't attempt to build libav with QSV support (not available in unpatched release/11 branch). QSV-accelerated decoding is broken, so disable it for the time being.
* Add new anamorphic mode "Automatic", delete "Strict" (#367)John Stebbins2016-10-311-1/+2
| | | | | | | | | * Add new anamorphic mode "Automatic", delete "Strict" Anamorphic mode automatic is added to support Bradley's new presets that are designed to pick a PAR that maximizes storage resolution. Strict is converted to Loose + mod == 2 + UsesPictureSettings == 2 when importing presets
* contrib: Add opus audio encoder.John Stebbins2016-09-021-3/+10
| | | | | | | | | | Remove: hb_audio_samplerate_get_best() Add: hb_audio_samplerate_is_supported() hb_audio_samplerate_find_closest() hb_audio_samplerate_get_sr_shift()
* enable libvpx VP9 encoderJohn Stebbins2016-05-271-0/+1
|
* libhb: remove unused subtitle fifo_syncJohn Stebbins2016-05-171-1/+0
|
* libhb: add hb_buffer_list_rem()John Stebbins2016-05-171-0/+1
|
* remove dxva hw decode (#189)John Stebbins2016-05-171-2/+0
| | | | | | | | | * remove dxva hw decode It provides practically no speed increase even on a slow CPU and results in a speed decrease on fast CPUs. And the code is exceptionally fugly. * cli: remove USE_HWD
* libhb: fix incorrect assumption that video quality is always positive.Tim Walker2016-03-311-1/+4
|
* decomb: split comb detection out into it's own filterJohn Stebbins2016-03-111-0/+2
|
* filters: make job filter settings an hb_dict_tJohn Stebbins2016-03-091-36/+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-32/+40
| | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | 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.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* x265: add support for 10, 12, and 16 bit x265 libsJohn Stebbins2015-11-121-2/+7
| | | | | 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-6/+11
| | | | | 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/+2
| | | | | | | | 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-1/+10
| | | | | | | | | | | | | 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.
* Double HB_MAX_WIDTH/HEIGHTJohn Stebbins2015-10-261-2/+2
| | | | Per BradleyS suggestion
* Enforce min/max dimensionsJohn Stebbins2015-10-261-0/+5
| | | | | | In both hb_set_anamorphic_size and hb_get_preview, check that image dimensions are > 32x32 and < 10240x10240. This should help to prevent crashes with unusual dimensions settings.
* lame: Use libav wrapper to encode mp3lameJohn Stebbins2015-10-261-1/+0
| | | | | | | | | | 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-0/+2
| | | | | It only worked properly with the x264 encoder. Now it works with all encoders.
* scan: fix rescan avoidance logicJohn Stebbins2015-09-291-0/+1
| | | | We need to rescan when the number of previews changes.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-0/+19
| | | | | This brings together several independent implementations of a simple buffer list manager.
* qsv: HEVC encoding support.Tim Walker2015-09-201-0/+2
|
* libhb: Clock/frame rate handling improvements.Bradley Sepos2015-09-101-0/+1
| | | | | | | | 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: detect read errors and propagatejstebbins2015-06-291-5/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7332 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove HB_API_OLD_PRESET_GETTERS cruft.Rodeo2015-06-271-12/+0
| | | | | | | None of the frontends are using it anymore. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7322 b64f7644-9d1e-0410-96f1-a4d463321fa5
* DXVA2: cleanup decode support checks.Rodeo2015-06-231-6/+3
| | | | | | | 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
* Minor cleanup after last commit.Rodeo2015-06-231-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7309 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add DXVA2-accelerated HEVC decoding.Rodeo2015-06-231-0/+2
| | | | | | | Patch by Zhang Zhiqiang. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7308 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate string length limit in hb_valogjstebbins2015-06-091-0/+1
| | | | | | | | 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
* scan: skip scan if title has already been scannedjstebbins2015-05-261-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7226 b64f7644-9d1e-0410-96f1-a4d463321fa5
* sync: fix frame p-to-p extra audio after end framejstebbins2015-04-221-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7119 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deccc608sub: improve CC positioningjstebbins2015-04-051-1/+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-1/+2
| | | | | | | | 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 filter preset/tune lookup and setting validation for more filter ↵jstebbins2015-04-041-4/+0
| | | | | | | | | | | | | | types All filters except for crop_scale now have preset/tune support and basic validation. This code could also be used by the other frontends to simplify some things. For example, it can be used to query libhb for a list of available presets and tunes for each filter. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7050 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add functions to lookup details of mixdown, video, audio, containerjstebbins2015-04-021-2/+16
| | | | | | | | ... 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-4/+5
| | | | | | | | | | | | 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