| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
Reserve VideoColorMatrixCode for doing color conversion.
VideoColorMatrixCodeOverride sets color flags without transforming video
frame colors.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
"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.
|
|
|
| |
This is useful for scripts and other frontends that need to parse CLI output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
It was only used for scaling, it fails far too often and is only
faster on a limited selectoin of hardware.
|
|
|
|
|
| |
"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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
…for encoders that check for a valid bitrate before quality.
|
|
|
|
| |
... and other assorted cleanups ;)
|
|
|
|
| |
Check against vbitrate since it doesn't depend on a preprocessor define.
|
| |
|
|
|
|
|
|
| |
This simplifies accessing and changing filter parameters
programatically. It also changes the custom filter string format to a
':' separated list of key/value pairs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It only worked properly with the x264 encoder. Now it works with all
encoders.
|
|
|
|
| |
We need to rescan when the number of previews changes.
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7397 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7254 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7226 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
ChannelLayout was getting dropped due to missing format specifier
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7129 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7128 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7088 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7070 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7068 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7064 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
...instead of going direct to json_t
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7040 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6762 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
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
|