summaryrefslogtreecommitdiffstats
path: root/libhb/common.h
Commit message (Collapse)AuthorAgeFilesLines
* libhb: Restore HB_VCODEC_MASK value.Bradley Sepos2018-06-081-1/+1
| | | | Change 4456e3390ce40d9cff98efc8afd888e4d52a60d5 is unnecessary.
* Add support for VCE hardware encoding.Michael Wootton2018-06-061-4/+6
|
* Misc. typosluz.paz2018-02-201-1/+1
| | | Found via `codespell -q 3 --skip="./gtk/po`
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* libhb: fix warnings.Damiano Galassi2017-11-241-5/+5
|
* presets: fix selection of audio tracksJohn Stebbins2017-11-101-0/+3
| | | | | The new audio attributes were not checked correctly and filtered out any audio tracks that had the DEFAULT flag.
* Add adaptive streaming support (#972)John Stebbins2017-11-091-0/+5
| | | | | | | "Adaptive streaming" allows changing video parameters mid-stream at IDR boundaries. Such changes require new SPS and PPS NALs at the IDR. MP4 supports this with 'avc3' and 'hev1' sample entry types.
* libhb: read video rotation from libav.Damiano Galassi2017-11-091-0/+1
|
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-8/+30
| | | This is useful for scripts and other frontends that need to parse CLI output.
* libhb: add HLG to our list of known transfer characteristics.Damiano Galassi2017-11-061-0/+1
|
* sync: work-around players with broken edit list supportJohn Stebbins2017-06-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This adds a preset key AlignAVStart that enables this work-around. When enabled, blank frames are inserted or frames are dropped to force alignment of the initial timestamp of every audio and video stream. Aligning the start times minimizes the impact of broken edit list support in players. Closes #763. Squashed: sync: improve alignment when passthru audio is present presets: enable AlignAVStart for General and Gmail presets LinGui: Improve AlignAVStart tooltip sync: avoid inserting a black frame < nominal frame duration sync: fix start alignment when doing p-to-p encoding sync: add comments
* opencl: removit it (#777)John Stebbins2017-06-121-4/+0
| | | | It was only used for scaling, it fails far too often and is only faster on a limited selectoin of hardware.
* Allow audio fallback to be "None" (#623)John Stebbins2017-06-121-1/+2
| | | | | | | | | | | * 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-7/+14
| | | | | | | | | | | | 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/+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
|