fftools/ffmpeg_dec: disregard demuxer timestamps for NOTIMESTAMPS formats

In this case any timestamps are guessed by compute_pkt_fields() in
libavformat. Since we are decoding the stream, we have more accurate
information from the decoder and do not need any guesses.

Eliminates spurious PTS gaps in a number of FATE tests.

Also avoids dropping the majority of frames in fate-dirac*
This commit is contained in:
Anton Khirnov 2023-10-01 13:04:33 +02:00
parent cdfd15f4d8
commit 303f10d4dd
12 changed files with 177 additions and 115 deletions

View File

@ -540,8 +540,9 @@ static int send_filter_eof(InputStream *ist)
return 0;
}
static int packet_decode(InputStream *ist, const AVPacket *pkt, AVFrame *frame)
static int packet_decode(InputStream *ist, AVPacket *pkt, AVFrame *frame)
{
const InputFile *ifile = input_files[ist->file_index];
Decoder *d = ist->decoder;
AVCodecContext *dec = ist->dec_ctx;
const char *type_desc = av_get_media_type_string(dec->codec_type);
@ -556,6 +557,11 @@ static int packet_decode(InputStream *ist, const AVPacket *pkt, AVFrame *frame)
if (pkt && pkt->size == 0)
return 0;
if (pkt && ifile->format_nots) {
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
}
ret = avcodec_send_packet(dec, pkt);
if (ret < 0 && !(ret == AVERROR_EOF && !pkt)) {
// In particular, we don't expect AVERROR(EAGAIN), because we read all

View File

@ -5,3 +5,31 @@
#sar 0: 1/1
0, 0, 0, 1, 115200, 0xf73819e8
0, 1, 1, 1, 115200, 0x082e3788
0, 2, 2, 1, 115200, 0x9fe73790
0, 3, 3, 1, 115200, 0x58f63cc4
0, 4, 4, 1, 115200, 0xd91c3767
0, 5, 5, 1, 115200, 0xac39658c
0, 6, 6, 1, 115200, 0xd6d57406
0, 7, 7, 1, 115200, 0x791b707f
0, 8, 8, 1, 115200, 0x02e05e31
0, 9, 9, 1, 115200, 0x7737ca43
0, 10, 10, 1, 115200, 0xa9b5b019
0, 11, 11, 1, 115200, 0x8b2685be
0, 12, 12, 1, 115200, 0x2f547334
0, 13, 13, 1, 115200, 0x9c2ba0ad
0, 14, 14, 1, 115200, 0x17069da3
0, 15, 15, 1, 115200, 0xbc7fadd1
0, 16, 16, 1, 115200, 0xbf651cce
0, 17, 17, 1, 115200, 0x2e1abc0d
0, 18, 18, 1, 115200, 0xc6c9a945
0, 19, 19, 1, 115200, 0x5234c510
0, 20, 20, 1, 115200, 0x84b5ab26
0, 21, 21, 1, 115200, 0xf01da61e
0, 22, 22, 1, 115200, 0xfb339d74
0, 23, 23, 1, 115200, 0x0973bf98
0, 24, 24, 1, 115200, 0x7467023a
0, 25, 25, 1, 115200, 0x3c8ba9a1
0, 26, 26, 1, 115200, 0xdc699e3e
0, 27, 27, 1, 115200, 0xe57f9d2e
0, 28, 28, 1, 115200, 0x79b18bc4
0, 29, 29, 1, 115200, 0x4c4c98a0

View File

@ -5,3 +5,31 @@
#sar 0: 1/1
0, 0, 0, 1, 115200, 0x2599a172
0, 1, 1, 1, 115200, 0x08a8c08d
0, 2, 2, 1, 115200, 0xf586aa9e
0, 3, 3, 1, 115200, 0x5295c51e
0, 4, 4, 1, 115200, 0x06b3d0c4
0, 5, 5, 1, 115200, 0xed28999a
0, 6, 6, 1, 115200, 0x566e7b4b
0, 7, 7, 1, 115200, 0x146f8309
0, 8, 8, 1, 115200, 0x9f57cbbc
0, 9, 9, 1, 115200, 0xc9d6c278
0, 10, 10, 1, 115200, 0xaf76c2eb
0, 11, 11, 1, 115200, 0xf83854c7
0, 12, 12, 1, 115200, 0x73a5c2c3
0, 13, 13, 1, 115200, 0x91eb991f
0, 14, 14, 1, 115200, 0x886a8c3b
0, 15, 15, 1, 115200, 0x469ca5a8
0, 16, 16, 1, 115200, 0x4666791d
0, 17, 17, 1, 115200, 0xe010cab0
0, 18, 18, 1, 115200, 0x1130ab51
0, 19, 19, 1, 115200, 0x9fb4cca2
0, 20, 20, 1, 115200, 0xd6e0b861
0, 21, 21, 1, 115200, 0xd7289bea
0, 22, 22, 1, 115200, 0x71bb6079
0, 23, 23, 1, 115200, 0xf43ba8b6
0, 24, 24, 1, 115200, 0xfb02a209
0, 25, 25, 1, 115200, 0x45f2e2ce
0, 26, 26, 1, 115200, 0x9b28a90a
0, 27, 27, 1, 115200, 0x037ca263
0, 28, 28, 1, 115200, 0x1985baba
0, 29, 29, 1, 115200, 0x05a5a7f7

View File

@ -3,10 +3,10 @@
#codec_id 0: rawvideo
#dimensions 0: 720x480
#sar 0: 8/9
0, 1, 1, 1, 518400, 0xc1866f5f
0, 2, 2, 2, 518400, 0x9ba32764
0, 4, 4, 1, 518400, 0xa9031bb8
0, 5, 5, 1, 518400, 0x5e2c3502
0, 6, 6, 1, 518400, 0xe860027a
0, 7, 7, 2, 518400, 0xa9152430
0, 9, 9, 1, 518400, 0xb98dd9f7
0, 0, 0, 1, 518400, 0xc1866f5f
0, 1, 1, 2, 518400, 0x9ba32764
0, 3, 3, 1, 518400, 0xa9031bb8
0, 4, 4, 1, 518400, 0x5e2c3502
0, 5, 5, 1, 518400, 0xe860027a
0, 6, 6, 2, 518400, 0xa9152430
0, 8, 8, 1, 518400, 0xb98dd9f7

View File

@ -4,15 +4,15 @@
#dimensions 0: 1920x1080
#sar 0: 1/1
0, 0, 0, 1, 3110400, 0xc95e8861
0, 2, 2, 1, 3110400, 0xf58b5cbf
0, 3, 3, 1, 3110400, 0x2f866f33
0, 4, 4, 1, 3110400, 0x05c18415
0, 5, 5, 1, 3110400, 0x4077ca93
0, 6, 6, 1, 3110400, 0x44d105fc
0, 7, 7, 1, 3110400, 0xa0608374
0, 8, 8, 1, 3110400, 0x407689dc
0, 9, 9, 1, 3110400, 0x4707d00a
0, 10, 10, 1, 3110400, 0x74986831
0, 11, 11, 1, 3110400, 0xa5912619
0, 12, 12, 1, 3110400, 0x44aa5565
0, 13, 13, 1, 3110400, 0xb9752774
0, 1, 1, 1, 3110400, 0xf58b5cbf
0, 2, 2, 1, 3110400, 0x2f866f33
0, 3, 3, 1, 3110400, 0x05c18415
0, 4, 4, 1, 3110400, 0x4077ca93
0, 5, 5, 1, 3110400, 0x44d105fc
0, 6, 6, 1, 3110400, 0xa0608374
0, 7, 7, 1, 3110400, 0x407689dc
0, 8, 8, 1, 3110400, 0x4707d00a
0, 9, 9, 1, 3110400, 0x74986831
0, 10, 10, 1, 3110400, 0xa5912619
0, 11, 11, 1, 3110400, 0x44aa5565
0, 12, 12, 1, 3110400, 0xb9752774

View File

@ -6,15 +6,15 @@
0, 0, 0, 1, 38016, 0xa6f15db5
0, 1, 1, 1, 38016, 0xa6f15db5
0, 2, 2, 1, 38016, 0xa6f15db5
0, 4, 4, 1, 38016, 0x5c4ef0e7
0, 5, 5, 1, 38016, 0x53a42d1d
0, 6, 6, 1, 38016, 0x68f7d89e
0, 3, 3, 1, 38016, 0x5c4ef0e7
0, 4, 4, 1, 38016, 0x53a42d1d
0, 5, 5, 1, 38016, 0x68f7d89e
0, 6, 6, 1, 38016, 0xc15f4368
0, 7, 7, 1, 38016, 0xc15f4368
0, 8, 8, 1, 38016, 0xc15f4368
0, 8, 8, 1, 38016, 0xd1bd47a8
0, 9, 9, 1, 38016, 0xd1bd47a8
0, 10, 10, 1, 38016, 0xd1bd47a8
0, 10, 10, 1, 38016, 0xe1e821ca
0, 11, 11, 1, 38016, 0xe1e821ca
0, 12, 12, 1, 38016, 0xe1e821ca
0, 13, 13, 1, 38016, 0xe1e821ca
0, 14, 14, 1, 38016, 0xe1e821ca
0, 15, 15, 1, 38016, 0xe1e821ca

View File

@ -6,13 +6,14 @@
0, 0, 0, 1, 115200, 0xb8830eef
0, 1, 1, 1, 115200, 0xb8830eef
0, 2, 2, 1, 115200, 0xb8830eef
0, 4, 4, 1, 115200, 0x952ff5e1
0, 5, 5, 1, 115200, 0xa4362b14
0, 6, 6, 1, 115200, 0x32bacbe7
0, 3, 3, 1, 115200, 0x952ff5e1
0, 4, 4, 1, 115200, 0xa4362b14
0, 5, 5, 1, 115200, 0x32bacbe7
0, 6, 6, 1, 115200, 0x509eb814
0, 7, 7, 1, 115200, 0x509eb814
0, 8, 8, 1, 115200, 0x509eb814
0, 8, 8, 1, 115200, 0x11a76c3e
0, 9, 9, 1, 115200, 0x11a76c3e
0, 10, 10, 1, 115200, 0x11a76c3e
0, 10, 10, 1, 115200, 0x00cf734a
0, 11, 11, 1, 115200, 0x00cf734a
0, 12, 12, 1, 115200, 0x00cf734a
0, 13, 13, 1, 115200, 0x00cf734a
@ -20,16 +21,15 @@
0, 15, 15, 1, 115200, 0x00cf734a
0, 16, 16, 1, 115200, 0x00cf734a
0, 17, 17, 1, 115200, 0x00cf734a
0, 18, 18, 1, 115200, 0x00cf734a
0, 18, 18, 1, 115200, 0xfddf48e6
0, 19, 19, 1, 115200, 0xfddf48e6
0, 20, 20, 1, 115200, 0xfddf48e6
0, 21, 21, 1, 115200, 0x1eccebbf
0, 22, 22, 1, 115200, 0x3da2f77e
0, 23, 23, 1, 115200, 0x7c232572
0, 24, 24, 1, 115200, 0xedf426e5
0, 20, 20, 1, 115200, 0x1eccebbf
0, 21, 21, 1, 115200, 0x3da2f77e
0, 22, 22, 1, 115200, 0x7c232572
0, 23, 23, 1, 115200, 0xedf426e5
0, 24, 24, 1, 115200, 0x5324ab20
0, 25, 25, 1, 115200, 0x5324ab20
0, 26, 26, 1, 115200, 0x5324ab20
0, 27, 27, 1, 115200, 0xa23e66bb
0, 26, 26, 1, 115200, 0xa23e66bb
0, 27, 27, 1, 115200, 0x680a50ff
0, 28, 28, 1, 115200, 0x680a50ff
0, 29, 29, 1, 115200, 0x680a50ff
0, 30, 30, 1, 115200, 0x680a50ff

View File

@ -4,32 +4,32 @@
#dimensions 0: 720x480
#sar 0: 1/1
0, 0, 0, 1, 518400, 0xae20b4fa
0, 1, 1, 1, 518400, 0x2b4ccdf9
0, 2, 2, 1, 518400, 0x2b4ccdf9
0, 3, 3, 1, 518400, 0x2b4ccdf9
0, 4, 4, 1, 518400, 0x2b4ccdf9
0, 5, 5, 1, 518400, 0x2b4ccdf9
0, 6, 6, 1, 518400, 0x2b4ccdf9
0, 6, 6, 1, 518400, 0x70d9a891
0, 7, 7, 1, 518400, 0x70d9a891
0, 8, 8, 1, 518400, 0x70d9a891
0, 9, 9, 1, 518400, 0x70d9a891
0, 10, 10, 1, 518400, 0xa461ee86
0, 9, 9, 1, 518400, 0xa461ee86
0, 10, 10, 1, 518400, 0x722bc6e8
0, 11, 11, 1, 518400, 0x722bc6e8
0, 12, 12, 1, 518400, 0x722bc6e8
0, 13, 13, 1, 518400, 0x722bc6e8
0, 13, 13, 1, 518400, 0xf752fd2c
0, 14, 14, 1, 518400, 0xf752fd2c
0, 15, 15, 1, 518400, 0xf752fd2c
0, 16, 16, 1, 518400, 0x91abcaca
0, 15, 15, 1, 518400, 0x91abcaca
0, 16, 16, 1, 518400, 0x572727c3
0, 17, 17, 1, 518400, 0x572727c3
0, 18, 18, 1, 518400, 0x572727c3
0, 18, 18, 1, 518400, 0x24c12382
0, 19, 19, 1, 518400, 0x24c12382
0, 20, 20, 1, 518400, 0x24c12382
0, 20, 20, 1, 518400, 0x9aa39fe8
0, 21, 21, 1, 518400, 0x9aa39fe8
0, 22, 22, 1, 518400, 0x9aa39fe8
0, 23, 23, 1, 518400, 0x5cb6bd19
0, 24, 24, 1, 518400, 0x704d9300
0, 22, 22, 1, 518400, 0x5cb6bd19
0, 23, 23, 1, 518400, 0x704d9300
0, 24, 24, 1, 518400, 0x590fad49
0, 25, 25, 1, 518400, 0x590fad49
0, 26, 26, 1, 518400, 0x590fad49
0, 27, 27, 1, 518400, 0x590fad49
0, 27, 27, 1, 518400, 0x46bea10b
0, 28, 28, 1, 518400, 0x46bea10b
0, 29, 29, 1, 518400, 0x46bea10b
0, 30, 30, 1, 518400, 0x46bea10b

View File

@ -4,32 +4,32 @@
#dimensions 0: 720x480
#sar 0: 1/1
0, 0, 0, 1, 518400, 0x34fa7f55
0, 2, 2, 1, 518400, 0x60466bc1
0, 3, 3, 1, 518400, 0xe68dff1e
0, 4, 4, 1, 518400, 0x790ac06a
0, 5, 5, 1, 518400, 0xb3b26b27
0, 6, 6, 1, 518400, 0x8840096c
0, 7, 7, 1, 518400, 0xf75c3d61
0, 8, 8, 1, 518400, 0xca071781
0, 9, 9, 1, 518400, 0xa8e6edf9
0, 10, 10, 1, 518400, 0xabb61984
0, 11, 11, 1, 518400, 0x0b31dedd
0, 12, 12, 1, 518400, 0xf44378ef
0, 13, 13, 1, 518400, 0xf7268996
0, 14, 14, 1, 518400, 0x8c5b1ff4
0, 15, 15, 1, 518400, 0xda356fd2
0, 16, 16, 1, 518400, 0x0e091c57
0, 17, 17, 1, 518400, 0x17645e68
0, 18, 18, 1, 518400, 0xf47a71ef
0, 19, 19, 1, 518400, 0x6c440498
0, 20, 20, 1, 518400, 0xd705bd32
0, 21, 21, 1, 518400, 0x0800edd0
0, 22, 22, 1, 518400, 0x902be119
0, 23, 23, 1, 518400, 0x0f7d7bc4
0, 24, 24, 1, 518400, 0x9f4dc421
0, 25, 25, 1, 518400, 0x3b8c8d5a
0, 26, 26, 1, 518400, 0xbcdfb2b9
0, 27, 27, 1, 518400, 0xa02a46c3
0, 28, 28, 1, 518400, 0x8ecde915
0, 29, 29, 1, 518400, 0x20576bfd
0, 30, 30, 1, 518400, 0xac40bc36
0, 1, 1, 1, 518400, 0x60466bc1
0, 2, 2, 1, 518400, 0xe68dff1e
0, 3, 3, 1, 518400, 0x790ac06a
0, 4, 4, 1, 518400, 0xb3b26b27
0, 5, 5, 1, 518400, 0x8840096c
0, 6, 6, 1, 518400, 0xf75c3d61
0, 7, 7, 1, 518400, 0xca071781
0, 8, 8, 1, 518400, 0xa8e6edf9
0, 9, 9, 1, 518400, 0xabb61984
0, 10, 10, 1, 518400, 0x0b31dedd
0, 11, 11, 1, 518400, 0xf44378ef
0, 12, 12, 1, 518400, 0xf7268996
0, 13, 13, 1, 518400, 0x8c5b1ff4
0, 14, 14, 1, 518400, 0xda356fd2
0, 15, 15, 1, 518400, 0x0e091c57
0, 16, 16, 1, 518400, 0x17645e68
0, 17, 17, 1, 518400, 0xf47a71ef
0, 18, 18, 1, 518400, 0x6c440498
0, 19, 19, 1, 518400, 0xd705bd32
0, 20, 20, 1, 518400, 0x0800edd0
0, 21, 21, 1, 518400, 0x902be119
0, 22, 22, 1, 518400, 0x0f7d7bc4
0, 23, 23, 1, 518400, 0x9f4dc421
0, 24, 24, 1, 518400, 0x3b8c8d5a
0, 25, 25, 1, 518400, 0xbcdfb2b9
0, 26, 26, 1, 518400, 0xa02a46c3
0, 27, 27, 1, 518400, 0x8ecde915
0, 28, 28, 1, 518400, 0x20576bfd
0, 29, 29, 1, 518400, 0xac40bc36

View File

@ -4,62 +4,62 @@
#dimensions 0: 704x480
#sar 0: 1/1
0, 0, 0, 1, 506880, 0x884bc093
0, 2, 2, 1, 506880, 0x4b09548f
0, 3, 3, 1, 506880, 0x195cbee1
0, 4, 4, 1, 506880, 0xc8141e28
0, 5, 5, 1, 506880, 0xb170c49b
0, 1, 1, 1, 506880, 0x4b09548f
0, 2, 2, 1, 506880, 0x195cbee1
0, 3, 3, 1, 506880, 0xc8141e28
0, 4, 4, 1, 506880, 0xb170c49b
0, 5, 5, 1, 506880, 0x2782268a
0, 6, 6, 1, 506880, 0x2782268a
0, 7, 7, 1, 506880, 0x2782268a
0, 8, 8, 1, 506880, 0x2782268a
0, 9, 9, 1, 506880, 0x2782268a
0, 9, 9, 1, 506880, 0xe6803b32
0, 10, 10, 1, 506880, 0xe6803b32
0, 11, 11, 1, 506880, 0xe6803b32
0, 11, 11, 1, 506880, 0xa5ef9baf
0, 12, 12, 1, 506880, 0xa5ef9baf
0, 13, 13, 1, 506880, 0xa5ef9baf
0, 14, 14, 1, 506880, 0x46e8cbcb
0, 15, 15, 1, 506880, 0x28a2239b
0, 13, 13, 1, 506880, 0x46e8cbcb
0, 14, 14, 1, 506880, 0x28a2239b
0, 15, 15, 1, 506880, 0x7667af2f
0, 16, 16, 1, 506880, 0x7667af2f
0, 17, 17, 1, 506880, 0x7667af2f
0, 18, 18, 1, 506880, 0x8011bcaf
0, 17, 17, 1, 506880, 0x8011bcaf
0, 18, 18, 1, 506880, 0xd422115b
0, 19, 19, 1, 506880, 0xd422115b
0, 20, 20, 1, 506880, 0xd422115b
0, 21, 21, 1, 506880, 0xd422115b
0, 22, 22, 1, 506880, 0xbcee0b5b
0, 23, 23, 1, 506880, 0x08fe9ec8
0, 21, 21, 1, 506880, 0xbcee0b5b
0, 22, 22, 1, 506880, 0x08fe9ec8
0, 23, 23, 1, 506880, 0xc8fb8b37
0, 24, 24, 1, 506880, 0xc8fb8b37
0, 25, 25, 1, 506880, 0xc8fb8b37
0, 25, 25, 1, 506880, 0x2c698b52
0, 26, 26, 1, 506880, 0x2c698b52
0, 27, 27, 1, 506880, 0x2c698b52
0, 28, 28, 1, 506880, 0x2c698b52
0, 28, 28, 1, 506880, 0x2b4ad9bc
0, 29, 29, 1, 506880, 0x2b4ad9bc
0, 30, 30, 1, 506880, 0x2b4ad9bc
0, 31, 31, 1, 506880, 0x2b4ad9bc
0, 32, 32, 1, 506880, 0x2b4ad9bc
0, 32, 32, 1, 506880, 0x92e84ebb
0, 33, 33, 1, 506880, 0x92e84ebb
0, 34, 34, 1, 506880, 0x92e84ebb
0, 34, 34, 1, 506880, 0xdb877da3
0, 35, 35, 1, 506880, 0xdb877da3
0, 36, 36, 1, 506880, 0xdb877da3
0, 37, 37, 1, 506880, 0xdb877da3
0, 37, 37, 1, 506880, 0x44610654
0, 38, 38, 1, 506880, 0x44610654
0, 39, 39, 1, 506880, 0x44610654
0, 40, 40, 1, 506880, 0xe254ce67
0, 41, 41, 1, 506880, 0xa6085385
0, 39, 39, 1, 506880, 0xe254ce67
0, 40, 40, 1, 506880, 0xa6085385
0, 41, 41, 1, 506880, 0x2d45d744
0, 42, 42, 1, 506880, 0x2d45d744
0, 43, 43, 1, 506880, 0x2d45d744
0, 44, 44, 1, 506880, 0x6e684f51
0, 45, 45, 1, 506880, 0xe96186cf
0, 43, 43, 1, 506880, 0x6e684f51
0, 44, 44, 1, 506880, 0xe96186cf
0, 45, 45, 1, 506880, 0xb535d369
0, 46, 46, 1, 506880, 0xb535d369
0, 47, 47, 1, 506880, 0xb535d369
0, 48, 48, 1, 506880, 0xb535d369
0, 48, 48, 1, 506880, 0xeed0b7e0
0, 49, 49, 1, 506880, 0xeed0b7e0
0, 50, 50, 1, 506880, 0xeed0b7e0
0, 51, 51, 1, 506880, 0xeed0b7e0
0, 52, 52, 1, 506880, 0xeed0b7e0
0, 53, 53, 1, 506880, 0x8789b20b
0, 54, 54, 1, 506880, 0x0a0f42fb
0, 52, 52, 1, 506880, 0x8789b20b
0, 53, 53, 1, 506880, 0x0a0f42fb
0, 54, 54, 1, 506880, 0x09bbac2d
0, 55, 55, 1, 506880, 0x09bbac2d
0, 56, 56, 1, 506880, 0x09bbac2d
0, 57, 57, 1, 506880, 0x09bbac2d
0, 58, 58, 1, 506880, 0x09bbac2d
0, 59, 59, 1, 506880, 0x09bbac2d
0, 60, 60, 1, 506880, 0xda77f0df
0, 59, 59, 1, 506880, 0xda77f0df

View File

@ -26,4 +26,4 @@
0, 16, 16, 1, 622080, a7ce423456a59bdb4d5921aff1a27691
0, 17, 17, 1, 622080, 881c9561c9ab66a7659145173f8e8cda
0, 18, 18, 1, 622080, 7413961f9accd1d32e116592a6448e9b
0, 21, 21, 1, 622080, c66409494fd1714e6236596f476cece6
0, 19, 19, 1, 622080, c66409494fd1714e6236596f476cece6

View File

@ -26,4 +26,4 @@
0, 16, 16, 1, 622080, 0a1453df21e4547447ec8f27a0d4d5ec
0, 17, 17, 1, 622080, d3495686e769df299b1732326fa3f17e
0, 18, 18, 1, 622080, 602e9020397b1e82b58b1ff6b9733d21
0, 21, 21, 1, 622080, 759bd3f739a3b99309efa5c1a697e34d
0, 19, 19, 1, 622080, 759bd3f739a3b99309efa5c1a697e34d