summaryrefslogtreecommitdiffstats
path: root/libhb/common.h
Commit message (Collapse)AuthorAgeFilesLines
* qsv: use HB_PROJECT_FEATURE_QSV instead of USE_QSVJohn Stebbins2019-04-171-2/+2
|
* encx265: Use HB_PROJECT_FEATURE_X265 instead of USE_X265John Stebbins2019-04-171-1/+2
|
* WinGui: Fix previews after hb_image_s change. Fixes #2044sr552019-04-161-0/+1
|
* libhb: change preset key to VideoColorMatrixCodeOverrideJohn Stebbins2019-04-081-0/+8
| | | | | | Reserve VideoColorMatrixCode for doing color conversion. VideoColorMatrixCodeOverride sets color flags without transforming video frame colors.
* libhb: propagate color matrix info through the pipelineJohn Stebbins2019-04-081-1/+34
| | | | | | | | | Propagates pix_fmt, range, primaries, transfer, and matrix everywhere. Everything that passes or creates video frames tags the frames with their color matrix info. All filters know the expected color matrix info of input frames.
* avfilter: simplify internal API to avfilterJohn Stebbins2019-04-081-1/+8
| | | | | | Use this interface in decavcodec. Remove cropscale.c and use avfilter for crop and scale. Improve log output of filters that are aliases for avfilter.
* libhb: Initial implementation of Chroma Smooth filter.Bradley Sepos2019-03-281-0/+1
|
* Add WebM support (#1822)Justin Bull2019-02-131-11/+15
| | | Note that since webm has no official subtitle support, only burned in subtitles can be used with this muxer at this time.
* libhb: Add a hb_global_init_no_hardware that disables all the hardware ↵sr552019-02-111-1/+1
| | | | encoder/decode init and check code. For users where drivers or other system issues prevent HandBrake from loading.
* Fix an annoying warning in Xcode.Damiano Galassi2019-01-231-2/+2
|
* ports: move hb_getline to ports.c where it belongsJohn Stebbins2019-01-141-2/+0
|
* Add hb_getline since mingw doesn't have getline functionJohn Stebbins2019-01-141-0/+2
|
* Add SSA subtitle importJohn Stebbins2019-01-141-1/+6
|
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* Add VideoToolbox hardware encoding thru FFmpeg.Damiano Galassi2018-11-151-3/+5
|
* Fix display of null nvenc encoder names in job logJohn Stebbins2018-11-141-1/+1
|
* Refactor the color tag code, and pass it to the FFmpeg encoders.Damiano Galassi2018-08-281-1/+0
|
* fix race in getting sequence_id of completed jobJohn Stebbins2018-08-071-7/+2
| | | | | | | | | The sequence_id was only available for the WORKING state and not the WORKDONE state. But frontends poll for status periodically and can miss all status updates for the WORKING state if the file is very short or an error occurs early during transcoding. When WORKING status is missed, there was no way to know the sequence_id associated with the WORKDONE status.
* libhb: Fix broken encoder masks.sr552018-07-051-2/+2
|
* Add NVEnc encoder. (Round 3) (#1437)Scott2018-06-291-3/+5
| | | | | | Adding the Nvidia NVEnc H.264 and H.265 encoders. Based on Initial work by sgothel --enable-nvenc is the new compile time configure option to enable for builds.
* Fix PGS subtitle decoding...John Stebbins2018-06-131-46/+49
| | | | | | | | | | | | | | | | | ...And add a timebase to every stream. ffmpeg's subtitle decoder internally converts the packet pts to AV_TIME_BASE units based on AVCodecContext.pkt_timebase. If pkt_timebase is not set, the PGS subtitle decoder only returns AV_NOPTS_VALUE for timestamps. So setting pkt_timebase in decpgssub.c fixes PGS subtitle decoding. Confusingly, the subtitle decoder does not convert the pts *back* to the input timebase, but instead leaves them in AV_TIME_BASE units upon returning a decoded subtitle. To get a head start on fixing any other such issues that might arrise, I have also set pkt_timebase in all other avcodec decoders.
* 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()