Originally committed as revision 7879 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -505,7 +505,6 @@ static int asf_write_header(AVFormatContext *s) | |||||
| put_flush_packet(&s->pb); | put_flush_packet(&s->pb); | ||||
| asf->packet_nb_payloads = 0; | asf->packet_nb_payloads = 0; | ||||
| asf->prev_packet_sent_time = 0; | |||||
| asf->packet_timestamp_start = -1; | asf->packet_timestamp_start = -1; | ||||
| asf->packet_timestamp_end = -1; | asf->packet_timestamp_end = -1; | ||||
| init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, | init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, | ||||
| @@ -596,7 +595,6 @@ static void flush_packet(AVFormatContext *s) | |||||
| put_flush_packet(&s->pb); | put_flush_packet(&s->pb); | ||||
| asf->nb_packets++; | asf->nb_packets++; | ||||
| asf->packet_nb_payloads = 0; | asf->packet_nb_payloads = 0; | ||||
| asf->prev_packet_sent_time = asf->packet_timestamp_start; | |||||
| asf->packet_timestamp_start = -1; | asf->packet_timestamp_start = -1; | ||||
| asf->packet_timestamp_end = -1; | asf->packet_timestamp_end = -1; | ||||
| init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, | init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, | ||||
| @@ -667,19 +665,13 @@ static void put_frame( | |||||
| asf->packet_size_left = PACKET_SIZE - PACKET_HEADER_MIN_SIZE; | asf->packet_size_left = PACKET_SIZE - PACKET_HEADER_MIN_SIZE; | ||||
| frag_len1 = SINGLE_PAYLOAD_DATA_LENGTH; | frag_len1 = SINGLE_PAYLOAD_DATA_LENGTH; | ||||
| } | } | ||||
| if (asf->prev_packet_sent_time > timestamp) | |||||
| asf->packet_timestamp_start = asf->prev_packet_sent_time; | |||||
| else | |||||
| asf->packet_timestamp_start = timestamp; | |||||
| asf->packet_timestamp_start = timestamp; | |||||
| } | } | ||||
| else { | else { | ||||
| // multi payloads | // multi payloads | ||||
| frag_len1 = asf->packet_size_left - PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS; | frag_len1 = asf->packet_size_left - PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS; | ||||
| if (asf->prev_packet_sent_time > timestamp) | |||||
| asf->packet_timestamp_start = asf->prev_packet_sent_time; | |||||
| else if (asf->packet_timestamp_start >= timestamp) | |||||
| asf->packet_timestamp_start = timestamp; | |||||
| asf->packet_timestamp_start = timestamp; | |||||
| } | } | ||||
| if (frag_len1 > 0) { | if (frag_len1 > 0) { | ||||
| if (payload_len > frag_len1) | if (payload_len > frag_len1) | ||||
| @@ -730,7 +722,7 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| asf->duration= FFMAX(asf->duration, duration); | asf->duration= FFMAX(asf->duration, duration); | ||||
| packet_st = asf->nb_packets; | packet_st = asf->nb_packets; | ||||
| put_frame(s, stream, pkt->pts, pkt->data, pkt->size, pkt->flags); | |||||
| put_frame(s, stream, pkt->dts, pkt->data, pkt->size, pkt->flags); | |||||
| /* check index */ | /* check index */ | ||||
| if ((!asf->is_streamed) && (codec->codec_type == CODEC_TYPE_VIDEO) && (pkt->flags & PKT_FLAG_KEY)) { | if ((!asf->is_streamed) && (codec->codec_type == CODEC_TYPE_VIDEO) && (pkt->flags & PKT_FLAG_KEY)) { | ||||
| @@ -82,7 +82,6 @@ typedef struct { | |||||
| /* packet filling */ | /* packet filling */ | ||||
| unsigned char multi_payloads_present; | unsigned char multi_payloads_present; | ||||
| int packet_size_left; | int packet_size_left; | ||||
| int prev_packet_sent_time; | |||||
| int packet_timestamp_start; | int packet_timestamp_start; | ||||
| int packet_timestamp_end; | int packet_timestamp_end; | ||||
| unsigned int packet_nb_payloads; | unsigned int packet_nb_payloads; | ||||
| @@ -188,17 +188,17 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac | |||||
| 353368 ./data/a-flac.flac | 353368 ./data/a-flac.flac | ||||
| c4228df189aad9567a037727d0e763e4 *./data/out.wav | c4228df189aad9567a037727d0e763e4 *./data/out.wav | ||||
| stddev: 33.31 PSNR:65.87 bytes:1040384 | stddev: 33.31 PSNR:65.87 bytes:1040384 | ||||
| 75d124394e3e8b733f5563bd282eec85 *./data/a-wmav1.asf | |||||
| 9fe59eb60481009f6f7d13d1b031975d *./data/a-wmav1.asf | |||||
| 99596 ./data/a-wmav1.asf | 99596 ./data/a-wmav1.asf | ||||
| 2ab193df22bb473e61015e56ac11faf3 *./data/out.wav | 2ab193df22bb473e61015e56ac11faf3 *./data/out.wav | ||||
| stddev:12251.50 PSNR:14.56 bytes:1056768 | stddev:12251.50 PSNR:14.56 bytes:1056768 | ||||
| stddev:2106.00 PSNR:29.85 bytes:1048576 | stddev:2106.00 PSNR:29.85 bytes:1048576 | ||||
| 23d66614fc8bd437e3ca8c1c6c345a33 *./data/a-wmav2.asf | |||||
| ff09659af56c931350db4dec737eea7f *./data/a-wmav2.asf | |||||
| 99602 ./data/a-wmav2.asf | 99602 ./data/a-wmav2.asf | ||||
| 8d05d345bc14153f3d0da95fdf34e084 *./data/out.wav | 8d05d345bc14153f3d0da95fdf34e084 *./data/out.wav | ||||
| stddev:12255.92 PSNR:14.55 bytes:1056768 | stddev:12255.92 PSNR:14.55 bytes:1056768 | ||||
| stddev:2099.31 PSNR:29.88 bytes:1048576 | stddev:2099.31 PSNR:29.88 bytes:1048576 | ||||
| 6a55c7b433fbe4cd1ca21d149aaeb525 *./data/a-vorbis.asf | |||||
| e56c2c60b025594eac3ba670ae3cc50d *./data/a-vorbis.asf | |||||
| 35686 ./data/a-vorbis.asf | 35686 ./data/a-vorbis.asf | ||||
| 295d828df6167db030d0812ce1a8fd93 *./data/out.wav | 295d828df6167db030d0812ce1a8fd93 *./data/out.wav | ||||
| stddev:3882.46 PSNR:24.54 bytes:1056768 | stddev:3882.46 PSNR:24.54 bytes:1056768 | ||||
| @@ -2,7 +2,7 @@ ffmpeg regression test | |||||
| 8a0536ccfe36f4fff408b3327d33e1dd *./data/b-libav.avi | 8a0536ccfe36f4fff408b3327d33e1dd *./data/b-libav.avi | ||||
| 340344 ./data/b-libav.avi | 340344 ./data/b-libav.avi | ||||
| ./data/b-libav.avi CRC=0x400c29e9 | ./data/b-libav.avi CRC=0x400c29e9 | ||||
| a46c4f3fc33587cbb644363066281424 *./data/b-libav.asf | |||||
| af76964183b72ab3e18f1581e55950db *./data/b-libav.asf | |||||
| 339767 ./data/b-libav.asf | 339767 ./data/b-libav.asf | ||||
| ./data/b-libav.asf CRC=0x74113749 | ./data/b-libav.asf CRC=0x74113749 | ||||
| 1ad618e9fd318eb3483270cf9b9b3f43 *./data/b-libav.rm | 1ad618e9fd318eb3483270cf9b9b3f43 *./data/b-libav.rm | ||||
| @@ -188,17 +188,17 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac | |||||
| 353368 ./data/a-flac.flac | 353368 ./data/a-flac.flac | ||||
| c4228df189aad9567a037727d0e763e4 *./data/out.wav | c4228df189aad9567a037727d0e763e4 *./data/out.wav | ||||
| stddev: 33.31 PSNR:65.87 bytes:1040384 | stddev: 33.31 PSNR:65.87 bytes:1040384 | ||||
| 75d124394e3e8b733f5563bd282eec85 *./data/a-wmav1.asf | |||||
| 9fe59eb60481009f6f7d13d1b031975d *./data/a-wmav1.asf | |||||
| 99596 ./data/a-wmav1.asf | 99596 ./data/a-wmav1.asf | ||||
| 2ab193df22bb473e61015e56ac11faf3 *./data/out.wav | 2ab193df22bb473e61015e56ac11faf3 *./data/out.wav | ||||
| stddev:12251.50 PSNR:14.56 bytes:1056768 | stddev:12251.50 PSNR:14.56 bytes:1056768 | ||||
| stddev:2106.00 PSNR:29.85 bytes:1048576 | stddev:2106.00 PSNR:29.85 bytes:1048576 | ||||
| 23d66614fc8bd437e3ca8c1c6c345a33 *./data/a-wmav2.asf | |||||
| ff09659af56c931350db4dec737eea7f *./data/a-wmav2.asf | |||||
| 99602 ./data/a-wmav2.asf | 99602 ./data/a-wmav2.asf | ||||
| 8d05d345bc14153f3d0da95fdf34e084 *./data/out.wav | 8d05d345bc14153f3d0da95fdf34e084 *./data/out.wav | ||||
| stddev:12255.92 PSNR:14.55 bytes:1056768 | stddev:12255.92 PSNR:14.55 bytes:1056768 | ||||
| stddev:2099.31 PSNR:29.88 bytes:1048576 | stddev:2099.31 PSNR:29.88 bytes:1048576 | ||||
| 6a55c7b433fbe4cd1ca21d149aaeb525 *./data/a-vorbis.asf | |||||
| e56c2c60b025594eac3ba670ae3cc50d *./data/a-vorbis.asf | |||||
| 35686 ./data/a-vorbis.asf | 35686 ./data/a-vorbis.asf | ||||
| 295d828df6167db030d0812ce1a8fd93 *./data/out.wav | 295d828df6167db030d0812ce1a8fd93 *./data/out.wav | ||||
| stddev:3882.46 PSNR:24.54 bytes:1056768 | stddev:3882.46 PSNR:24.54 bytes:1056768 | ||||