1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
FFmpeg/fftools
Anton Khirnov d56652fdc8 fftools/ffmpeg: stop using InputStream.pts for streamcopy
This field contains different values depending on whether the stream is
being decoded or not. When it is, InputStream.pts is set to the
timestamp of the last decoded frame. Otherwise, it is made equal to
InputStream.dts.

Since a given InputStream can be at the same time decoded and
streamcopied to any number of output streams, this use is incorrect, as
decoded frame timestamps can be delayed with respect to input packets by
an arbitrary amount (e.g. depending on the thread count when frame
threading is used).

Replace all uses of InputStream.pts for streamcopy with InputStream.dts,
which is its value when decoding is not performed. Stop setting
InputStream.pts for pure streamcopy.
Also, pass InputStream.dts as a parameter to do_streamcopy(), which
will allow that function to be decoupled from InputStream completely in
the future.
2023-04-13 15:32:56 +02:00
..
cmdutils.c fftools: use av_dict_iterate 2022-12-01 11:21:14 +01:00
cmdutils.h fftools/cmdutils: Add function to report error before exit 2022-09-01 14:21:56 +02:00
ffmpeg_demux.c fftools/ffmpeg_demux: set the timebase on demuxed packets 2023-04-13 15:11:56 +02:00
ffmpeg_enc.c fftools/ffmpeg: inline check_output_constraints() into its only caller 2023-04-13 15:11:56 +02:00
ffmpeg_filter.c fftools/ffmpeg_filter: stop setting encoder channel layout unnecessarily 2023-04-13 15:11:56 +02:00
ffmpeg_hw.c fftools/ffmpeg: supply hw_device_ctx to filters before initializing them 2023-03-24 10:23:52 +01:00
ffmpeg_mux_init.c fftools/ffmpeg: track a list of non-lavfi outputs in InputStream 2023-04-13 15:11:56 +02:00
ffmpeg_mux.c fftools/ffmpeg_mux: make data_size_mux private to ffmpeg_mux 2023-04-13 15:11:56 +02:00
ffmpeg_mux.h fftools/ffmpeg_mux: make data_size_mux private to ffmpeg_mux 2023-04-13 15:11:56 +02:00
ffmpeg_opt.c fftools/ffmpeg: disable and deprecate -qphist 2023-04-13 15:11:56 +02:00
ffmpeg.c fftools/ffmpeg: stop using InputStream.pts for streamcopy 2023-04-13 15:32:56 +02:00
ffmpeg.h fftools/ffmpeg: only set InputStream.next_pts for decoding 2023-04-13 15:11:56 +02:00
ffplay.c fftools/ffplay: stop using AVFrame.pkt_pos 2023-03-20 10:42:09 +01:00
ffprobe.c fftools/ffprobe: print crop_* frame fields 2023-03-26 16:39:59 -03:00
fftools.manifest fftools: add DPI awareness manifest 2022-08-13 14:42:52 +02:00
fftoolsres.rc fftools: add DPI awareness manifest 2022-08-13 14:42:52 +02:00
fopen_utf8.h fftools/fopen_utf8: support long paths on Windows for fftools 2022-06-19 01:38:23 +03:00
Makefile fftools/ffmpeg: move initializing encoders to a new file 2023-04-09 15:47:45 +02:00
objpool.c fftools/objpool: Don't use return with expression when returning void 2022-07-23 18:58:35 +02:00
objpool.h fftools: add an object pool 2022-07-23 11:53:19 +02:00
opt_common.c fftools/opt_common: check the return value of av_hwdevice_get_type_name before printing it 2022-09-14 09:54:19 -03:00
opt_common.h fftools/cmdutils: split common option handlers into their own file 2022-03-22 18:49:43 +01:00
sync_queue.c fftools/sync_queue: allow requesting a specific number of audio samples 2023-04-09 15:47:45 +02:00
sync_queue.h fftools/sync_queue: allow requesting a specific number of audio samples 2023-04-09 15:47:45 +02:00
thread_queue.c fftools: add a multistream thread-safe queue 2022-07-23 11:53:19 +02:00
thread_queue.h fftools: add a multistream thread-safe queue 2022-07-23 11:53:19 +02:00