summaryrefslogtreecommitdiffstats
path: root/libhb/hb_json.c
Commit message (Collapse)AuthorAgeFilesLines
* qsv: zero-copy re-implementationmaximd332019-05-261-1/+10
|
* make: finish correcting host/build semanticsJohn Stebbins2019-04-171-2/+2
|
* libhb: change preset key to VideoColorMatrixCodeOverrideJohn Stebbins2019-04-081-4/+26
| | | | | | 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-3/+13
| | | | | | | | | 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.
* Add SSA subtitle importJohn Stebbins2019-01-141-17/+40
|
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* Refactor the color tag code, and pass it to the FFmpeg encoders.Damiano Galassi2018-08-281-8/+12
|
* fix race in getting sequence_id of completed jobJohn Stebbins2018-08-071-2/+3
| | | | | | | | | 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 a number of issues reported by clang.Damiano Galassi2018-01-121-4/+0
|
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* Add adaptive streaming support (#972)John Stebbins2017-11-091-4/+8
| | | | | | | "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.
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-21/+156
| | | This is useful for scripts and other frontends that need to parse CLI output.
* sync: work-around players with broken edit list supportJohn Stebbins2017-06-131-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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-6/+4
| | | | It was only used for scaling, it fails far too often and is only faster on a limited selectoin of hardware.
* json: revise range "End" for time and frame rangesJohn Stebbins2017-01-111-11/+30
| | | | | "End" was a duration. It is now the actual "End" position in 90khz ticks or frames.
* json: Decoding JSON now checks if QSV is available before setting QSV… (#509)Scott2017-01-111-0/+4
| | | json: Decoding JSON now checks if QSV is available before setting QSV… #509
* json: fix use of freed memoryJohn Stebbins2017-01-081-18/+23
| | | | | | | | audio.out.name was getting assigned a string from a json object that could be freed resulting in a double free. also make unpack_s check for const char * type to help prevent such abuses in the future.
* libhb: allow removal of tagsJohn Stebbins2017-01-031-18/+81
| | | | | | Setting an empty string tag allows removal of existing tags. Note that setting a NULL string does not remove an existing tag but instead results in the tag getting passed through from the source.
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* json: fix extraction of negative SRT offsetsJohn Stebbins2016-06-091-9/+9
|
* remove dxva hw decode (#189)John Stebbins2016-05-171-12/+7
| | | | | | | | | * 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
* json: fix typo.Tim Walker2016-04-031-1/+1
|
* json: fix sanitization of vqualityTim Walker2016-04-031-4/+8
| | | | …for encoders that check for a valid bitrate before quality.
* json: fix sanitization of vqualityJohn Stebbins2016-04-031-20/+31
| | | | ... and other assorted cleanups ;)
* hb_json: sanitize JSON where both of video bitrate and quality are valid.Tim Walker2016-03-311-0/+6
| | | | Check against vbitrate since it doesn't depend on a preprocessor define.
* libhb: fix incorrect assumption that video quality is always positive.Tim Walker2016-03-311-1/+1
|
* filters: make job filter settings an hb_dict_tJohn Stebbins2016-03-091-6/+5
| | | | | | This simplifies accessing and changing filter parameters programatically. It also changes the custom filter string format to a ':' separated list of key/value pairs.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-3/+1
| | | | | | | | | | | | | 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-5/+3
| | | | | It only worked properly with the x264 encoder. Now it works with all encoders.
* scan: fix rescan avoidance logicJohn Stebbins2015-09-291-1/+1
| | | | We need to rescan when the number of previews changes.
* json: fix parsing job Audio->CopyMaskjstebbins2015-08-101-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7397 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a couple of memory leaksjstebbins2015-06-011-0/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7254 b64f7644-9d1e-0410-96f1-a4d463321fa5
* scan: skip scan if title has already been scannedjstebbins2015-05-261-4/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7226 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix packig audio track in titlejstebbins2015-04-271-1/+1
| | | | | | ChannelLayout was getting dropped due to missing format specifier git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7129 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix "End" parsing of p-to-p frame rangejstebbins2015-04-261-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7128 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix another cut/paste error. incorrect dither parsing.jstebbins2015-04-131-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7088 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix copy_mask (again) :(jstebbins2015-04-071-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7070 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix audio autopassthru copy_mask and fallbackjstebbins2015-04-071-4/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7068 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix potential crash when source file or title number doesn't existjstebbins2015-04-071-0/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7064 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Improvements and key changes to json/hb_dict_t job definitionsjstebbins2015-04-041-129/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | MetaData -> Metadata Video {Codec} -> Video {Encoder} Filter -> Filters AudioList [Force] -> AudioList [Forced] Added audio key DitherMethod Simplified encoding range spec Was: Range {ChapterStart, ChapterEnd, PtsToStart, PtsToStop, FrameToStart, FrameToStop, StartAtPreview, SeekPoints} Now: Range {Type, Start, End, SeekPoints} Type is "chapter", "time", "frame", or "preview". Start and End units depend on Type. SeekPoints is only used for live preview. Added keys for control of hardware encode/decode OpenCL, HWDecode, QSV {Decode, AsyncDepth} Changed the data type of CopyMask. Was an int bitmask. Now it is an array of strings, each string describes a passthru option. e.g. "copy:ac3" git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7049 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: use hb_dict_t, hb_value_array_t, and hb_value_t in hb_json.cjstebbins2015-04-021-328/+363
| | | | | | | ...instead of going direct to json_t git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7040 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix crash when foreign audio search is *not* enabledjstebbins2015-03-111-1/+1
| | | | | | | | | Also, prevent crashes that occur when the json is not properly parsed. It will still fail to encode, but we will capture the parse failure in the log. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6983 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: use jansson for hb_dictjstebbins2015-03-091-0/+1
| | | | | | | | This paves the way to doing preset processing in libhb. Initially for the CLI but other frontends may benefit eventually. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6981 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: automatically scan title when processing json jobsjstebbins2015-03-071-10/+52
| | | | | | | | | | | | | | | Simplifies the WinGui. This also changes how jobs are processed. Creating the sub-jobs for multiple passes is delayed until after scanning and immediately before running the job. Working status has also changed. Sub-job passes are identified in status with an ID that allows the frontend to definitively identify what pass is in progress. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6976 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: revert last commitjstebbins2015-01-221-4/+2
| | | | | | | | made a bad assumption. internal libhb track number is not needed by the front-end git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6795 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add "Track" to audio and subtitle in titlesjstebbins2015-01-221-2/+4
| | | | | | | | This is the track that must be passed to libhb in the job to select desired audio and subtitle tracks git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6794 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: fix srt filename parsingjstebbins2015-01-171-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6762 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Simplify frontend useage of hb_add()jstebbins2015-01-121-23/+4
| | | | | | | | | Modify hb_add() to automatically add all necessary passes, so hb_add() only needs to be called once per job. It now automatically adds subtitle scan and 2-pass encoding passes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6738 b64f7644-9d1e-0410-96f1-a4d463321fa5