| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
| |
Broken in 7ef7a22251b8
|
|
|
|
|
|
|
| |
Use the decoded frame's sample_rate instead, which is the authoritative
value.
Drop a now-obsolete check validating AVCodecContext.sample_rate.
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
|
|
|
|
|
| |
Reindent after previous commit and break/split some lines as
appropriate.
|
|
|
|
|
| |
adjust_frame_pts_to_encoder_tb() is so small that this serves no useful
purpose.
|
| |
|
|
|
|
|
| |
Calling adjust_frame_pts_to_encoder_tb() with a NULL frame does not
perform a meaningful action.
|
|
|
|
| |
Not its estimated value that will not necessarily be used.
|
|
|
|
|
| |
Almost none of that function's complexity is useful for audio, it can
be replaced by a simple av_rescale_q().
|
|
|
|
|
|
| |
Makes it easier to track what timebase are the frame timestamps in and
allows to stop accessing filters in code that shouldn't deal with
filtering.
|
|
|
|
|
| |
Do it right after the frame is received from the filtergraph. This is a
more logical place for this and will simplify future commits.
|
|
|
|
|
| |
It is not needed after the spec is parsed. Also avoids ugly string
comparisons for each video frame.
|
|
|
|
| |
Allows to remove the ugly of_get_chapters() wrapper.
|
|
|
|
|
|
|
|
|
|
| |
Rather than the encoder timebase. Since the times are parsed as
microseconds, this will not reduce precision, except possibly when
chapter times are used and the chapter timebase happens to be better
aligned with the encoder timebase, which is unlikely.
This will allow parsing the keyframe times earlier (before encoder
timebase is known) in future commits.
|
|
|
|
|
|
| |
There are 8 of them and they are typically used together. Allows to pass
just this struct to forced_kf_apply(), which makes it clear that the
rest of the OutputStream is not accessed there.
|
|
|
|
|
| |
It serves no purpose, they will be closed and freed in
avcodec_free_context() called from ist_free().
|
| |
|
|
|
|
|
| |
There can be zero input streams, with input provided by lavfi complex
filtergraphs.
|
|
|
|
|
|
|
|
|
| |
Replace it with an array of streams in each InputFile. This is a more
accurate reflection of the actual relationship between InputStream and
InputFile.
Analogous to what was previously done to output streams in
7ef7a22251b852faab9404c85399ba8ac5dfbdc3.
|
|
|
|
|
| |
This is simpler. The indirection via an index exists for historical
reasons that longer apply.
|
|
|
|
|
|
| |
This code was supposed to affect copying stream dispositions, but it
does not achieve that after bd55552d69, since dispositions are set
earlier.
|
|
|
|
|
|
| |
Encoding init code will currently fall back to a 25fps default when no
framerate is known or specified, but only if there is a known source
input stream. There is no good reason for this condition, so drop it.
|
| |
|
|
|
|
|
|
|
|
| |
Frame limiting is now handled using sync queues. This code prevents the
sync queue from triggering EOF, resulting in unnecessarily many frames
being decoded, filtered, and then discarded.
Found-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
|
|
|
|
|
|
|
| |
The inner loop never goes through more than 1 iteration, and so can be
replaced by an if().
Found-by: Andreas Rheinhardt
|
|
|
|
|
|
|
|
|
|
| |
The current adjustment of input start times just adjusts the tsoffset.
And it does so, by resetting the tsoffset to nullify the new start time.
This leads to breakage of -copyts, ignoring of input_ts_offset, breaking
of -isync as well as breaking wrap correction.
Fixed by taking cognizance of these parameters, and by correcting start times
just before sync offsets are applied.
|
|
|
|
|
| |
In preparation for applying start time correction that accounts for all
factors such as copyts, input_ts_offset ..etc
|
|
|
|
|
| |
Stop demuxer threads in ifile_close() instead. Simplifies the demuxer
API.
|
|
|
|
|
| |
For now this is just closing the format context and freeing InputFile,
but will contain more in the future.
|
|
|
|
|
| |
Start threads implicitly when ifile_get_packet() is called. Simplifies
the demuxer API.
|
|
|
|
|
|
|
|
| |
Now that we have proper options for defining display matrix
overrides, this should no longer be required.
fftools does not have its own versioning, so for now the define is
just set to 1 and disables the functionality if set to zero.
|
|
|
|
|
| |
Output streams are now children of OutputFile, so it makes more sense to
free them there.
|
|
|
|
|
| |
Some of it is already duplicated in ost_free() - those parts can be just
dropped. The rest is moved to ost_free(), as it properly belongs there.
|
|
|
|
|
|
|
| |
Replace it with an array of streams in each OutputFile. This is a more
accurate reflection of the actual relationship between OutputStream and
OutputFile. This is easier to handle and will allow further
simplifications in future commits.
|
| |
|
| |
|
|
|
|
|
| |
Bitstream filtering is done as a part of muxing, so this is the more
proper place for this.
|
|
|
|
|
| |
The code in question is muxing-specific and so belongs there. This will
allow make some objects private to the muxer in future commits.
|
|
|
|
|
| |
This function is common to both transcoding and streamcopy, so it
properly belongs into the muxing code.
|
|
|
|
|
|
|
| |
init_output_stream_encode()
The code is subtitle-encoding-specific, so this is a more appropriate
place for it.
|
|
|
|
| |
The current name is confusing.
|
|
|
|
|
| |
Stop setting OutputStream.sync_opts for subtitle encoding, as it is now
unused.
|
|
|
|
| |
It is not used for anything.
|
| |
|
|
|
|
| |
Reindent after previous commit, apply some style fixes.
|
| |
|
|
|
|
|
| |
in_picture->pts cannot be AV_NOPTS_VALUE, as it is set to ost->sync_opts
a few lines above. ost->sync_opts is never AV_NOPTS_VALUE.
|