Commit 00c0465d authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  fate: split off DPCM codec FATE tests into their own file
  fate: split off PCM codec FATE tests into their own file
  libvorbis: K&R reformatting cosmetics
  libmp3lame: K&R formatting cosmetics
  fate: Add a video test for xxan decoder
  mpegvideo_enc: K&R cosmetics (line 1000-2000).
  avconv: K&R cosmetics
  qt-faststart: Fix up indentation
  indeo4: remove two unused variables
  doxygen: cleanup style to support older doxy
  fate: add more tests for VC-1 decoder
  applehttpproto: Apply the same reload interval changes as for the demuxer
  applehttp: Use half the target duration as interval if the playlist didn't update
  applehttp: Use the last segment duration as reload interval
  lagarith: add decode support for arith rgb24 mode

Conflicts:
	avconv.c
	libavcodec/libmp3lame.c
	libavcodec/mpegvideo_enc.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 6ed3565f 209c4452
This diff is collapsed.
...@@ -235,6 +235,8 @@ div.center img { ...@@ -235,6 +235,8 @@ div.center img {
#footer { #footer {
margin: -10px 1em 0; margin: -10px 1em 0;
padding-top: 20px; padding-top: 20px;
text-align: center;
font-size: small;
} }
address.footer { address.footer {
...@@ -962,7 +964,7 @@ dl.citelist dd { ...@@ -962,7 +964,7 @@ dl.citelist dd {
} }
.tabs3 .tablist a { .tabs3 .tablist a {
padding: 0 10px; padding-left: 10px;
} }
...@@ -981,19 +983,6 @@ h1 a, h2 a, h3 a { ...@@ -981,19 +983,6 @@ h1 a, h2 a, h3 a {
color: inherit; color: inherit;
} }
#banner, #top {
background-color: #BBC9D8;
border-bottom: 1px solid #7A96B3;
border-top: 1px solid #7A96B3;
position: relative;
text-align: center;
}
#banner img, #top img {
padding-bottom: 1px;
padding-top: 5px;
}
#body { #body {
margin: 0 1em; margin: 0 1em;
} }
...@@ -1041,12 +1030,12 @@ img { ...@@ -1041,12 +1030,12 @@ img {
border: 0; border: 0;
} }
#navrow1 { .tabs {
margin-top: 12px; margin-top: 12px;
border-top: 1px solid #5C665C; border-top: 1px solid #5C665C;
} }
#navrow1, #navrow2, #navrow3, #navrow4 { .tabs, .tabs2, .tabs3, .tabs4 {
background-color: #738073; background-color: #738073;
border-bottom: 1px solid #5C665C; border-bottom: 1px solid #5C665C;
border-left: 1px solid #5C665C; border-left: 1px solid #5C665C;
...@@ -1055,24 +1044,36 @@ img { ...@@ -1055,24 +1044,36 @@ img {
text-align: center; text-align: center;
} }
#navrow1 a, #navrow2 a, #navrow3 a, #navrow4 a { .tabs a,
.tabs2 a,
.tabs3 a,
.tabs4 a {
color: white; color: white;
padding: 0.3em; padding: 0.3em;
text-decoration: none; text-decoration: none;
} }
#navrow1 ul, #navrow2 ul, #navrow3 ul, #navrow4 ul { .tabs ul,
.tabs2 ul,
.tabs3 ul,
.tabs4 ul {
padding: 0; padding: 0;
} }
#navrow1 li.current a, #navrow2 li.current a, #navrow3 li.current a, #navrow4 li.current a { .tabs li.current a,
.tabs2 li.current a,
.tabs3 li.current a,
.tabs4 li.current a {
background-color: #414141; background-color: #414141;
color: white; color: white;
text-decoration: none; text-decoration: none;
} }
#navrow1 a:hover, #navrow2 a:hover, #navrow3 a:hover, #navrow4 a:hover { .tabs a:hover,
.tabs2 a:hover,
.tabs3 a:hover,
.tabs4 a:hover {
background-color: #313131 !important; background-color: #313131 !important;
color: white; color: white;
text-decoration: none; text-decoration: none;
...@@ -1094,37 +1095,3 @@ pre { ...@@ -1094,37 +1095,3 @@ pre {
#proj_desc { #proj_desc {
font-size: 1.2em; font-size: 1.2em;
} }
#repos {
margin-left: 1em;
margin-right: 1em;
border-collapse: collapse;
border: solid 1px #6A996A;
}
#repos th {
background-color: #7BB37B;
border: solid 1px #6A996A;
}
#repos td {
padding: 0.2em;
border: solid 1px #6A996A;
}
#distro_status {
margin-left: 1em;
margin-right: 1em;
border-collapse: collapse;
border: solid 1px #6A996A;
}
#distro_status th {
background-color: #7BB37B;
border: solid 1px #6A996A;
}
#distro_status td {
padding: 0.2em;
border: solid 1px #6A996A;
}
This diff is collapsed.
...@@ -160,7 +160,7 @@ static inline int scale_tile_size(int def_size, int size_factor) ...@@ -160,7 +160,7 @@ static inline int scale_tile_size(int def_size, int size_factor)
*/ */
static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx) static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx)
{ {
int pic_size_indx, val, i, p; int pic_size_indx, i, p;
IVIPicConfig pic_conf; IVIPicConfig pic_conf;
if (get_bits(&ctx->gb, 18) != 0x3FFF8) { if (get_bits(&ctx->gb, 18) != 0x3FFF8) {
...@@ -301,7 +301,7 @@ static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx) ...@@ -301,7 +301,7 @@ static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx)
/* skip picture header extension if any */ /* skip picture header extension if any */
while (get_bits1(&ctx->gb)) { while (get_bits1(&ctx->gb)) {
av_dlog(avctx, "Pic hdr extension encountered!\n"); av_dlog(avctx, "Pic hdr extension encountered!\n");
val = get_bits(&ctx->gb, 8); skip_bits(&ctx->gb, 8);
} }
if (get_bits1(&ctx->gb)) { if (get_bits1(&ctx->gb)) {
...@@ -325,7 +325,7 @@ static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx) ...@@ -325,7 +325,7 @@ static int decode_pic_hdr(IVI4DecContext *ctx, AVCodecContext *avctx)
static int decode_band_hdr(IVI4DecContext *ctx, IVIBandDesc *band, static int decode_band_hdr(IVI4DecContext *ctx, IVIBandDesc *band,
AVCodecContext *avctx) AVCodecContext *avctx)
{ {
int plane, band_num, hdr_size, indx, transform_id, scan_indx; int plane, band_num, indx, transform_id, scan_indx;
int i; int i;
plane = get_bits(&ctx->gb, 2); plane = get_bits(&ctx->gb, 2);
...@@ -337,7 +337,10 @@ static int decode_band_hdr(IVI4DecContext *ctx, IVIBandDesc *band, ...@@ -337,7 +337,10 @@ static int decode_band_hdr(IVI4DecContext *ctx, IVIBandDesc *band,
band->is_empty = get_bits1(&ctx->gb); band->is_empty = get_bits1(&ctx->gb);
if (!band->is_empty) { if (!band->is_empty) {
hdr_size = get_bits1(&ctx->gb) ? get_bits(&ctx->gb, 16) : 4; /* skip header size
* If header size is not given, header size is 4 bytes. */
if (get_bits1(&ctx->gb))
skip_bits(&ctx->gb, 16);
band->is_halfpel = get_bits(&ctx->gb, 2); band->is_halfpel = get_bits(&ctx->gb, 2);
if (band->is_halfpel >= 2) { if (band->is_halfpel >= 2) {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include "mpegaudio.h" #include "mpegaudio.h"
#include <lame/lame.h> #include <lame/lame.h>
#define BUFFER_SIZE (7200 + 2*MPA_FRAME_SIZE + MPA_FRAME_SIZE/4) #define BUFFER_SIZE (7200 + 2 * MPA_FRAME_SIZE + MPA_FRAME_SIZE / 4)
typedef struct Mp3AudioContext { typedef struct Mp3AudioContext {
AVClass *class; AVClass *class;
lame_global_flags *gfp; lame_global_flags *gfp;
...@@ -62,17 +62,17 @@ static av_cold int MP3lame_encode_init(AVCodecContext *avctx) ...@@ -62,17 +62,17 @@ static av_cold int MP3lame_encode_init(AVCodecContext *avctx)
lame_set_in_samplerate(s->gfp, avctx->sample_rate); lame_set_in_samplerate(s->gfp, avctx->sample_rate);
lame_set_out_samplerate(s->gfp, avctx->sample_rate); lame_set_out_samplerate(s->gfp, avctx->sample_rate);
lame_set_num_channels(s->gfp, avctx->channels); lame_set_num_channels(s->gfp, avctx->channels);
if(avctx->compression_level == FF_COMPRESSION_DEFAULT) { if (avctx->compression_level == FF_COMPRESSION_DEFAULT) {
lame_set_quality(s->gfp, 5); lame_set_quality(s->gfp, 5);
} else { } else {
lame_set_quality(s->gfp, avctx->compression_level); lame_set_quality(s->gfp, avctx->compression_level);
} }
lame_set_mode(s->gfp, s->stereo ? JOINT_STEREO : MONO); lame_set_mode(s->gfp, s->stereo ? JOINT_STEREO : MONO);
lame_set_brate(s->gfp, avctx->bit_rate/1000); lame_set_brate(s->gfp, avctx->bit_rate / 1000);
if(avctx->flags & CODEC_FLAG_QSCALE) { if (avctx->flags & CODEC_FLAG_QSCALE) {
lame_set_brate(s->gfp, 0); lame_set_brate(s->gfp, 0);
lame_set_VBR(s->gfp, vbr_default); lame_set_VBR(s->gfp, vbr_default);
lame_set_VBR_quality(s->gfp, avctx->global_quality/(float)FF_QP2LAMBDA); lame_set_VBR_quality(s->gfp, avctx->global_quality / (float)FF_QP2LAMBDA);
} }
lame_set_bWriteVbrTag(s->gfp,0); lame_set_bWriteVbrTag(s->gfp,0);
#if FF_API_LAME_GLOBAL_OPTS #if FF_API_LAME_GLOBAL_OPTS
...@@ -82,14 +82,14 @@ static av_cold int MP3lame_encode_init(AVCodecContext *avctx) ...@@ -82,14 +82,14 @@ static av_cold int MP3lame_encode_init(AVCodecContext *avctx)
if (lame_init_params(s->gfp) < 0) if (lame_init_params(s->gfp) < 0)
goto err_close; goto err_close;
avctx->frame_size = lame_get_framesize(s->gfp); avctx->frame_size = lame_get_framesize(s->gfp);
if(!(avctx->coded_frame= avcodec_alloc_frame())) { if(!(avctx->coded_frame= avcodec_alloc_frame())) {
lame_close(s->gfp); lame_close(s->gfp);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
avctx->coded_frame->key_frame= 1; avctx->coded_frame->key_frame = 1;
if(AV_SAMPLE_FMT_S32 == avctx->sample_fmt && s->stereo) { if(AV_SAMPLE_FMT_S32 == avctx->sample_fmt && s->stereo) {
int nelem = 2 * avctx->frame_size; int nelem = 2 * avctx->frame_size;
...@@ -117,60 +117,62 @@ static const int sSampleRates[] = { ...@@ -117,60 +117,62 @@ static const int sSampleRates[] = {
}; };
static const int sBitRates[2][3][15] = { static const int sBitRates[2][3][15] = {
{ { 0, 32, 64, 96,128,160,192,224,256,288,320,352,384,416,448}, {
{ 0, 32, 48, 56, 64, 80, 96,112,128,160,192,224,256,320,384}, { 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 },
{ 0, 32, 40, 48, 56, 64, 80, 96,112,128,160,192,224,256,320} { 0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 },
{ 0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 }
}, },
{ { 0, 32, 48, 56, 64, 80, 96,112,128,144,160,176,192,224,256}, {
{ 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96,112,128,144,160}, { 0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256 },
{ 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96,112,128,144,160} { 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160 },
{ 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160 }
}, },
}; };
static const int sSamplesPerFrame[2][3] = static const int sSamplesPerFrame[2][3] = {
{ { 384, 1152, 1152 },
{ 384, 1152, 1152 }, { 384, 1152, 576 }
{ 384, 1152, 576 }
}; };
static const int sBitsPerSlot[3] = { static const int sBitsPerSlot[3] = { 32, 8, 8 };
32,
8,
8
};
static int mp3len(void *data, int *samplesPerFrame, int *sampleRate) static int mp3len(void *data, int *samplesPerFrame, int *sampleRate)
{ {
uint32_t header = AV_RB32(data); uint32_t header = AV_RB32(data);
int layerID = 3 - ((header >> 17) & 0x03); int layerID = 3 - ((header >> 17) & 0x03);
int bitRateID = ((header >> 12) & 0x0f); int bitRateID = ((header >> 12) & 0x0f);
int sampleRateID = ((header >> 10) & 0x03); int sampleRateID = ((header >> 10) & 0x03);
int bitsPerSlot = sBitsPerSlot[layerID]; int bitsPerSlot = sBitsPerSlot[layerID];
int isPadded = ((header >> 9) & 0x01); int isPadded = ((header >> 9) & 0x01);
static int const mode_tab[4]= {2,3,1,0}; static int const mode_tab[4] = { 2, 3, 1, 0 };
int mode= mode_tab[(header >> 19) & 0x03]; int mode = mode_tab[(header >> 19) & 0x03];
int mpeg_id= mode>0; int mpeg_id = mode > 0;
int temp0, temp1, bitRate; int temp0, temp1, bitRate;
if ( (( header >> 21 ) & 0x7ff) != 0x7ff || mode == 3 || layerID==3 || sampleRateID==3) { if (((header >> 21) & 0x7ff) != 0x7ff || mode == 3 || layerID == 3 ||
sampleRateID == 3) {
return -1; return -1;
} }
if(!samplesPerFrame) samplesPerFrame= &temp0; if (!samplesPerFrame)
if(!sampleRate ) sampleRate = &temp1; samplesPerFrame = &temp0;
if (!sampleRate)
sampleRate = &temp1;
// *isMono = ((header >> 6) & 0x03) == 0x03; //*isMono = ((header >> 6) & 0x03) == 0x03;
*sampleRate = sSampleRates[sampleRateID]>>mode; *sampleRate = sSampleRates[sampleRateID] >> mode;
bitRate = sBitRates[mpeg_id][layerID][bitRateID] * 1000; bitRate = sBitRates[mpeg_id][layerID][bitRateID] * 1000;
*samplesPerFrame = sSamplesPerFrame[mpeg_id][layerID]; *samplesPerFrame = sSamplesPerFrame[mpeg_id][layerID];
//av_log(NULL, AV_LOG_DEBUG, "sr:%d br:%d spf:%d l:%d m:%d\n", *sampleRate, bitRate, *samplesPerFrame, layerID, mode); //av_log(NULL, AV_LOG_DEBUG,
// "sr:%d br:%d spf:%d l:%d m:%d\n",
// *sampleRate, bitRate, *samplesPerFrame, layerID, mode);
return *samplesPerFrame * bitRate / (bitsPerSlot * *sampleRate) + isPadded; return *samplesPerFrame * bitRate / (bitsPerSlot * *sampleRate) + isPadded;
} }
static int MP3lame_encode_frame(AVCodecContext *avctx, static int MP3lame_encode_frame(AVCodecContext *avctx, unsigned char *frame,
unsigned char *frame, int buf_size, void *data) int buf_size, void *data)
{ {
Mp3AudioContext *s = avctx->priv_data; Mp3AudioContext *s = avctx->priv_data;
int len; int len;
...@@ -178,7 +180,7 @@ static int MP3lame_encode_frame(AVCodecContext *avctx, ...@@ -178,7 +180,7 @@ static int MP3lame_encode_frame(AVCodecContext *avctx,
/* lame 3.91 dies on '1-channel interleaved' data */ /* lame 3.91 dies on '1-channel interleaved' data */
if(!data){ if (!data){
lame_result= lame_encode_flush( lame_result= lame_encode_flush(
s->gfp, s->gfp,
s->buffer + s->buffer_index, s->buffer + s->buffer_index,
...@@ -237,32 +239,35 @@ static int MP3lame_encode_frame(AVCodecContext *avctx, ...@@ -237,32 +239,35 @@ static int MP3lame_encode_frame(AVCodecContext *avctx,
} }
} }
if(lame_result < 0){ if (lame_result < 0) {
if(lame_result==-1) { if (lame_result == -1) {
/* output buffer too small */ /* output buffer too small */
av_log(avctx, AV_LOG_ERROR, "lame: output buffer too small (buffer index: %d, free bytes: %d)\n", s->buffer_index, BUFFER_SIZE - s->buffer_index); av_log(avctx, AV_LOG_ERROR,
"lame: output buffer too small (buffer index: %d, free bytes: %d)\n",
s->buffer_index, BUFFER_SIZE - s->buffer_index);
} }
return -1; return -1;
} }
s->buffer_index += lame_result; s->buffer_index += lame_result;
if(s->buffer_index<4) if (s->buffer_index < 4)
return 0; return 0;
len= mp3len(s->buffer, NULL, NULL); len = mp3len(s->buffer, NULL, NULL);
//av_log(avctx, AV_LOG_DEBUG, "in:%d packet-len:%d index:%d\n", avctx->frame_size, len, s->buffer_index); //av_log(avctx, AV_LOG_DEBUG, "in:%d packet-len:%d index:%d\n",
if(len <= s->buffer_index){ // avctx->frame_size, len, s->buffer_index);
if (len <= s->buffer_index) {
memcpy(frame, s->buffer, len); memcpy(frame, s->buffer, len);
s->buffer_index -= len; s->buffer_index -= len;
memmove(s->buffer, s->buffer+len, s->buffer_index); memmove(s->buffer, s->buffer + len, s->buffer_index);
//FIXME fix the audio codec API, so we do not need the memcpy() // FIXME fix the audio codec API, so we do not need the memcpy()
/*for(i=0; i<len; i++){ /*for(i=0; i<len; i++) {
av_log(avctx, AV_LOG_DEBUG, "%2X ", frame[i]); av_log(avctx, AV_LOG_DEBUG, "%2X ", frame[i]);
}*/ }*/
return len; return len;
}else } else
return 0; return 0;
} }
...@@ -280,7 +285,7 @@ static av_cold int MP3lame_encode_close(AVCodecContext *avctx) ...@@ -280,7 +285,7 @@ static av_cold int MP3lame_encode_close(AVCodecContext *avctx)
#define OFFSET(x) offsetof(Mp3AudioContext, x) #define OFFSET(x) offsetof(Mp3AudioContext, x)
#define AE AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM #define AE AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
static const AVOption options[] = { static const AVOption options[] = {
{ "reservoir", "Use bit reservoir.", OFFSET(reservoir), AV_OPT_TYPE_INT, { 1 }, 0, 1, AE }, { "reservoir", "Use bit reservoir.", OFFSET(reservoir), AV_OPT_TYPE_INT, { 1 }, 0, 1, AE },
{ NULL }, { NULL },
}; };
...@@ -292,20 +297,20 @@ static const AVClass libmp3lame_class = { ...@@ -292,20 +297,20 @@ static const AVClass libmp3lame_class = {
}; };
AVCodec ff_libmp3lame_encoder = { AVCodec ff_libmp3lame_encoder = {
.name = "libmp3lame", .name = "libmp3lame",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_MP3, .id = CODEC_ID_MP3,
.priv_data_size = sizeof(Mp3AudioContext), .priv_data_size = sizeof(Mp3AudioContext),
.init = MP3lame_encode_init, .init = MP3lame_encode_init,
.encode = MP3lame_encode_frame, .encode = MP3lame_encode_frame,
.close = MP3lame_encode_close, .close = MP3lame_encode_close,
.capabilities= CODEC_CAP_DELAY, .capabilities = CODEC_CAP_DELAY,
.sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16, .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
#if 2147483647 == INT_MAX #if 2147483647 == INT_MAX
AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32,
#endif #endif
AV_SAMPLE_FMT_NONE}, AV_SAMPLE_FMT_NONE },
.supported_samplerates= sSampleRates, .supported_samplerates = sSampleRates,
.long_name= NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"), .long_name = NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"),
.priv_class = &libmp3lame_class, .priv_class = &libmp3lame_class,
}; };
This diff is collapsed.
This diff is collapsed.
...@@ -376,13 +376,23 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size) ...@@ -376,13 +376,23 @@ static int read_data(void *opaque, uint8_t *buf, int buf_size)
restart: restart:
if (!v->input) { if (!v->input) {
reload: /* If this is a live stream and the reload interval has elapsed since
/* If this is a live stream and target_duration has elapsed since
* the last playlist reload, reload the variant playlists now. */ * the last playlist reload, reload the variant playlists now. */
int64_t reload_interval = v->n_segments > 0 ?
v->segments[v->n_segments - 1]->duration :
v->target_duration;
reload_interval *= 1000000;
reload:
if (!v->finished && if (!v->finished &&
av_gettime() - v->last_load_time >= v->target_duration*1000000 && av_gettime() - v->last_load_time >= reload_interval) {
(ret = parse_playlist(c, v->url, v, NULL)) < 0) if ((ret = parse_playlist(c, v->url, v, NULL)) < 0)
return ret; return ret;
/* If we need to reload the playlist again below (if
* there's still no more segments), switch to a reload
* interval of half the target duration. */
reload_interval = v->target_duration * 500000;
}
if (v->cur_seq_no < v->start_seq_no) { if (v->cur_seq_no < v->start_seq_no) {
av_log(NULL, AV_LOG_WARNING, av_log(NULL, AV_LOG_WARNING,
"skipping %d segments ahead, expired from playlists\n", "skipping %d segments ahead, expired from playlists\n",
...@@ -392,8 +402,7 @@ reload: ...@@ -392,8 +402,7 @@ reload:
if (v->cur_seq_no >= v->start_seq_no + v->n_segments) { if (v->cur_seq_no >= v->start_seq_no + v->n_segments) {
if (v->finished) if (v->finished)
return AVERROR_EOF; return AVERROR_EOF;
while (av_gettime() - v->last_load_time < while (av_gettime() - v->last_load_time < reload_interval) {
v->target_duration*1000000) {
if (ff_check_interrupt(c->interrupt_callback)) if (ff_check_interrupt(c->interrupt_callback))
return AVERROR_EXIT; return AVERROR_EXIT;
usleep(100*1000); usleep(100*1000);
......
...@@ -244,6 +244,7 @@ static int applehttp_read(URLContext *h, uint8_t *buf, int size) ...@@ -244,6 +244,7 @@ static int applehttp_read(URLContext *h, uint8_t *buf, int size)
AppleHTTPContext *s = h->priv_data; AppleHTTPContext *s = h->priv_data;
const char *url; const char *url;
int ret; int ret;
int64_t reload_interval;
start: start:
if (s->seg_hd) { if (s->seg_hd) {
...@@ -256,12 +257,21 @@ start: ...@@ -256,12 +257,21 @@ start:
s->seg_hd = NULL; s->seg_hd = NULL;
s->cur_seq_no++; s->cur_seq_no++;
} }
reload_interval = s->n_segments > 0 ?
s->segments[s->n_segments - 1]->duration :
s->target_duration;
reload_interval *= 1000000;
retry: retry:
if (!s->finished) { if (!s->finished) {
int64_t now = av_gettime(); int64_t now = av_gettime();
if (now - s->last_load_time >= s->target_duration*1000000) if (now - s->last_load_time >= reload_interval) {
if ((ret = parse_playlist(h, s->playlisturl)) < 0) if ((ret = parse_playlist(h, s->playlisturl)) < 0)
return ret; return ret;
/* If we need to reload the playlist again below (if
* there's still no more segments), switch to a reload
* interval of half the target duration. */
reload_interval = s->target_duration * 500000;
}
} }
if (s->cur_seq_no < s->start_seq_no) { if (s->cur_seq_no < s->start_seq_no) {
av_log(h, AV_LOG_WARNING, av_log(h, AV_LOG_WARNING,
...@@ -272,7 +282,7 @@ retry: ...@@ -272,7 +282,7 @@ retry:
if (s->cur_seq_no - s->start_seq_no >= s->n_segments) { if (s->cur_seq_no - s->start_seq_no >= s->n_segments) {
if (s->finished) if (s->finished)
return AVERROR_EOF; return AVERROR_EOF;
while (av_gettime() - s->last_load_time < s->target_duration*1000000) { while (av_gettime() - s->last_load_time < reload_interval) {
if (ff_check_interrupt(&h->interrupt_callback)) if (ff_check_interrupt(&h->interrupt_callback))
return AVERROR_EXIT; return AVERROR_EXIT;
usleep(100*1000); usleep(100*1000);
......
...@@ -50,6 +50,7 @@ include $(SRC_PATH)/tests/fate/amrnb.mak ...@@ -50,6 +50,7 @@ include $(SRC_PATH)/tests/fate/amrnb.mak
include $(SRC_PATH)/tests/fate/amrwb.mak include $(SRC_PATH)/tests/fate/amrwb.mak
include $(SRC_PATH)/tests/fate/atrac.mak include $(SRC_PATH)/tests/fate/atrac.mak
include $(SRC_PATH)/tests/fate/dct.mak include $(SRC_PATH)/tests/fate/dct.mak
include $(SRC_PATH)/tests/fate/dpcm.mak
include $(SRC_PATH)/tests/fate/fft.mak include $(SRC_PATH)/tests/fate/fft.mak
include $(SRC_PATH)/tests/fate/h264.mak include $(SRC_PATH)/tests/fate/h264.mak
include $(SRC_PATH)/tests/fate/image.mak include $(SRC_PATH)/tests/fate/image.mak
...@@ -62,6 +63,7 @@ include $(SRC_PATH)/tests/fate/lossless-video.mak ...@@ -62,6 +63,7 @@ include $(SRC_PATH)/tests/fate/lossless-video.mak
include $(SRC_PATH)/tests/fate/microsoft.mak include $(SRC_PATH)/tests/fate/microsoft.mak
include $(SRC_PATH)/tests/fate/mp3.mak include $(SRC_PATH)/tests/fate/mp3.mak
include $(SRC_PATH)/tests/fate/mpc.mak include $(SRC_PATH)/tests/fate/mpc.mak
include $(SRC_PATH)/tests/fate/pcm.mak
include $(SRC_PATH)/tests/fate/prores.mak include $(SRC_PATH)/tests/fate/prores.mak
include $(SRC_PATH)/tests/fate/qtrle.mak include $(SRC_PATH)/tests/fate/qtrle.mak
include $(SRC_PATH)/tests/fate/real.mak include $(SRC_PATH)/tests/fate/real.mak
......
...@@ -6,10 +6,6 @@ FATE_TESTS += fate-8bps ...@@ -6,10 +6,6 @@ FATE_TESTS += fate-8bps
fate-8bps: CMD = framecrc -i $(SAMPLES)/8bps/full9iron-partial.mov -pix_fmt rgb24 fate-8bps: CMD = framecrc -i $(SAMPLES)/8bps/full9iron-partial.mov -pix_fmt rgb24
FATE_TESTS += fate-aasc FATE_TESTS += fate-aasc
fate-aasc: CMD = framecrc -i $(SAMPLES)/aasc/AASC-1.5MB.AVI -pix_fmt rgb24 fate-aasc: CMD = framecrc -i $(SAMPLES)/aasc/AASC-1.5MB.AVI -pix_fmt rgb24
FATE_TESTS += fate-adpcm-ea-r2
fate-adpcm-ea-r2: CMD = crc -i $(SAMPLES)/ea-mpc/THX_logo.mpc -vn
FATE_TESTS += fate-adpcm-ea-r3
fate-adpcm-ea-r3: CMD = crc -i $(SAMPLES)/ea-vp6/THX_logo.vp6 -vn
FATE_TESTS += fate-adts-demux FATE_TESTS += fate-adts-demux
fate-adts-demux: CMD = crc -i $(SAMPLES)/aac/ct_faac-adts.aac -acodec copy fate-adts-demux: CMD = crc -i $(SAMPLES)/aac/ct_faac-adts.aac -acodec copy
FATE_TESTS += fate-aea-demux FATE_TESTS += fate-aea-demux
...@@ -40,14 +36,6 @@ FATE_TESTS += fate-cljr ...@@ -40,14 +36,6 @@ FATE_TESTS += fate-cljr
fate-cljr: CMD = framecrc -i $(SAMPLES)/cljr/testcljr-partial.avi fate-cljr: CMD = framecrc -i $(SAMPLES)/cljr/testcljr-partial.avi
FATE_TESTS += fate-corepng FATE_TESTS += fate-corepng
fate-corepng: CMD = framecrc -i $(SAMPLES)/png1/corepng-partial.avi fate-corepng: CMD = framecrc -i $(SAMPLES)/png1/corepng-partial.avi
FATE_TESTS += fate-creative-adpcm
fate-creative-adpcm: CMD = md5 -i $(SAMPLES)/creative/intro-partial.wav -f s16le
FATE_TESTS += fate-creative-adpcm-8-2.6bit
fate-creative-adpcm-8-2.6bit: CMD = md5 -i $(SAMPLES)/creative/BBC_3BIT.VOC -f s16le
FATE_TESTS += fate-creative-adpcm-8-2bit
fate-creative-adpcm-8-2bit: CMD = md5 -i $(SAMPLES)/creative/BBC_2BIT.VOC -f s16le
FATE_TESTS += fate-creative-adpcm-8-4bit
fate-creative-adpcm-8-4bit: CMD = md5 -i $(SAMPLES)/creative/BBC_4BIT.VOC -f s16le
FATE_TESTS += fate-creatureshock-avs FATE_TESTS += fate-creatureshock-avs
fate-creatureshock-avs: CMD = framecrc -i $(SAMPLES)/creatureshock-avs/OUTATIME.AVS -pix_fmt rgb24 fate-creatureshock-avs: CMD = framecrc -i $(SAMPLES)/creatureshock-avs/OUTATIME.AVS -pix_fmt rgb24
FATE_TESTS += fate-cryo-apc FATE_TESTS += fate-cryo-apc
...@@ -66,10 +54,6 @@ FATE_TESTS += fate-delphine-cin ...@@ -66,10 +54,6 @@ FATE_TESTS += fate-delphine-cin
fate-delphine-cin: CMD = framecrc -i $(SAMPLES)/delphine-cin/LOGO-partial.CIN -pix_fmt rgb24 -vsync 0 fate-delphine-cin: CMD = framecrc -i $(SAMPLES)/delphine-cin/LOGO-partial.CIN -pix_fmt rgb24 -vsync 0
FATE_TESTS += fate-deluxepaint-anm FATE_TESTS += fate-deluxepaint-anm
fate-deluxepaint-anm: CMD = framecrc -i $(SAMPLES)/deluxepaint-anm/INTRO1.ANM -pix_fmt rgb24 fate-deluxepaint-anm: CMD = framecrc -i $(SAMPLES)/deluxepaint-anm/INTRO1.ANM -pix_fmt rgb24
FATE_TESTS += fate-duck-dk3
fate-duck-dk3: CMD = md5 -i $(SAMPLES)/duck/sop-audio-only.avi -f s16le
FATE_TESTS += fate-duck-dk4
fate-duck-dk4: CMD = md5 -i $(SAMPLES)/duck/salsa-audio-only.avi -f s16le
FATE_TESTS += fate-duck-tm2 FATE_TESTS += fate-duck-tm2
fate-duck-tm2: CMD = framecrc -i $(SAMPLES)/duck/tm20.avi fate-duck-tm2: CMD = framecrc -i $(SAMPLES)/duck/tm20.avi
FATE_TESTS += fate-ea-cdata FATE_TESTS += fate-ea-cdata
...@@ -78,22 +62,14 @@ FATE_TESTS += fate-ea-cmv ...@@ -78,22 +62,14 @@ FATE_TESTS += fate-ea-cmv
fate-ea-cmv: CMD = framecrc -i $(SAMPLES)/ea-cmv/TITLE.CMV -vsync 0 -pix_fmt rgb24 fate-ea-cmv: CMD = framecrc -i $(SAMPLES)/ea-cmv/TITLE.CMV -vsync 0 -pix_fmt rgb24
FATE_TESTS += fate-ea-dct FATE_TESTS += fate-ea-dct
fate-ea-dct: CMD = framecrc -idct simple -i $(SAMPLES)/ea-dct/NFS2Esprit-partial.dct fate-ea-dct: CMD = framecrc -idct simple -i $(SAMPLES)/ea-dct/NFS2Esprit-partial.dct
FATE_TESTS += fate-ea-mad-adpcm-ea-r1
fate-ea-mad-adpcm-ea-r1: CMD = framecrc -i $(SAMPLES)/ea-mad/NFS6LogoE.mad
FATE_TESTS += fate-ea-mad-pcm-planar
fate-ea-mad-pcm-planar: CMD = framecrc -i $(SAMPLES)/ea-mad/xeasport.mad
FATE_TESTS += fate-ea-tgq FATE_TESTS += fate-ea-tgq
fate-ea-tgq: CMD = framecrc -i $(SAMPLES)/ea-tgq/v27.tgq -an fate-ea-tgq: CMD = framecrc -i $(SAMPLES)/ea-tgq/v27.tgq -an
FATE_TESTS += fate-ea-tgv-ima-ea-eacs FATE_TESTS += fate-ea-tgv-ima-ea-eacs
fate-ea-tgv-ima-ea-eacs: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTRO8K-partial.TGV -pix_fmt rgb24 fate-ea-tgv-ima-ea-eacs: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTRO8K-partial.TGV -pix_fmt rgb24
FATE_TESTS += fate-ea-tgv-ima-ea-sead FATE_TESTS += fate-ea-tgv-ima-ea-sead
fate-ea-tgv-ima-ea-sead: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTEL_S.TGV -pix_fmt rgb24 fate-ea-tgv-ima-ea-sead: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTEL_S.TGV -pix_fmt rgb24
FATE_TESTS += fate-ea-tqi-adpcm
fate-ea-tqi-adpcm: CMD = framecrc -i $(SAMPLES)/ea-wve/networkBackbone-partial.wve -frames:v 26
FATE_TESTS += fate-feeble-dxa FATE_TESTS += fate-feeble-dxa
fate-feeble-dxa: CMD = framecrc -i $(SAMPLES)/dxa/meetsquid.dxa -t 2 -pix_fmt rgb24 fate-feeble-dxa: CMD = framecrc -i $(SAMPLES)/dxa/meetsquid.dxa -t 2 -pix_fmt rgb24
FATE_TESTS += fate-film-cvid-pcm-stereo-8bit
fate-film-cvid-pcm-stereo-8bit: CMD = framecrc -i $(SAMPLES)/film/logo-capcom.cpk
FATE_TESTS += fate-flic-af11-palette-change FATE_TESTS += fate-flic-af11-palette-change
fate-flic-af11-palette-change: CMD = framecrc -i $(SAMPLES)/fli/fli-engines.fli -t 3.3 -pix_fmt rgb24 fate-flic-af11-palette-change: CMD = framecrc -i $(SAMPLES)/fli/fli-engines.fli -t 3.3 -pix_fmt rgb24
FATE_TESTS += fate-flic-af12 FATE_TESTS += fate-flic-af12
...@@ -110,8 +86,6 @@ FATE_TESTS += fate-g729-1 ...@@ -110,8 +86,6 @@ FATE_TESTS += fate-g729-1
fate-g729-1: CMD = framecrc -i $(SAMPLES)/act/REC05.act -t 10 fate-g729-1: CMD = framecrc -i $(SAMPLES)/act/REC05.act -t 10
FATE_TESTS += fate-id-cin-video FATE_TESTS += fate-id-cin-video
fate-id-cin-video: CMD = framecrc -i $(SAMPLES)/idcin/idlog-2MB.cin -pix_fmt rgb24 fate-id-cin-video: CMD = framecrc -i $(SAMPLES)/idcin/idlog-2MB.cin -pix_fmt rgb24
FATE_TESTS += fate-idroq-video-dpcm
fate-idroq-video-dpcm: CMD = framecrc -i $(SAMPLES)/idroq/idlogo.roq
FATE_TESTS-$(CONFIG_AVFILTER) += fate-idroq-video-encode FATE_TESTS-$(CONFIG_AVFILTER) += fate-idroq-video-encode
fate-idroq-video-encode: CMD = md5 -f image2 -vcodec pgmyuv -i $(SAMPLES)/ffmpeg-synthetic/vsynth1/%02d.pgm -sws_flags +bitexact -vf pad=512:512:80:112 -f RoQ -t 0.2 fate-idroq-video-encode: CMD = md5 -f image2 -vcodec pgmyuv -i $(SAMPLES)/ffmpeg-synthetic/vsynth1/%02d.pgm -sws_flags +bitexact -vf pad=512:512:80:112 -f RoQ -t 0.2
FATE_TESTS += fate-iff-byterun1 FATE_TESTS += fate-iff-byterun1
...@@ -120,8 +94,6 @@ FATE_TESTS += fate-iff-fibonacci ...@@ -120,8 +94,6 @@ FATE_TESTS += fate-iff-fibonacci
fate-iff-fibonacci: CMD = md5 -i $(SAMPLES)/iff/dasboot-in-compressed -f s16le fate-iff-fibonacci: CMD = md5 -i $(SAMPLES)/iff/dasboot-in-compressed -f s16le
FATE_TESTS += fate-iff-ilbm FATE_TESTS += fate-iff-ilbm
fate-iff-ilbm: CMD = framecrc -i $(SAMPLES)/iff/lms-matriks.ilbm -pix_fmt rgb24 fate-iff-ilbm: CMD = framecrc -i $(SAMPLES)/iff/lms-matriks.ilbm -pix_fmt rgb24
FATE_TESTS += fate-iff-pcm
fate-iff-pcm: CMD = md5 -i $(SAMPLES)/iff/Bells -f s16le
FATE_TESTS += fate-interplay-mve-16bit FATE_TESTS += fate-interplay-mve-16bit
fate-interplay-mve-16bit: CMD = framecrc -i $(SAMPLES)/interplay-mve/descent3-level5-16bit-partial.mve -pix_fmt rgb24 fate-interplay-mve-16bit: CMD = framecrc -i $(SAMPLES)/interplay-mve/descent3-level5-16bit-partial.mve -pix_fmt rgb24
FATE_TESTS += fate-interplay-mve-8bit FATE_TESTS += fate-interplay-mve-8bit
...@@ -150,14 +122,10 @@ FATE_TESTS += fate-nuv ...@@ -150,14 +122,10 @@ FATE_TESTS += fate-nuv
fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv -vsync 0 fate-nuv: CMD = framecrc -idct simple -i $(SAMPLES)/nuv/Today.nuv -vsync 0
FATE_TESTS += fate-oma-demux FATE_TESTS += fate-oma-demux
fate-oma-demux: CMD = crc -i $(SAMPLES)/oma/01-Untitled-partial.oma -acodec copy fate-oma-demux: CMD = crc -i $(SAMPLES)/oma/01-Untitled-partial.oma -acodec copy
FATE_TESTS += fate-pcm_dvd
fate-pcm_dvd: CMD = framecrc -i $(SAMPLES)/pcm-dvd/coolitnow-partial.vob -vn
FATE_TESTS += fate-psx-str FATE_TESTS += fate-psx-str
fate-psx-str: CMD = framecrc -i $(SAMPLES)/psx-str/descent-partial.str fate-psx-str: CMD = framecrc -i $(SAMPLES)/psx-str/descent-partial.str
FATE_TESTS += fate-psx-str-v3-mdec FATE_TESTS += fate-psx-str-v3-mdec
fate-psx-str-v3-mdec: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -an fate-psx-str-v3-mdec: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -an
FATE_TESTS += fate-psx-str-v3-adpcm_xa
fate-psx-str-v3-adpcm_xa: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -vn
FATE_TESTS += fate-pva-demux FATE_TESTS += fate-pva-demux
fate-pva-demux: CMD = framecrc -idct simple -i $(SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -acodec copy fate-pva-demux: CMD = framecrc -idct simple -i $(SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -acodec copy
FATE_TESTS += fate-qcp-demux FATE_TESTS += fate-qcp-demux
...@@ -180,18 +148,6 @@ FATE_TESTS += fate-qt-mac6-mono ...@@ -180,18 +148,6 @@ FATE_TESTS += fate-qt-mac6-mono
fate-qt-mac6-mono: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-8-MAC6.mov -f s16le fate-qt-mac6-mono: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-8-MAC6.mov -f s16le
FATE_TESTS += fate-qt-mac6-stereo FATE_TESTS += fate-qt-mac6-stereo
fate-qt-mac6-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-8-MAC6.mov -f s16le fate-qt-mac6-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-8-MAC6.mov -f s16le
FATE_TESTS += fate-qt-msadpcm-stereo
fate-qt-msadpcm-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms02.mov -f s16le
FATE_TESTS += fate-qt-msimaadpcm-stereo
fate-qt-msimaadpcm-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms11.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-16bit-stereo-signed-be
fate-qt-rawpcm-16bit-stereo-signed-be: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-16bit-stereo-signed-le
fate-qt-rawpcm-16bit-stereo-signed-le: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-sowt.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-8bit-mono-unsigned
fate-qt-rawpcm-8bit-mono-unsigned: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-8-raw.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-8bit-stereo-unsigned
fate-qt-rawpcm-8bit-stereo-unsigned: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-8-raw.mov -f s16le
FATE_TESTS += fate-qt-ulaw-mono FATE_TESTS += fate-qt-ulaw-mono
fate-qt-ulaw-mono: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-16-B-ulaw.mov -f s16le fate-qt-ulaw-mono: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-16-B-ulaw.mov -f s16le
FATE_TESTS += fate-qt-ulaw-stereo FATE_TESTS += fate-qt-ulaw-stereo
...@@ -222,8 +178,6 @@ FATE_TESTS += fate-svq1 ...@@ -222,8 +178,6 @@ FATE_TESTS += fate-svq1
fate-svq1: CMD = framecrc -i $(SAMPLES)/svq1/marymary-shackles.mov -an -t 10 fate-svq1: CMD = framecrc -i $(SAMPLES)/svq1/marymary-shackles.mov -an -t 10
FATE_TESTS += fate-svq3 FATE_TESTS += fate-svq3
fate-svq3: CMD = framecrc -i $(SAMPLES)/svq3/Vertical400kbit.sorenson3.mov -t 6 -an fate-svq3: CMD = framecrc -i $(SAMPLES)/svq3/Vertical400kbit.sorenson3.mov -t 6 -an
FATE_TESTS += fate-thp-mjpeg-adpcm
fate-thp-mjpeg-adpcm: CMD = framecrc -idct simple -i $(SAMPLES)/thp/pikmin2-opening1-partial.thp
FATE_TESTS += fate-tiertex-seq FATE_TESTS += fate-tiertex-seq
fate-tiertex-seq: CMD = framecrc -i $(SAMPLES)/tiertex-seq/Gameover.seq -pix_fmt rgb24 fate-tiertex-seq: CMD = framecrc -i $(SAMPLES)/tiertex-seq/Gameover.seq -pix_fmt rgb24
FATE_TESTS += fate-tmv FATE_TESTS += fate-tmv
...@@ -242,13 +196,9 @@ FATE_TESTS += fate-video-xl ...@@ -242,13 +196,9 @@ FATE_TESTS += fate-video-xl
fate-video-xl: CMD = framecrc -i $(SAMPLES)/vixl/pig-vixl.avi fate-video-xl: CMD = framecrc -i $(SAMPLES)/vixl/pig-vixl.avi
FATE_TESTS += fate-vqa-cc FATE_TESTS += fate-vqa-cc
fate-vqa-cc: CMD = framecrc -i $(SAMPLES)/vqa/cc-demo1-partial.vqa -pix_fmt rgb24 fate-vqa-cc: CMD = framecrc -i $(SAMPLES)/vqa/cc-demo1-partial.vqa -pix_fmt rgb24
FATE_TESTS += fate-w64
fate-w64: CMD = crc -i $(SAMPLES)/w64/w64-pcm16.w64
FATE_TESTS += fate-wc3movie-xan FATE_TESTS += fate-wc3movie-xan
fate-wc3movie-xan: CMD = framecrc -i $(SAMPLES)/wc3movie/SC_32-part.MVE -pix_fmt rgb24 fate-wc3movie-xan: CMD = framecrc -i $(SAMPLES)/wc3movie/SC_32-part.MVE -pix_fmt rgb24
FATE_TESTS += fate-westwood-aud FATE_TESTS += fate-westwood-aud
fate-westwood-aud: CMD = md5 -i $(SAMPLES)/westwood-aud/excellent.aud -f s16le fate-westwood-aud: CMD = md5 -i $(SAMPLES)/westwood-aud/excellent.aud -f s16le
FATE_TESTS += fate-wnv1 FATE_TESTS += fate-wnv1
fate-wnv1: CMD = framecrc -i $(SAMPLES)/wnv1/wnv1-codec.avi -an fate-wnv1: CMD = framecrc -i $(SAMPLES)/wnv1/wnv1-codec.avi -an
FATE_TESTS += fate-xan-dpcm
fate-xan-dpcm: CMD = md5 -i $(SAMPLES)/wc4-xan/wc4_2.avi -vn -f s16le
FATE_TESTS += fate-adpcm-ea-r2
fate-adpcm-ea-r2: CMD = crc -i $(SAMPLES)/ea-mpc/THX_logo.mpc -vn
FATE_TESTS += fate-adpcm-ea-r3
fate-adpcm-ea-r3: CMD = crc -i $(SAMPLES)/ea-vp6/THX_logo.vp6 -vn
FATE_TESTS += fate-creative-adpcm
fate-creative-adpcm: CMD = md5 -i $(SAMPLES)/creative/intro-partial.wav -f s16le
FATE_TESTS += fate-creative-adpcm-8-2bit
fate-creative-adpcm-8-2bit: CMD = md5 -i $(SAMPLES)/creative/BBC_2BIT.VOC -f s16le
FATE_TESTS += fate-creative-adpcm-8-2.6bit
fate-creative-adpcm-8-2.6bit: CMD = md5 -i $(SAMPLES)/creative/BBC_3BIT.VOC -f s16le
FATE_TESTS += fate-creative-adpcm-8-4bit
fate-creative-adpcm-8-4bit: CMD = md5 -i $(SAMPLES)/creative/BBC_4BIT.VOC -f s16le
FATE_TESTS += fate-ea-mad-adpcm-ea-r1
fate-ea-mad-adpcm-ea-r1: CMD = framecrc -i $(SAMPLES)/ea-mad/NFS6LogoE.mad
FATE_TESTS += fate-ea-tqi-adpcm
fate-ea-tqi-adpcm: CMD = framecrc -i $(SAMPLES)/ea-wve/networkBackbone-partial.wve -frames:v 26
FATE_TESTS += fate-idroq-video-dpcm
fate-idroq-video-dpcm: CMD = framecrc -i $(SAMPLES)/idroq/idlogo.roq
FATE_TESTS += fate-psx-str-v3-adpcm_xa
fate-psx-str-v3-adpcm_xa: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -vn
FATE_TESTS += fate-qt-msadpcm-stereo
fate-qt-msadpcm-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms02.mov -f s16le
FATE_TESTS += fate-qt-msimaadpcm-stereo
fate-qt-msimaadpcm-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms11.mov -f s16le
FATE_TESTS += fate-thp-mjpeg-adpcm
fate-thp-mjpeg-adpcm: CMD = framecrc -idct simple -i $(SAMPLES)/thp/pikmin2-opening1-partial.thp
FATE_TESTS += fate-dpcm_xan_audio
fate-dpcm_xan_audio: CMD = md5 -i $(SAMPLES)/wc4-xan/wc4_2.avi -vn -f s16le
...@@ -16,3 +16,12 @@ fate-wmv8-drm-nodec: CMD = framecrc -cryptokey 137381538c84c068111902a59c5cf6c34 ...@@ -16,3 +16,12 @@ fate-wmv8-drm-nodec: CMD = framecrc -cryptokey 137381538c84c068111902a59c5cf6c34
FATE_TESTS += fate-vc1 FATE_TESTS += fate-vc1
fate-vc1: CMD = framecrc -i $(SAMPLES)/vc1/SA00040.vc1 fate-vc1: CMD = framecrc -i $(SAMPLES)/vc1/SA00040.vc1
FATE_TESTS += fate-vc1_sa00050
fate-vc1_sa00050: CMD = framecrc -i $(SAMPLES)/vc1/SA00050.vc1
FATE_TESTS += fate-vc1_sa10091
fate-vc1_sa10091: CMD = framecrc -i $(SAMPLES)/vc1/SA10091.vc1
FATE_TESTS += fate-vc1_sa20021
fate-vc1_sa20021: CMD = framecrc -i $(SAMPLES)/vc1/SA20021.vc1
FATE_TESTS += fate-duck-dk3
fate-duck-dk3: CMD = md5 -i $(SAMPLES)/duck/sop-audio-only.avi -f s16le
FATE_TESTS += fate-duck-dk4
fate-duck-dk4: CMD = md5 -i $(SAMPLES)/duck/salsa-audio-only.avi -f s16le
FATE_TESTS += fate-ea-mad-pcm-planar
fate-ea-mad-pcm-planar: CMD = framecrc -i $(SAMPLES)/ea-mad/xeasport.mad
FATE_TESTS += fate-film-cvid-pcm-stereo-8bit
fate-film-cvid-pcm-stereo-8bit: CMD = framecrc -i $(SAMPLES)/film/logo-capcom.cpk
FATE_TESTS += fate-iff-pcm
fate-iff-pcm: CMD = md5 -i $(SAMPLES)/iff/Bells -f s16le
FATE_TESTS += fate-pcm_dvd
fate-pcm_dvd: CMD = framecrc -i $(SAMPLES)/pcm-dvd/coolitnow-partial.vob -vn
FATE_TESTS += fate-qt-rawpcm-8bit-mono-unsigned
fate-qt-rawpcm-8bit-mono-unsigned: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-1-8-raw.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-8bit-stereo-unsigned
fate-qt-rawpcm-8bit-stereo-unsigned: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-8-raw.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-16bit-stereo-signed-be
fate-qt-rawpcm-16bit-stereo-signed-be: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov -f s16le
FATE_TESTS += fate-qt-rawpcm-16bit-stereo-signed-le
fate-qt-rawpcm-16bit-stereo-signed-le: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-sowt.mov -f s16le
FATE_TESTS += fate-w64
fate-w64: CMD = crc -i $(SAMPLES)/w64/w64-pcm16.w64
...@@ -87,3 +87,6 @@ fate-v410enc: CMD = md5 -f image2 -vcodec pgmyuv -i $(TARGET_PATH)/tests/vsynth1 ...@@ -87,3 +87,6 @@ fate-v410enc: CMD = md5 -f image2 -vcodec pgmyuv -i $(TARGET_PATH)/tests/vsynth1
FATE_TESTS += fate-r210 FATE_TESTS += fate-r210
fate-r210: CMD = framecrc -i $(SAMPLES)/r210/r210.avi -pix_fmt rgb48le fate-r210: CMD = framecrc -i $(SAMPLES)/r210/r210.avi -pix_fmt rgb48le
FATE_TESTS += fate-xxan_wc4_video
fate-xxan_wc4_video: CMD = framecrc -i $(SAMPLES)/wc4-xan/wc4_2.avi -an -vframes 10
0, 0, 115200, 0xb8830eef
0, 3600, 115200, 0xb8830eef
0, 7200, 115200, 0xb8830eef
0, 10800, 115200, 0x952ff5e1
0, 14400, 115200, 0xa4362b14
0, 18000, 115200, 0x32bacbe7
0, 21600, 115200, 0x509eb814
0, 25200, 115200, 0x509eb814
0, 28800, 115200, 0x11a76c3e
0, 32400, 115200, 0x11a76c3e
0, 36000, 115200, 0x00cf734a
0, 39600, 115200, 0x00cf734a
0, 43200, 115200, 0x00cf734a
0, 46800, 115200, 0x00cf734a
0, 50400, 115200, 0x00cf734a
0, 54000, 115200, 0x00cf734a
0, 57600, 115200, 0x00cf734a
0, 61200, 115200, 0x00cf734a
0, 64800, 115200, 0xfddf48e6
0, 68400, 115200, 0xfddf48e6
0, 72000, 115200, 0x1eccebbf
0, 75600, 115200, 0x3da2f77e
0, 79200, 115200, 0x7c232572
0, 82800, 115200, 0xedf426e5
0, 86400, 115200, 0x5324ab20
0, 90000, 115200, 0x5324ab20
0, 93600, 115200, 0xa23e66bb
0, 97200, 115200, 0x680a50ff
0, 100800, 115200, 0x680a50ff
0, 104400, 115200, 0x680a50ff
0, 0, 518400, 0xae20b4fa
0, 3600, 518400, 0x2b4ccdf9
0, 7200, 518400, 0x2b4ccdf9
0, 10800, 518400, 0x2b4ccdf9
0, 14400, 518400, 0x2b4ccdf9
0, 18000, 518400, 0x2b4ccdf9
0, 21600, 518400, 0x70d9a891
0, 25200, 518400, 0x70d9a891
0, 28800, 518400, 0x70d9a891
0, 32400, 518400, 0xa461ee86
0, 36000, 518400, 0x722bc6e8
0, 39600, 518400, 0x722bc6e8
0, 43200, 518400, 0x722bc6e8
0, 46800, 518400, 0xf752fd2c
0, 50400, 518400, 0xf752fd2c
0, 54000, 518400, 0x91abcaca
0, 57600, 518400, 0x572727c3
0, 61200, 518400, 0x572727c3
0, 64800, 518400, 0x24c12382
0, 68400, 518400, 0x24c12382
0, 72000, 518400, 0x9aa39fe8
0, 75600, 518400, 0x9aa39fe8
0, 79200, 518400, 0x5cb6bd19
0, 82800, 518400, 0x704d9300
0, 86400, 518400, 0x590fad49
0, 90000, 518400, 0x590fad49
0, 93600, 518400, 0x590fad49
0, 97200, 518400, 0x46bea10b
0, 100800, 518400, 0x46bea10b
0, 104400, 518400, 0x46bea10b
0, 0, 506880, 0x884bc093
0, 3600, 506880, 0x4b09548f
0, 7200, 506880, 0x195cbee1
0, 10800, 506880, 0xc8141e28
0, 14400, 506880, 0xb170c49b
0, 18000, 506880, 0x2782268a
0, 21600, 506880, 0x2782268a
0, 25200, 506880, 0x2782268a
0, 28800, 506880, 0x2782268a
0, 32400, 506880, 0xe6803b32
0, 36000, 506880, 0xe6803b32
0, 39600, 506880, 0xa5ef9baf
0, 43200, 506880, 0xa5ef9baf
0, 46800, 506880, 0x46e8cbcb
0, 50400, 506880, 0x28a2239b
0, 54000, 506880, 0x7667af2f
0, 57600, 506880, 0x7667af2f
0, 61200, 506880, 0x8011bcaf
0, 64800, 506880, 0xd422115b
0, 68400, 506880, 0xd422115b
0, 72000, 506880, 0xd422115b
0, 75600, 506880, 0xbcee0b5b
0, 79200, 506880, 0x08fe9ec8
0, 82800, 506880, 0xc8fb8b37
0, 86400, 506880, 0xc8fb8b37
0, 90000, 506880, 0x2c698b52
0, 93600, 506880, 0x2c698b52
0, 97200, 506880, 0x2c698b52
0, 100800, 506880, 0x2b4ad9bc
0, 104400, 506880, 0x2b4ad9bc
0, 108000, 506880, 0x2b4ad9bc
0, 111600, 506880, 0x2b4ad9bc
0, 115200, 506880, 0x92e84ebb
0, 118800, 506880, 0x92e84ebb
0, 122400, 506880, 0xdb877da3
0, 126000, 506880, 0xdb877da3
0, 129600, 506880, 0xdb877da3
0, 133200, 506880, 0x44610654
0, 136800, 506880, 0x44610654
0, 140400, 506880, 0xe254ce67
0, 144000, 506880, 0xa6085385
0, 147600, 506880, 0x2d45d744
0, 151200, 506880, 0x2d45d744
0, 154800, 506880, 0x6e684f51
0, 158400, 506880, 0xe96186cf
0, 162000, 506880, 0xb535d369
0, 165600, 506880, 0xb535d369
0, 169200, 506880, 0xb535d369
0, 172800, 506880, 0xeed0b7e0
0, 176400, 506880, 0xeed0b7e0
0, 180000, 506880, 0xeed0b7e0
0, 183600, 506880, 0xeed0b7e0
0, 187200, 506880, 0x8789b20b
0, 190800, 506880, 0x0a0f42fb
0, 194400, 506880, 0x09bbac2d
0, 198000, 506880, 0x09bbac2d
0, 201600, 506880, 0x09bbac2d
0, 205200, 506880, 0x09bbac2d
0, 208800, 506880, 0x09bbac2d
0, 212400, 506880, 0xda77f0df
0, 0, 79360, 0x877eb3ed
0, 6000, 79360, 0x9ff8707c
0, 12000, 79360, 0x144dec86
0, 18000, 79360, 0x56d59588
0, 24000, 79360, 0x2d20f8ce
0, 30000, 79360, 0x1a752c42
0, 36000, 79360, 0x85705730
0, 42000, 79360, 0xddea3741
0, 48000, 79360, 0x46448efd
0, 54000, 79360, 0x27186e2b
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment