summaryrefslogtreecommitdiffstats
path: root/libhb/common.h
Commit message (Collapse)AuthorAgeFilesLines
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-1446/+0
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Fix -Wduplicate-decl-specifier warningsNomis1012019-08-201-2/+2
|
* libhb: eliminate file path length limitsJohn Stebbins2019-08-111-6/+6
|
* add subtitle track name read/writeJohn Stebbins2019-08-111-9/+11
| | | | | | | | | | | | | | | | Works similar to audio track names. If source has a subtitle track name, hb_subtitle_t.name is set. To set output subtitle track name, set hb_subtitle_config_t.name. Source track names are available in title returned by hb_title_to_dict and hb_title_to_json in SubtitleList[].Name In job dict it is also SubtitleList[].Name hb_preset_job_init and hb_preset_job_init_json initialize output tracks with the source track name. Also adds subtitle name support to LinGui
* a few fixes for audio track name handlingJohn Stebbins2019-08-111-2/+2
| | | | fixes a memory leak makes name const
* libhb: make source audio track name available to frontendsJohn Stebbins2019-08-111-0/+1
| | | | | | | | | | | | | It gets stored in new hb_audio_config_t.in.name field. It is available in the title dict read through hb_title_to_dict() or hb_title_to_json() in AudioList[].Name. When a job is initialized with hb_preset_job_init or hb_preset_job_init_json(), output audio tracks are initialized with the source track name. Also adds output track name initialization to LinGui.
* Fix dropped audio when embedded CC sub is selectedJohn Stebbins2019-07-151-0/+3
| | | | | | | The subtitle ID assigned to CC embedded in video collided with regular track IDs in some file types. Fixes https://github.com/HandBrake/HandBrake/issues/2103
* dvd: remove dvd specific details from hb_title_tJohn Stebbins2019-07-121-14/+0
| | | | This information isn't needed by the frontends and pollutes the API
* LinGui: add queue statisticsJohn Stebbins2019-06-251-13/+14
| | | | and tweak the layout per BradleyS suggestions
* 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
|