1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
FFmpeg/fftools
Anton Khirnov d85c6aba0c fftools/ffmpeg: rework audio-decode timestamp handling
Stop using InputStream.dts for generating missing timestamps for decoded
frames, because it contains pre-decoding timestamps and there may be
arbitrary amount of delay between input packets and output frames (e.g.
dependent on the thread count when frame threading is used). It is also
in AV_TIME_BASE (i.e. microseconds), which may introduce unnecessary
rounding issues.

New code maintains a timebase that is the inverse of the LCM of all the
samplerates seen so far, and thus can accurately represent every audio
sample. This timebase is used to generate missing timestamps after
decoding.

Changes the result of the following FATE tests
* pcm_dvd-16-5.1-96000
* lavf-smjpeg
* adpcm-ima-smjpeg
In all of these the timestamps now better correspond to actual frame
durations.
2023-05-02 10:59:24 +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_dec.c fftools/ffmpeg_dec: drop useless abort_codec_experimental() 2023-04-17 12:01:40 +02:00
ffmpeg_demux.c fftools/ffmpeg: rework audio-decode timestamp handling 2023-05-02 10:59:24 +02:00
ffmpeg_enc.c fftools/ffmpeg: move OutputStream.packets_encoded to Encoder 2023-05-02 10:59:24 +02:00
ffmpeg_filter.c fftools/ffmpeg_filter: use correct timebase for filter EOF timestamp 2023-05-02 10:59:24 +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_filter: add filtergraph private data 2023-05-02 10:59:24 +02:00
ffmpeg_mux.c fftools/ffmpeg_filter: add filtergraph private data 2023-05-02 10:59:24 +02:00
ffmpeg_mux.h fftools/ffmpeg_mux: make copy_initial_nonkeyframes private to muxing code 2023-04-17 12:01:40 +02:00
ffmpeg_opt.c fftools/ffmpeg: deprecate -adrift_threshold 2023-05-02 10:59:24 +02:00
ffmpeg.c fftools/ffmpeg: rework audio-decode timestamp handling 2023-05-02 10:59:24 +02:00
ffmpeg.h fftools/ffmpeg: rework audio-decode timestamp handling 2023-05-02 10:59:24 +02:00
ffplay.c fftools/ffplay: stop using AVFrame.pkt_pos 2023-03-20 10:42:09 +01:00
ffprobe.c fftools/ffprobe: fix printing AVFrame.crop_right 2023-04-21 09:25:53 -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 opening decoders to a new file 2023-04-17 12:01:40 +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: update audio frame duration when re-chunking 2023-04-19 21:12:03 +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