From 0b8b7db01b30248430b2dcc29c6e904df47a991e Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Mon, 16 Jan 2012 11:49:51 -0500 Subject: mpegaudio_parser: do not ignore information from the first parsed frame Update some demuxing and seeking fate tests. --- tests/ref/fate/pva-demux | 6 +++--- tests/ref/fate/wtv-demux | 12 ++++++------ tests/ref/seek/mp2_mp2 | 14 +++++--------- 3 files changed, 14 insertions(+), 18 deletions(-) (limited to 'tests/ref') diff --git a/tests/ref/fate/pva-demux b/tests/ref/fate/pva-demux index 8eb6fc9382..69b1d4015f 100644 --- a/tests/ref/fate/pva-demux +++ b/tests/ref/fate/pva-demux @@ -1,8 +1,8 @@ #tb 0: 1/90000 0, 0, 0, 2160, 384, 0x071abcc8 -0, 0, 0, 2160, 384, 0x31c9aee0 -0, 2160, 2160, 2160, 384, 0xa50eaa94 -0, 4320, 4320, 2160, 384, 0x9e86ba0e +0, 2160, 2160, 2160, 384, 0x31c9aee0 +0, 4320, 4320, 2160, 384, 0xa50eaa94 +0, 6480, 6480, 2160, 384, 0x9e86ba0e 0, 8640, 8640, 2160, 384, 0x2321b800 0, 10800, 10800, 2160, 384, 0x2347afa8 0, 12960, 12960, 2160, 384, 0x0831b8d3 diff --git a/tests/ref/fate/wtv-demux b/tests/ref/fate/wtv-demux index 6174604a35..ae44958005 100644 --- a/tests/ref/fate/wtv-demux +++ b/tests/ref/fate/wtv-demux @@ -1,11 +1,11 @@ #tb 0: 1/10000000 #tb 1: 1/10000000 -1, -2, -2, 180000, 576, 0x9b6e1638 -1, 179998, 179998, 240000, 576, 0x0ca91183 -1, 419998, 419998, 240000, 576, 0xec6a180f -1, 659998, 659998, 240000, 576, 0x478a2b9b -1, 899998, 899998, 240000, 576, 0x00fa15b3 -1, 1139998, 1139998, 240000, 576, 0xfb551816 +1, -2, -2, 240000, 576, 0x9b6e1638 +1, 239998, 239998, 240000, 576, 0x0ca91183 +1, 479998, 479998, 240000, 576, 0xec6a180f +1, 719998, 719998, 240000, 576, 0x478a2b9b +1, 959998, 959998, 240000, 576, 0x00fa15b3 +1, 1199998, 1199998, 240000, 576, 0xfb551816 1, 1439998, 1439998, 240000, 576, 0x422e12bd 1, 1679998, 1679998, 240000, 576, 0xa7581b29 1, 1919998, 1919998, 240000, 576, 0xd4b31a74 diff --git a/tests/ref/seek/mp2_mp2 b/tests/ref/seek/mp2_mp2 index 6166cb380b..8de36761b0 100644 --- a/tests/ref/seek/mp2_mp2 +++ b/tests/ref/seek/mp2_mp2 @@ -1,20 +1,18 @@ ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts: 0.026122 pts: 0.026122 pos: 417 size: 418 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 ret: 0 st:-1 flags:1 ts: 1.894167 ret: 0 st: 0 flags:1 dts: 1.880816 pts: 1.880816 pos: 30093 size: 418 ret: 0 st: 0 flags:0 ts: 0.788334 ret: 0 st: 0 flags:1 dts: 0.809796 pts: 0.809796 pos: 12956 size: 418 -ret: 0 st: 0 flags:1 ts:-0.317499 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 +ret:-1 st: 0 flags:1 ts:-0.317499 ret: 0 st:-1 flags:0 ts: 2.576668 ret: 0 st: 0 flags:1 dts: 2.586122 pts: 2.586122 pos: 41377 size: 418 ret: 0 st:-1 flags:1 ts: 1.470835 ret: 0 st: 0 flags:1 dts: 1.462857 pts: 1.462857 pos: 23405 size: 418 ret: 0 st: 0 flags:0 ts: 0.365002 ret: 0 st: 0 flags:1 dts: 0.365714 pts: 0.365714 pos: 5851 size: 418 -ret: 0 st: 0 flags:1 ts:-0.740831 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 +ret:-1 st: 0 flags:1 ts:-0.740831 ret: 0 st:-1 flags:0 ts: 2.153336 ret: 0 st: 0 flags:1 dts: 2.168163 pts: 2.168163 pos: 34690 size: 418 ret: 0 st:-1 flags:1 ts: 1.047503 @@ -41,13 +39,11 @@ ret: 0 st: 0 flags:1 ts: 1.989173 ret: 0 st: 0 flags:1 dts: 1.985306 pts: 1.985306 pos: 31764 size: 418 ret: 0 st:-1 flags:0 ts: 0.883340 ret: 0 st: 0 flags:1 dts: 0.888163 pts: 0.888163 pos: 14210 size: 418 -ret: 0 st:-1 flags:1 ts:-0.222493 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 +ret:-1 st:-1 flags:1 ts:-0.222493 ret: 0 st: 0 flags:0 ts: 2.671674 ret: 0 st: 0 flags:1 dts: 2.690612 pts: 2.690612 pos: 43049 size: 418 ret: 0 st: 0 flags:1 ts: 1.565841 ret: 0 st: 0 flags:1 dts: 1.541224 pts: 1.541224 pos: 24659 size: 418 ret: 0 st:-1 flags:0 ts: 0.460008 ret: 0 st: 0 flags:1 dts: 0.470204 pts: 0.470204 pos: 7523 size: 418 -ret: 0 st:-1 flags:1 ts:-0.645825 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 0 size: 417 +ret:-1 st:-1 flags:1 ts:-0.645825 -- cgit v1.2.3 From d0ab58507480dde81c7127f1eea29e10f91eb4b6 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Fri, 13 Jan 2012 14:04:11 -0500 Subject: vqf: set packet duration Fixes timestamp calculation. The FATE reference is updated because timestamp calculations are now more accurate. Previous timestamps were based on average bit rate. --- libavformat/vqf.c | 3 ++- tests/ref/fate/vqf-demux | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'tests/ref') diff --git a/libavformat/vqf.c b/libavformat/vqf.c index b9fa8be4f3..14085b9a52 100644 --- a/libavformat/vqf.c +++ b/libavformat/vqf.c @@ -201,7 +201,7 @@ static int vqf_read_header(AVFormatContext *s) return -1; } c->frame_bit_len = st->codec->bit_rate*size/st->codec->sample_rate; - avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate); + avpriv_set_pts_info(st, 64, size, st->codec->sample_rate); /* put first 12 bytes of COMM chunk in extradata */ if (!(st->codec->extradata = av_malloc(12 + FF_INPUT_BUFFER_PADDING_SIZE))) @@ -225,6 +225,7 @@ static int vqf_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->pos = avio_tell(s->pb); pkt->stream_index = 0; + pkt->duration = 1; pkt->data[0] = 8 - c->remaining_bits; // Number of bits to skip pkt->data[1] = c->last_frame_bits; diff --git a/tests/ref/fate/vqf-demux b/tests/ref/fate/vqf-demux index 3d4cd3dd78..3acae60f5a 100644 --- a/tests/ref/fate/vqf-demux +++ b/tests/ref/fate/vqf-demux @@ -1 +1 @@ -178a10705baabc5b82bd79240f38a700 +d72fb75fb22f4bcc94a1dc7af5356ec1 -- cgit v1.2.3 From 0883109b27a9d2edf9528506e2605a5e0b8eef95 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Wed, 11 Jan 2012 21:10:35 -0500 Subject: voc/avs: Do not change the sample rate mid-stream. Also, set the time base based on the sample rate. lavf-voc seek test updated to reflect slightly different seek points. --- libavformat/vocdec.c | 16 ++++++++++++---- tests/ref/seek/lavf_voc | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 16 deletions(-) (limited to 'tests/ref') diff --git a/libavformat/vocdec.c b/libavformat/vocdec.c index e8c11afbe3..3c27062408 100644 --- a/libavformat/vocdec.c +++ b/libavformat/vocdec.c @@ -86,9 +86,13 @@ ff_voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) switch (type) { case VOC_TYPE_VOICE_DATA: - dec->sample_rate = 1000000 / (256 - avio_r8(pb)); - if (sample_rate) - dec->sample_rate = sample_rate; + if (!dec->sample_rate) { + dec->sample_rate = 1000000 / (256 - avio_r8(pb)); + if (sample_rate) + dec->sample_rate = sample_rate; + avpriv_set_pts_info(st, 64, 1, dec->sample_rate); + } else + avio_skip(pb, 1); dec->channels = channels; tmp_codec = avio_r8(pb); dec->bits_per_coded_sample = av_get_bits_per_sample(dec->codec_id); @@ -110,7 +114,11 @@ ff_voc_get_packet(AVFormatContext *s, AVPacket *pkt, AVStream *st, int max_size) break; case VOC_TYPE_NEW_VOICE_DATA: - dec->sample_rate = avio_rl32(pb); + if (!dec->sample_rate) { + dec->sample_rate = avio_rl32(pb); + avpriv_set_pts_info(st, 64, 1, dec->sample_rate); + } else + avio_skip(pb, 4); dec->bits_per_coded_sample = avio_r8(pb); dec->channels = avio_r8(pb); tmp_codec = avio_rl16(pb); diff --git a/tests/ref/seek/lavf_voc b/tests/ref/seek/lavf_voc index 5670d1a992..387aef6cb8 100644 --- a/tests/ref/seek/lavf_voc +++ b/tests/ref/seek/lavf_voc @@ -1,27 +1,27 @@ ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 32 size: 1024 ret:-1 st:-1 flags:0 ts:-1.000000 ret:-1 st:-1 flags:1 ts: 1.894167 -ret:-1 st: 0 flags:0 ts: 0.788333 -ret:-1 st: 0 flags:1 ts:-0.317500 +ret:-1 st: 0 flags:0 ts: 0.788335 +ret:-1 st: 0 flags:1 ts:-0.317508 ret:-1 st:-1 flags:0 ts: 2.576668 ret:-1 st:-1 flags:1 ts: 1.470835 -ret:-1 st: 0 flags:0 ts: 0.365000 -ret:-1 st: 0 flags:1 ts:-0.740833 +ret:-1 st: 0 flags:0 ts: 0.365006 +ret:-1 st: 0 flags:1 ts:-0.740837 ret:-1 st:-1 flags:0 ts: 2.153336 ret:-1 st:-1 flags:1 ts: 1.047503 -ret:-1 st: 0 flags:0 ts:-0.058333 -ret:-1 st: 0 flags:1 ts: 2.835833 +ret:-1 st: 0 flags:0 ts:-0.058323 +ret:-1 st: 0 flags:1 ts: 2.835834 ret:-1 st:-1 flags:0 ts: 1.730004 ret:-1 st:-1 flags:1 ts: 0.624171 -ret:-1 st: 0 flags:0 ts:-0.481667 -ret:-1 st: 0 flags:1 ts: 2.412500 +ret:-1 st: 0 flags:0 ts:-0.481652 +ret:-1 st: 0 flags:1 ts: 2.412505 ret:-1 st:-1 flags:0 ts: 1.306672 ret:-1 st:-1 flags:1 ts: 0.200839 -ret:-1 st: 0 flags:0 ts:-0.904989 -ret:-1 st: 0 flags:1 ts: 1.989178 +ret:-1 st: 0 flags:0 ts:-0.905003 +ret:-1 st: 0 flags:1 ts: 1.989176 ret:-1 st:-1 flags:0 ts: 0.883340 ret:-1 st:-1 flags:1 ts:-0.222493 -ret:-1 st: 0 flags:0 ts: 2.671678 -ret:-1 st: 0 flags:1 ts: 1.565844 +ret:-1 st: 0 flags:0 ts: 2.671668 +ret:-1 st: 0 flags:1 ts: 1.565847 ret:-1 st:-1 flags:0 ts: 0.460008 ret:-1 st:-1 flags:1 ts:-0.645825 -- cgit v1.2.3 From f9cf91d8224eb9081e50b6cee55423ccb0bf9e90 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Thu, 19 Jan 2012 23:01:53 -0500 Subject: tiertexseq: set audio stream start time to 0 Update FATE test to reflect delayed video due to the file having audio-only frames prior to the first frame with video. --- libavformat/tiertexseq.c | 1 + tests/ref/fate/tiertex-seq | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 21 deletions(-) (limited to 'tests/ref') diff --git a/libavformat/tiertexseq.c b/libavformat/tiertexseq.c index 194c83abc1..16af084b39 100644 --- a/libavformat/tiertexseq.c +++ b/libavformat/tiertexseq.c @@ -224,6 +224,7 @@ static int seq_read_header(AVFormatContext *s) if (!st) return AVERROR(ENOMEM); + st->start_time = 0; avpriv_set_pts_info(st, 32, 1, SEQ_SAMPLE_RATE); seq->audio_stream_index = st->index; st->codec->codec_type = AVMEDIA_TYPE_AUDIO; diff --git a/tests/ref/fate/tiertex-seq b/tests/ref/fate/tiertex-seq index 595309342e..74407e7674 100644 --- a/tests/ref/fate/tiertex-seq +++ b/tests/ref/fate/tiertex-seq @@ -1,100 +1,100 @@ #tb 0: 1/25 #tb 1: 1/22050 -0, 0, 0, 1, 98304, 0x2e5db4a4 1, 0, 0, 882, 1764, 0x00000000 1, 882, 882, 882, 1764, 0x80a253d9 +0, 2, 2, 1, 98304, 0x2e5db4a4 1, 1764, 1764, 882, 1764, 0x95a16721 1, 2646, 2646, 882, 1764, 0x0f0d4cb6 -0, 4, 4, 1, 98304, 0xb20c19d0 1, 3528, 3528, 882, 1764, 0x75026779 1, 4410, 4410, 882, 1764, 0xb4356e37 +0, 6, 6, 1, 98304, 0xb20c19d0 1, 5292, 5292, 882, 1764, 0xfafa64cb -0, 7, 7, 1, 98304, 0x6b8538c0 1, 6174, 6174, 882, 1764, 0xe8fd7970 1, 7056, 7056, 882, 1764, 0x666879b7 +0, 9, 9, 1, 98304, 0x6b8538c0 1, 7938, 7938, 882, 1764, 0xf2cd7770 1, 8820, 8820, 882, 1764, 0x54317a1c -0, 11, 11, 1, 98304, 0x172207e3 1, 9702, 9702, 882, 1764, 0x9c396930 1, 10584, 10584, 882, 1764, 0x87115ec4 +0, 13, 13, 1, 98304, 0x172207e3 1, 11466, 11466, 882, 1764, 0x0c9b69b6 -0, 14, 14, 1, 98304, 0x63fb7dc1 1, 12348, 12348, 882, 1764, 0x8c3a758a 1, 13230, 13230, 882, 1764, 0x605d776a +0, 16, 16, 1, 98304, 0x63fb7dc1 1, 14112, 14112, 882, 1764, 0x0556852d 1, 14994, 14994, 882, 1764, 0x7d4363f8 -0, 18, 18, 1, 98304, 0x37cf1601 1, 15876, 15876, 882, 1764, 0xc5cd75d0 1, 16758, 16758, 882, 1764, 0x3ff3646d +0, 20, 20, 1, 98304, 0x37cf1601 1, 17640, 17640, 882, 1764, 0x10136d25 1, 18522, 18522, 882, 1764, 0xeb1a6cd0 -0, 22, 22, 1, 98304, 0x82941990 1, 19404, 19404, 882, 1764, 0xef937ed1 1, 20286, 20286, 882, 1764, 0x2d2b6f79 +0, 24, 24, 1, 98304, 0x82941990 1, 21168, 21168, 882, 1764, 0x6f457231 -0, 25, 25, 1, 98304, 0xe0a5309e 1, 22050, 22050, 882, 1764, 0x56267c9d 1, 22932, 22932, 882, 1764, 0xd49e79c8 +0, 27, 27, 1, 98304, 0xe0a5309e 1, 23814, 23814, 882, 1764, 0xc726703d 1, 24696, 24696, 882, 1764, 0x2abf8074 -0, 29, 29, 1, 98304, 0x164cb67d 1, 25578, 25578, 882, 1764, 0xb50c556d 1, 26460, 26460, 882, 1764, 0xc1f2523c +0, 31, 31, 1, 98304, 0x164cb67d 1, 27342, 27342, 882, 1764, 0x850a6f93 -0, 32, 32, 1, 98304, 0xed2189f8 1, 28224, 28224, 882, 1764, 0x8da76c31 1, 29106, 29106, 882, 1764, 0xfcccdf13 +0, 34, 34, 1, 98304, 0xed2189f8 1, 29988, 29988, 882, 1764, 0x00000000 1, 30870, 30870, 882, 1764, 0x00000000 -0, 36, 36, 1, 98304, 0x7215e529 1, 31752, 31752, 882, 1764, 0x00000000 1, 32634, 32634, 882, 1764, 0x00000000 +0, 38, 38, 1, 98304, 0x7215e529 1, 33516, 33516, 882, 1764, 0x00000000 -0, 39, 39, 1, 98304, 0x170c783b 1, 34398, 34398, 882, 1764, 0x00000000 1, 35280, 35280, 882, 1764, 0x00000000 +0, 41, 41, 1, 98304, 0x170c783b 1, 36162, 36162, 882, 1764, 0x00000000 1, 37044, 37044, 882, 1764, 0x00000000 -0, 43, 43, 1, 98304, 0xf6bd74c7 1, 37926, 37926, 882, 1764, 0x00000000 1, 38808, 38808, 882, 1764, 0x00000000 +0, 45, 45, 1, 98304, 0xf6bd74c7 1, 39690, 39690, 882, 1764, 0x00000000 1, 40572, 40572, 882, 1764, 0x00000000 -0, 47, 47, 1, 98304, 0x1efd38c4 1, 41454, 41454, 882, 1764, 0x00000000 1, 42336, 42336, 882, 1764, 0x00000000 +0, 49, 49, 1, 98304, 0x1efd38c4 1, 43218, 43218, 882, 1764, 0x00000000 -0, 50, 50, 1, 98304, 0x29c26bba 1, 44100, 44100, 882, 1764, 0x00000000 1, 44982, 44982, 882, 1764, 0x00000000 +0, 52, 52, 1, 98304, 0x29c26bba 1, 45864, 45864, 882, 1764, 0x00000000 1, 46746, 46746, 882, 1764, 0x00000000 -0, 54, 54, 1, 98304, 0x880a6313 1, 47628, 47628, 882, 1764, 0x00000000 1, 48510, 48510, 882, 1764, 0x00000000 +0, 56, 56, 1, 98304, 0x880a6313 1, 49392, 49392, 882, 1764, 0x00000000 -0, 57, 57, 1, 98304, 0x73f5bb00 1, 50274, 50274, 882, 1764, 0x00000000 1, 51156, 51156, 882, 1764, 0x00000000 +0, 59, 59, 1, 98304, 0x73f5bb00 1, 52038, 52038, 882, 1764, 0x00000000 1, 52920, 52920, 882, 1764, 0x00000000 -0, 61, 61, 1, 98304, 0xc85b19ec 1, 53802, 53802, 882, 1764, 0x00000000 1, 54684, 54684, 882, 1764, 0x00000000 +0, 63, 63, 1, 98304, 0xc85b19ec 1, 55566, 55566, 882, 1764, 0x00000000 -0, 64, 64, 1, 98304, 0x00000000 1, 56448, 56448, 882, 1764, 0x00000000 1, 57330, 57330, 882, 1764, 0x00000000 +0, 66, 66, 1, 98304, 0x00000000 1, 58212, 58212, 882, 1764, 0x00000000 1, 59094, 59094, 882, 1764, 0x00000000 -0, 68, 68, 1, 98304, 0x00000000 1, 59976, 59976, 882, 1764, 0x00000000 1, 60858, 60858, 882, 1764, 0x00000000 +0, 70, 70, 1, 98304, 0x00000000 1, 61740, 61740, 882, 1764, 0x00000000 1, 62622, 62622, 882, 1764, 0x00000000 -0, 72, 72, 1, 98304, 0x00000000 1, 63504, 63504, 882, 1764, 0x00000000 1, 64386, 64386, 882, 1764, 0x00000000 +0, 74, 74, 1, 98304, 0x00000000 1, 65268, 65268, 882, 1764, 0x00000000 1, 66150, 66150, 882, 1764, 0x00000000 1, 67032, 67032, 882, 1764, 0x00000000 -- cgit v1.2.3