lavf: deprecate r_frame_rate.
According to its description, it is supposed to be the LCM of all the frame durations. The usability of such a thing is vanishingly small, especially since we cannot determine it with any amount of reliability. Therefore get rid of it after the next bump. Replace it with the average framerate where it makes sense. FATE results for the wtv and xmv demux tests change. In the wtv case this is caused by the file being corrupted (or possibly badly cut) and containing invalid timestamps. This results in lavf estimating the framerate wrong and making up wrong frame durations. In the xmv case the file contains pts jumps, so again the estimated framerate is far from anything sane and lavf again makes up different frame durations. In some other tests lavf starts making up frame durations from different frame.
This commit is contained in:
parent
f66eeff1c8
commit
aba232cfa9
8
avconv.c
8
avconv.c
@ -2196,9 +2196,9 @@ static int output_packet(InputStream *ist, const AVPacket *pkt)
|
||||
ret = decode_video (ist, &avpkt, &got_output);
|
||||
if (avpkt.duration)
|
||||
ist->next_dts += av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q);
|
||||
else if (ist->st->r_frame_rate.num)
|
||||
ist->next_dts += av_rescale_q(1, (AVRational){ist->st->r_frame_rate.den,
|
||||
ist->st->r_frame_rate.num},
|
||||
else if (ist->st->avg_frame_rate.num)
|
||||
ist->next_dts += av_rescale_q(1, (AVRational){ist->st->avg_frame_rate.den,
|
||||
ist->st->avg_frame_rate.num},
|
||||
AV_TIME_BASE_Q);
|
||||
else if (ist->st->codec->time_base.num != 0) {
|
||||
int ticks = ist->st->parser ? ist->st->parser->repeat_pict + 1 :
|
||||
@ -2526,7 +2526,7 @@ static int transcode_init(void)
|
||||
(video_sync_method == VSYNC_CFR ||
|
||||
(video_sync_method == VSYNC_AUTO &&
|
||||
!(oc->oformat->flags & (AVFMT_NOTIMESTAMPS | AVFMT_VARIABLE_FPS))))) {
|
||||
ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25, 1};
|
||||
ost->frame_rate = ist->st->avg_frame_rate.num ? ist->st->avg_frame_rate : (AVRational){25, 1};
|
||||
if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {
|
||||
int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
|
||||
ost->frame_rate = ost->enc->supported_framerates[idx];
|
||||
|
@ -651,9 +651,6 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
|
||||
|
||||
if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS)
|
||||
probe_int("id", stream->id);
|
||||
probe_str("r_frame_rate",
|
||||
rational_string(val_str, sizeof(val_str), "/",
|
||||
&stream->r_frame_rate));
|
||||
probe_str("avg_frame_rate",
|
||||
rational_string(val_str, sizeof(val_str), "/",
|
||||
&stream->avg_frame_rate));
|
||||
|
@ -630,6 +630,7 @@ typedef struct AVStream {
|
||||
* not actually used for encoding.
|
||||
*/
|
||||
AVCodecContext *codec;
|
||||
#if FF_API_R_FRAME_RATE
|
||||
/**
|
||||
* Real base framerate of the stream.
|
||||
* This is the lowest framerate with which all timestamps can be
|
||||
@ -639,6 +640,7 @@ typedef struct AVStream {
|
||||
* approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
|
||||
*/
|
||||
AVRational r_frame_rate;
|
||||
#endif
|
||||
void *priv_data;
|
||||
|
||||
/**
|
||||
@ -714,10 +716,12 @@ typedef struct AVStream {
|
||||
*/
|
||||
#define MAX_STD_TIMEBASES (60*12+5)
|
||||
struct {
|
||||
#if FF_API_R_FRAME_RATE
|
||||
int64_t last_dts;
|
||||
int64_t duration_gcd;
|
||||
int duration_count;
|
||||
double duration_error[MAX_STD_TIMEBASES];
|
||||
#endif
|
||||
int nb_decoded_frames;
|
||||
int found_decoder;
|
||||
|
||||
|
@ -120,8 +120,11 @@ static int avisynth_read_header(AVFormatContext *s)
|
||||
st = avformat_new_stream(s, NULL);
|
||||
st->id = id;
|
||||
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
st->r_frame_rate.num = stream->info.dwRate;
|
||||
st->r_frame_rate.den = stream->info.dwScale;
|
||||
st->avg_frame_rate.num = stream->info.dwRate;
|
||||
st->avg_frame_rate.den = stream->info.dwScale;
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate = st->avg_frame_rate;
|
||||
#endif
|
||||
|
||||
st->codec->width = imgfmt.bmiHeader.biWidth;
|
||||
st->codec->height = imgfmt.bmiHeader.biHeight;
|
||||
|
@ -188,8 +188,10 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt)
|
||||
avs->st_video->codec->height = avs->height;
|
||||
avs->st_video->codec->bits_per_coded_sample=avs->bits_per_sample;
|
||||
avs->st_video->nb_frames = avs->nb_frames;
|
||||
avs->st_video->r_frame_rate = avs->st_video->avg_frame_rate =
|
||||
(AVRational){avs->fps, 1};
|
||||
#if FF_API_R_FRAME_RATE
|
||||
avs->st_video->r_frame_rate =
|
||||
#endif
|
||||
avs->st_video->avg_frame_rate = (AVRational){avs->fps, 1};
|
||||
}
|
||||
return avs_read_video_packet(s, pkt, type, sub_type, size,
|
||||
palette, palette_size);
|
||||
|
@ -432,8 +432,10 @@ static int ea_read_header(AVFormatContext *s)
|
||||
st->codec->width = ea->width;
|
||||
st->codec->height = ea->height;
|
||||
avpriv_set_pts_info(st, 33, ea->time_base.num, ea->time_base.den);
|
||||
st->r_frame_rate = st->avg_frame_rate = (AVRational){ea->time_base.den,
|
||||
ea->time_base.num};
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate =
|
||||
#endif
|
||||
st->avg_frame_rate = (AVRational){ea->time_base.den, ea->time_base.num};
|
||||
}
|
||||
|
||||
if (ea->audio_codec) {
|
||||
|
@ -202,9 +202,9 @@ static int flv_write_header(AVFormatContext *s)
|
||||
FLVStreamContext *sc;
|
||||
switch (enc->codec_type) {
|
||||
case AVMEDIA_TYPE_VIDEO:
|
||||
if (s->streams[i]->r_frame_rate.den &&
|
||||
s->streams[i]->r_frame_rate.num) {
|
||||
framerate = av_q2d(s->streams[i]->r_frame_rate);
|
||||
if (s->streams[i]->avg_frame_rate.den &&
|
||||
s->streams[i]->avg_frame_rate.num) {
|
||||
framerate = av_q2d(s->streams[i]->avg_frame_rate);
|
||||
} else {
|
||||
framerate = 1 / av_q2d(s->streams[i]->codec->time_base);
|
||||
}
|
||||
|
@ -1594,9 +1594,11 @@ static int matroska_read_header(AVFormatContext *s)
|
||||
if (st->codec->codec_id != CODEC_ID_H264)
|
||||
st->need_parsing = AVSTREAM_PARSE_HEADERS;
|
||||
if (track->default_duration) {
|
||||
av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den,
|
||||
av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
|
||||
1000000000, track->default_duration, 30000);
|
||||
st->avg_frame_rate = st->r_frame_rate;
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate = st->avg_frame_rate;
|
||||
#endif
|
||||
}
|
||||
} else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) {
|
||||
st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||
|
@ -1984,9 +1984,11 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
|
||||
sc->time_scale*st->nb_frames, st->duration, INT_MAX);
|
||||
|
||||
#if FF_API_R_FRAME_RATE
|
||||
if (sc->stts_count == 1 || (sc->stts_count == 2 && sc->stts_data[1].count == 1))
|
||||
av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den,
|
||||
sc->time_scale, sc->stts_data[0].duration, INT_MAX);
|
||||
#endif
|
||||
}
|
||||
|
||||
switch (st->codec->codec_id) {
|
||||
|
@ -163,7 +163,10 @@ static int nuv_header(AVFormatContext *s) {
|
||||
vst->codec->height = height;
|
||||
vst->codec->bits_per_coded_sample = 10;
|
||||
vst->sample_aspect_ratio = av_d2q(aspect * height / width, 10000);
|
||||
vst->r_frame_rate = av_d2q(fps, 60000);
|
||||
#if FF_API_R_FRAME_RATE
|
||||
vst->r_frame_rate =
|
||||
#endif
|
||||
vst->avg_frame_rate = av_d2q(fps, 60000);
|
||||
avpriv_set_pts_info(vst, 32, 1, 1000);
|
||||
} else
|
||||
ctx->v_id = -1;
|
||||
|
@ -87,8 +87,12 @@ static int r3d_read_red1(AVFormatContext *s)
|
||||
|
||||
framerate.num = avio_rb16(s->pb);
|
||||
framerate.den = avio_rb16(s->pb);
|
||||
if (framerate.num && framerate.den)
|
||||
st->r_frame_rate = st->avg_frame_rate = framerate;
|
||||
if (framerate.num && framerate.den) {
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate =
|
||||
#endif
|
||||
st->avg_frame_rate = framerate;
|
||||
}
|
||||
|
||||
tmp = avio_r8(s->pb); // audio channels
|
||||
av_dlog(s, "audio channels %d\n", tmp);
|
||||
@ -135,10 +139,10 @@ static int r3d_read_rdvo(AVFormatContext *s, Atom *atom)
|
||||
av_dlog(s, "video offset %d: %#x\n", i, r3d->video_offsets[i]);
|
||||
}
|
||||
|
||||
if (st->r_frame_rate.num)
|
||||
if (st->avg_frame_rate.num)
|
||||
st->duration = av_rescale_q(r3d->video_offsets_count,
|
||||
(AVRational){st->r_frame_rate.den,
|
||||
st->r_frame_rate.num},
|
||||
(AVRational){st->avg_frame_rate.den,
|
||||
st->avg_frame_rate.num},
|
||||
st->time_base);
|
||||
av_dlog(s, "duration %"PRId64"\n", st->duration);
|
||||
|
||||
@ -262,9 +266,9 @@ static int r3d_read_redv(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
||||
|
||||
pkt->stream_index = 0;
|
||||
pkt->dts = dts;
|
||||
if (st->r_frame_rate.num)
|
||||
if (st->avg_frame_rate.num)
|
||||
pkt->duration = (uint64_t)st->time_base.den*
|
||||
st->r_frame_rate.den/st->r_frame_rate.num;
|
||||
st->avg_frame_rate.den/st->avg_frame_rate.num;
|
||||
av_dlog(s, "pkt dts %"PRId64" duration %d\n", pkt->dts, pkt->duration);
|
||||
|
||||
return 0;
|
||||
@ -362,11 +366,11 @@ static int r3d_seek(AVFormatContext *s, int stream_index, int64_t sample_time, i
|
||||
R3DContext *r3d = s->priv_data;
|
||||
int frame_num;
|
||||
|
||||
if (!st->r_frame_rate.num)
|
||||
if (!st->avg_frame_rate.num)
|
||||
return -1;
|
||||
|
||||
frame_num = av_rescale_q(sample_time, st->time_base,
|
||||
(AVRational){st->r_frame_rate.den, st->r_frame_rate.num});
|
||||
(AVRational){st->avg_frame_rate.den, st->avg_frame_rate.num});
|
||||
av_dlog(s, "seek frame num %d timestamp %"PRId64"\n",
|
||||
frame_num, sample_time);
|
||||
|
||||
|
@ -158,7 +158,10 @@ int ff_raw_video_read_header(AVFormatContext *s)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
st->r_frame_rate = st->avg_frame_rate = framerate;
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate =
|
||||
#endif
|
||||
st->avg_frame_rate = framerate;
|
||||
avpriv_set_pts_info(st, 64, framerate.den, framerate.num);
|
||||
|
||||
fail:
|
||||
|
@ -344,9 +344,11 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
|
||||
if ((ret = rm_read_extradata(pb, st->codec, codec_data_size - (avio_tell(pb) - codec_pos))) < 0)
|
||||
return ret;
|
||||
|
||||
av_reduce(&st->r_frame_rate.den, &st->r_frame_rate.num,
|
||||
av_reduce(&st->avg_frame_rate.den, &st->avg_frame_rate.num,
|
||||
0x10000, fps, (1 << 30) - 1);
|
||||
st->avg_frame_rate = st->r_frame_rate;
|
||||
#if FF_API_R_FRAME_RATE
|
||||
st->r_frame_rate = st->avg_frame_rate;
|
||||
#endif
|
||||
}
|
||||
|
||||
skip:
|
||||
|
@ -758,9 +758,9 @@ static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
|
||||
*pden = 0;
|
||||
switch(st->codec->codec_type) {
|
||||
case AVMEDIA_TYPE_VIDEO:
|
||||
if (st->r_frame_rate.num) {
|
||||
*pnum = st->r_frame_rate.den;
|
||||
*pden = st->r_frame_rate.num;
|
||||
if (st->avg_frame_rate.num) {
|
||||
*pnum = st->avg_frame_rate.den;
|
||||
*pden = st->avg_frame_rate.num;
|
||||
} else if(st->time_base.num*1000LL > st->time_base.den) {
|
||||
*pnum = st->time_base.num;
|
||||
*pden = st->time_base.den;
|
||||
@ -2287,7 +2287,9 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
}
|
||||
|
||||
for (i=0; i<ic->nb_streams; i++) {
|
||||
#if FF_API_R_FRAME_RATE
|
||||
ic->streams[i]->info->last_dts = AV_NOPTS_VALUE;
|
||||
#endif
|
||||
ic->streams[i]->info->fps_first_dts = AV_NOPTS_VALUE;
|
||||
ic->streams[i]->info->fps_last_dts = AV_NOPTS_VALUE;
|
||||
}
|
||||
@ -2316,8 +2318,8 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (ic->fps_probe_size >= 0)
|
||||
fps_analyze_framecount = ic->fps_probe_size;
|
||||
/* variable fps and no guess at the real fps */
|
||||
if( tb_unreliable(st->codec) && !(st->r_frame_rate.num && st->avg_frame_rate.num)
|
||||
&& st->info->duration_count < fps_analyze_framecount
|
||||
if( tb_unreliable(st->codec) && !st->avg_frame_rate.num
|
||||
&& st->codec_info_nb_frames < fps_analyze_framecount
|
||||
&& st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
|
||||
break;
|
||||
if(st->parser && st->parser->parser->split && !st->codec->extradata)
|
||||
@ -2423,6 +2425,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
break;
|
||||
}
|
||||
}
|
||||
#if FF_API_R_FRAME_RATE
|
||||
{
|
||||
int64_t last = st->info->last_dts;
|
||||
|
||||
@ -2446,6 +2449,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (last == AV_NOPTS_VALUE || st->info->duration_count <= 1)
|
||||
st->info->last_dts = pkt->dts;
|
||||
}
|
||||
#endif
|
||||
if(st->parser && st->parser->parser->split && !st->codec->extradata){
|
||||
int i= st->parser->parser->split(st->codec, pkt->data, pkt->size);
|
||||
if (i > 0 && i < FF_MAX_EXTRADATA_SIZE) {
|
||||
@ -2508,6 +2512,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
best_fps, 12*1001, INT_MAX);
|
||||
}
|
||||
}
|
||||
#if FF_API_R_FRAME_RATE
|
||||
// the check for tb_unreliable() is not completely correct, since this is not about handling
|
||||
// a unreliable/inexact time base, but a time base that is finer than necessary, as e.g.
|
||||
// ipmovie.c produces.
|
||||
@ -2530,6 +2535,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
|
||||
if (num && (!st->r_frame_rate.num || (double)num/(12*1001) < 1.01 * av_q2d(st->r_frame_rate)))
|
||||
av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, num, 12*1001, INT_MAX);
|
||||
}
|
||||
#endif
|
||||
}else if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
|
||||
if(!st->codec->bits_per_coded_sample)
|
||||
st->codec->bits_per_coded_sample= av_get_bits_per_sample(st->codec->codec_id);
|
||||
@ -3343,8 +3349,10 @@ static void dump_stream_format(AVFormatContext *ic, int i, int index, int is_out
|
||||
if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO){
|
||||
if(st->avg_frame_rate.den && st->avg_frame_rate.num)
|
||||
print_fps(av_q2d(st->avg_frame_rate), "fps");
|
||||
#if FF_API_R_FRAME_RATE
|
||||
if(st->r_frame_rate.den && st->r_frame_rate.num)
|
||||
print_fps(av_q2d(st->r_frame_rate), "tbr");
|
||||
#endif
|
||||
if(st->time_base.den && st->time_base.num)
|
||||
print_fps(1/av_q2d(st->time_base), "tbn");
|
||||
if(st->codec->time_base.den && st->codec->time_base.num)
|
||||
|
@ -44,8 +44,8 @@ static int vc1test_write_header(AVFormatContext *s)
|
||||
avio_wl24(pb, 0); // hrd_buffer
|
||||
avio_w8(pb, 0x80); // level|cbr|res1
|
||||
avio_wl32(pb, 0); // hrd_rate
|
||||
if (s->streams[0]->r_frame_rate.den && s->streams[0]->r_frame_rate.num == 1)
|
||||
avio_wl32(pb, s->streams[0]->r_frame_rate.den);
|
||||
if (s->streams[0]->avg_frame_rate.den && s->streams[0]->avg_frame_rate.num == 1)
|
||||
avio_wl32(pb, s->streams[0]->avg_frame_rate.den);
|
||||
else
|
||||
avio_wl32(pb, 0xFFFFFFFF); //variable framerate
|
||||
avpriv_set_pts_info(s->streams[0], 32, 1, 1000);
|
||||
|
@ -64,5 +64,8 @@
|
||||
#ifndef FF_API_AV_GETTIME
|
||||
#define FF_API_AV_GETTIME (LIBAVFORMAT_VERSION_MAJOR < 55)
|
||||
#endif
|
||||
#ifndef FF_API_R_FRAME_RATE
|
||||
#define FF_API_R_FRAME_RATE (LIBAVFORMAT_VERSION_MAJOR < 55)
|
||||
#endif
|
||||
|
||||
#endif /* AVFORMAT_VERSION_H */
|
||||
|
@ -19,7 +19,7 @@
|
||||
0, 57600, 61200, 0, 20874, 0xed0b91ec
|
||||
0, 61200, 64799, 0, 20877, 0xe1623e01
|
||||
0, 64799, 68399, 0, 20933, 0x19906564
|
||||
0, 68399, 72000, 0, 20891, 0x3d064fd3
|
||||
0, 68399, 72000, 3600, 20891, 0x3d064fd3
|
||||
0, 72000, 75600, 3600, 20834, 0xcb774dbc
|
||||
0, 75600, 79200, 3600, 20870, 0xbc536589
|
||||
0, 79200, 82800, 3600, 21421, 0xc99a68e4
|
||||
|
@ -232,7 +232,7 @@
|
||||
1, 4388, 4388, 23, 260, 0x06ad6a93
|
||||
1, 4411, 4411, 23, 260, 0xdd1b6c91
|
||||
1, 4435, 4435, 23, 260, 0x05b94d27
|
||||
0, 4444, 4444, 0, 7121, 0x913d5bd6
|
||||
0, 4444, 4444, 111, 7121, 0x913d5bd6
|
||||
1, 4458, 4458, 23, 260, 0x12cc5062
|
||||
1, 4481, 4481, 23, 260, 0x44526d0f
|
||||
1, 4504, 4504, 23, 260, 0xf2ac6d95
|
||||
|
@ -48,7 +48,7 @@
|
||||
0, 2708, 2708, 0, 1108, 0x9a6019a8
|
||||
0, 2750, 2750, 0, 1205, 0xccba4d22
|
||||
0, 2791, 2791, 0, 1306, 0xde708c19
|
||||
0, 2833, 2833, 0, 1724, 0xa70b521e
|
||||
0, 2833, 2833, 41, 1724, 0xa70b521e
|
||||
0, 2875, 2875, 41, 1336, 0xdf3974b9
|
||||
0, 2916, 2916, 41, 1259, 0x1f6b4307
|
||||
0, 2958, 2958, 41, 1194, 0x635f5a43
|
||||
|
@ -59,83 +59,83 @@
|
||||
0, 11486331, 11486331, 400000, 6156, 0xe168394b
|
||||
1, 11519998, 11519998, 240000, 576, 0x1fea1448
|
||||
1, 11759998, 11759998, 240000, 576, 0x55840a01
|
||||
0, 11886331, 13086442, 400000, 23364, 0x53164f1e
|
||||
0, 11886331, 13086442, 449438, 23364, 0x53164f1e
|
||||
1, 11999998, 11999998, 240000, 576, 0x6c9c24ce
|
||||
1, 12239998, 12239998, 240000, 576, 0x955f1e97
|
||||
0, 12286442, 12286442, 400000, 6708, 0x89877269
|
||||
0, 12286442, 12286442, 449438, 6708, 0x89877269
|
||||
1, 12479998, 12479998, 240000, 576, 0x2827134f
|
||||
0, 12686442, 12686442, 400000, 6908, 0x8d62a249
|
||||
0, 12686442, 12686442, 449438, 6908, 0x8d62a249
|
||||
1, 12719998, 12719998, 240000, 576, 0x34a01c29
|
||||
1, 12959998, 12959998, 240000, 576, 0x7d351e52
|
||||
0, 13086442, 14286442, 400000, 38156, 0xec41f682
|
||||
0, 13086442, 14286442, 449438, 38156, 0xec41f682
|
||||
1, 13199998, 13199998, 240000, 576, 0x00c91d9e
|
||||
1, 13439998, 13439998, 240000, 576, 0x57ea1a97
|
||||
0, 13486331, 13486331, 400000, 5764, 0xcc04534b
|
||||
0, 13486331, 13486331, 449438, 5764, 0xcc04534b
|
||||
1, 13679998, 13679998, 240000, 576, 0xef3a1c74
|
||||
0, 13886331, 13886331, 400000, 5388, 0xb8a1c3c5
|
||||
0, 13886331, 13886331, 449438, 5388, 0xb8a1c3c5
|
||||
1, 13919998, 13919998, 240000, 576, 0x11fc217d
|
||||
1, 14159998, 14159998, 240000, 576, 0x59ce20e5
|
||||
0, 14286442, 15486331, 400000, 16764, 0x59460d96
|
||||
0, 14286442, 15486331, 449438, 16764, 0x59460d96
|
||||
1, 14399998, 14399998, 240000, 576, 0xaafc1dbf
|
||||
1, 14639998, 14639998, 240000, 576, 0xdd941609
|
||||
0, 14686331, 14686331, 400000, 5548, 0x5c91e93d
|
||||
0, 14686331, 14686331, 449438, 5548, 0x5c91e93d
|
||||
1, 14879998, 14879998, 240000, 576, 0x900420b0
|
||||
0, 15086331, 15086331, 400000, 5652, 0x5e321aed
|
||||
0, 15086331, 15086331, 449438, 5652, 0x5e321aed
|
||||
1, 15119998, 15119998, 240000, 576, 0x5f4f1aa1
|
||||
1, 15359998, 15359998, 240000, 576, 0x7d7e18de
|
||||
0, 15486331, 16686331, 400000, 15564, 0xefdf5080
|
||||
0, 15486331, 16686331, 449438, 15564, 0xefdf5080
|
||||
1, 15599998, 15599998, 240000, 576, 0x986c0d9d
|
||||
1, 15839998, 15839998, 240000, 576, 0xcb4c21c0
|
||||
0, 15886331, 15886331, 400000, 6492, 0xd1d5c5f8
|
||||
0, 15886331, 15886331, 449438, 6492, 0xd1d5c5f8
|
||||
1, 16079998, 16079998, 240000, 576, 0xbcfb1e8b
|
||||
0, 16286331, 16286331, 400000, 5604, 0xf9472b44
|
||||
0, 16286331, 16286331, 449438, 5604, 0xf9472b44
|
||||
1, 16319998, 16319998, 240000, 576, 0xcb541b4c
|
||||
1, 16559998, 16559998, 240000, 576, 0x980426e9
|
||||
0, 16686331, 17886331, 400000, 17924, 0x45815b7b
|
||||
0, 16686331, 17886331, 449438, 17924, 0x45815b7b
|
||||
1, 16799998, 16799998, 240000, 576, 0x09d00aa0
|
||||
1, 17039998, 17039998, 240000, 576, 0xad591374
|
||||
0, 17086442, 17086442, 400000, 5020, 0x3cc5e554
|
||||
0, 17086442, 17086442, 449438, 5020, 0x3cc5e554
|
||||
1, 17279998, 17279998, 240000, 576, 0x97bf1461
|
||||
0, 17486442, 17486442, 400000, 5276, 0xa0554c12
|
||||
0, 17486442, 17486442, 449438, 5276, 0xa0554c12
|
||||
1, 17519998, 17519998, 240000, 576, 0xdc871cc4
|
||||
1, 17759998, 17759998, 240000, 576, 0x56781896
|
||||
0, 17886331, 19086442, 400000, 31460, 0x5765eb5f
|
||||
0, 17886331, 19086442, 449438, 31460, 0x5765eb5f
|
||||
1, 17999998, 17999998, 240000, 576, 0xc77714e3
|
||||
1, 18239998, 18239998, 240000, 576, 0x280e18d4
|
||||
0, 18286331, 18286331, 400000, 4972, 0x91adbab7
|
||||
0, 18286331, 18286331, 449438, 4972, 0x91adbab7
|
||||
1, 18479998, 18479998, 240000, 576, 0xbc0d2302
|
||||
0, 18686442, 18686442, 400000, 5580, 0xfea707cb
|
||||
0, 18686442, 18686442, 449438, 5580, 0xfea707cb
|
||||
1, 18719998, 18719998, 240000, 576, 0x79191384
|
||||
1, 18959998, 18959998, 240000, 576, 0x65481c97
|
||||
0, 19086442, 20286331, 400000, 17412, 0x0afe4d27
|
||||
0, 19086442, 20286331, 449438, 17412, 0x0afe4d27
|
||||
1, 19199998, 19199998, 240000, 576, 0xc94d227d
|
||||
1, 19439998, 19439998, 240000, 576, 0xa68a1f14
|
||||
0, 19486442, 19486442, 400000, 5236, 0x03f55309
|
||||
0, 19486442, 19486442, 449438, 5236, 0x03f55309
|
||||
1, 19679998, 19679998, 240000, 576, 0x6af11a5c
|
||||
0, 19886331, 19886331, 400000, 4924, 0x558e753c
|
||||
0, 19886331, 19886331, 449438, 4924, 0x558e753c
|
||||
1, 19919998, 19919998, 240000, 576, 0x4d1019ef
|
||||
1, 20159998, 20159998, 240000, 576, 0x3b1b17b5
|
||||
0, 20286331, 21486331, 400000, 15396, 0xf145d121
|
||||
0, 20286331, 21486331, 449438, 15396, 0xf145d121
|
||||
1, 20399998, 20399998, 240000, 576, 0xcdd8159f
|
||||
1, 20639998, 20639998, 240000, 576, 0x97cd1d06
|
||||
0, 20686331, 20686331, 400000, 4708, 0x43066a92
|
||||
0, 20686331, 20686331, 449438, 4708, 0x43066a92
|
||||
1, 20879998, 20879998, 240000, 576, 0x5d1b1123
|
||||
0, 21086442, 21086442, 400000, 4332, 0x9e22bcba
|
||||
0, 21086442, 21086442, 449438, 4332, 0x9e22bcba
|
||||
1, 21119998, 21119998, 240000, 576, 0x888d0cb0
|
||||
1, 21359998, 21359998, 240000, 576, 0x556e1dad
|
||||
0, 21486331, 22686442, 400000, 12876, 0x46ff9ef4
|
||||
0, 21486331, 22686442, 449438, 12876, 0x46ff9ef4
|
||||
1, 21599998, 21599998, 240000, 576, 0xf7af0bce
|
||||
1, 21839998, 21839998, 240000, 576, 0xb5da160a
|
||||
0, 21886442, 21886442, 400000, 5940, 0x27cba62e
|
||||
0, 21886442, 21886442, 449438, 5940, 0x27cba62e
|
||||
1, 22079998, 22079998, 240000, 576, 0x4a8d0e98
|
||||
0, 22286442, 22286442, 400000, 6124, 0x6bab0a6d
|
||||
0, 22286442, 22286442, 449438, 6124, 0x6bab0a6d
|
||||
1, 22319998, 22319998, 240000, 576, 0x183b1c7e
|
||||
1, 22559998, 22559998, 240000, 576, 0xc47120e6
|
||||
0, 22686442, 23886442, 400000, 36428, 0x942f9648
|
||||
0, 22686442, 23886442, 449438, 36428, 0x942f9648
|
||||
1, 22799998, 22799998, 240000, 576, 0xb1f31346
|
||||
0, 23086331, 23086331, 400000, 6660, 0x545a0db7
|
||||
0, 23486331, 23486331, 400000, 6780, 0x2d1d4189
|
||||
0, 23886442, 25086331, 400000, 16460, 0x7c3b3ca4
|
||||
0, 24286442, 24286442, 400000, 6724, 0x8538cc6f
|
||||
0, 24686442, 24686442, 400000, 7068, 0x69574fd0
|
||||
0, 25086331, 26286331, 400000, 19552, 0xf230e854
|
||||
0, 23086331, 23086331, 449438, 6660, 0x545a0db7
|
||||
0, 23486331, 23486331, 449438, 6780, 0x2d1d4189
|
||||
0, 23886442, 25086331, 449438, 16460, 0x7c3b3ca4
|
||||
0, 24286442, 24286442, 449438, 6724, 0x8538cc6f
|
||||
0, 24686442, 24686442, 449438, 7068, 0x69574fd0
|
||||
0, 25086331, 26286331, 449438, 19552, 0xf230e854
|
||||
|
@ -82,102 +82,102 @@
|
||||
1, 3183, 3183, 124, 8928, 0x4a9b2d42
|
||||
0, 4640, 4640, 0, 100, 0x45023894
|
||||
0, 4680, 4680, 0, 948, 0xa65ed345
|
||||
0, 4720, 4720, 0, 2808, 0xd7285746
|
||||
0, 4760, 4760, 40, 5372, 0x05794175
|
||||
0, 4720, 4720, 108, 2808, 0xd7285746
|
||||
0, 4760, 4760, 108, 5372, 0x05794175
|
||||
1, 3307, 3307, 21, 1512, 0xed8b3f4b
|
||||
0, 4800, 4800, 40, 11596, 0x8636eca7
|
||||
0, 4800, 4800, 108, 11596, 0x8636eca7
|
||||
1, 3328, 3328, 21, 1512, 0xa27d3891
|
||||
0, 4840, 4840, 40, 11524, 0xe1f39be3
|
||||
0, 4840, 4840, 108, 11524, 0xe1f39be3
|
||||
1, 3349, 3349, 21, 1512, 0xb0f13eb6
|
||||
0, 4880, 4880, 40, 23392, 0xab053f05
|
||||
0, 4880, 4880, 108, 23392, 0xab053f05
|
||||
1, 3370, 3370, 23, 1656, 0xe5a98324
|
||||
0, 4920, 4920, 40, 4560, 0x03197d07
|
||||
0, 4920, 4920, 108, 4560, 0x03197d07
|
||||
1, 3393, 3393, 31, 2232, 0x15445433
|
||||
0, 4960, 4960, 40, 4440, 0x1cc361a2
|
||||
0, 4960, 4960, 108, 4440, 0x1cc361a2
|
||||
1, 3424, 3424, 31, 2232, 0x5cb348a9
|
||||
0, 5000, 5000, 40, 23688, 0x16030634
|
||||
0, 5000, 5000, 108, 23688, 0x16030634
|
||||
1, 3455, 3455, 31, 2232, 0xf10347da
|
||||
0, 5040, 5040, 40, 16132, 0xf0eca799
|
||||
0, 5040, 5040, 108, 16132, 0xf0eca799
|
||||
1, 3486, 3486, 34, 2448, 0x3e16a175
|
||||
0, 5080, 5080, 40, 29896, 0x0c0988ea
|
||||
0, 5080, 5080, 108, 29896, 0x0c0988ea
|
||||
1, 3520, 3520, 35, 2520, 0x17e3ca2b
|
||||
0, 5120, 5120, 40, 19956, 0x0093aa0b
|
||||
0, 5120, 5120, 108, 19956, 0x0093aa0b
|
||||
1, 3555, 3555, 27, 1944, 0x35c2de84
|
||||
0, 5160, 5160, 40, 16392, 0x8829a9ca
|
||||
0, 5160, 5160, 108, 16392, 0x8829a9ca
|
||||
1, 3582, 3582, 27, 1944, 0x55b4db40
|
||||
0, 5200, 5200, 40, 16772, 0x9a4a546d
|
||||
0, 5200, 5200, 108, 16772, 0x9a4a546d
|
||||
1, 3609, 3609, 29, 2088, 0xdaae14b2
|
||||
0, 5240, 5240, 40, 8920, 0xcd8ca203
|
||||
0, 5240, 5240, 108, 8920, 0xcd8ca203
|
||||
1, 3638, 3638, 27, 1944, 0x92ccd37f
|
||||
0, 5280, 5280, 40, 9632, 0x53c1d37b
|
||||
0, 5280, 5280, 108, 9632, 0x53c1d37b
|
||||
1, 3665, 3665, 27, 1944, 0x70efede1
|
||||
0, 5320, 5320, 40, 8976, 0xfe4da2cc
|
||||
0, 5320, 5320, 108, 8976, 0xfe4da2cc
|
||||
1, 3692, 3692, 27, 1944, 0x7601d304
|
||||
0, 5360, 5360, 40, 6680, 0x35348fe0
|
||||
0, 5360, 5360, 108, 6680, 0x35348fe0
|
||||
1, 3719, 3719, 27, 1944, 0x3922ebc2
|
||||
0, 5400, 5400, 40, 9228, 0xcbf62b0c
|
||||
0, 5400, 5400, 108, 9228, 0xcbf62b0c
|
||||
1, 3746, 3746, 30, 2160, 0xde462f2e
|
||||
0, 5440, 5440, 40, 5108, 0xd1d88511
|
||||
0, 5440, 5440, 108, 5108, 0xd1d88511
|
||||
1, 3776, 3776, 26, 1872, 0x467ac1d2
|
||||
0, 5480, 5480, 40, 10016, 0xaff4b2b2
|
||||
0, 5480, 5480, 108, 10016, 0xaff4b2b2
|
||||
1, 3802, 3802, 26, 1872, 0xa1e4cd43
|
||||
0, 5520, 5520, 40, 7468, 0x23e81ab8
|
||||
0, 5520, 5520, 108, 7468, 0x23e81ab8
|
||||
1, 3828, 3828, 26, 1872, 0x1dceccc6
|
||||
0, 5560, 5560, 40, 4172, 0x253cd05b
|
||||
0, 5560, 5560, 108, 4172, 0x253cd05b
|
||||
1, 3854, 3854, 26, 1872, 0x2bbad2a5
|
||||
0, 5600, 5600, 40, 8188, 0x7ede743f
|
||||
0, 5600, 5600, 108, 8188, 0x7ede743f
|
||||
1, 3880, 3880, 26, 1872, 0xc603d44d
|
||||
0, 5640, 5640, 40, 2884, 0x2dec55a3
|
||||
0, 5640, 5640, 108, 2884, 0x2dec55a3
|
||||
1, 3906, 3906, 26, 1872, 0x1b4cc261
|
||||
0, 5680, 5680, 40, 3900, 0xd0666a18
|
||||
0, 5680, 5680, 108, 3900, 0xd0666a18
|
||||
1, 3932, 3932, 26, 1872, 0x10edd6cf
|
||||
0, 5720, 5720, 40, 2996, 0x9cc99b8c
|
||||
0, 5720, 5720, 108, 2996, 0x9cc99b8c
|
||||
1, 3958, 3958, 33, 2376, 0xecdb9d61
|
||||
0, 5760, 5760, 40, 2156, 0xae612776
|
||||
0, 5760, 5760, 108, 2156, 0xae612776
|
||||
1, 3991, 3991, 36, 2592, 0x5559eced
|
||||
0, 5800, 5800, 40, 3988, 0x0d2c9992
|
||||
0, 5840, 5840, 40, 1512, 0x6281fc00
|
||||
0, 5800, 5800, 108, 3988, 0x0d2c9992
|
||||
0, 5840, 5840, 108, 1512, 0x6281fc00
|
||||
1, 4027, 4027, 36, 2592, 0x8848dfc7
|
||||
0, 5880, 5880, 40, 6544, 0xb75c2562
|
||||
0, 5880, 5880, 108, 6544, 0xb75c2562
|
||||
1, 4063, 4063, 36, 2592, 0x4ca2d7da
|
||||
0, 5920, 5920, 40, 4108, 0xfb21efc9
|
||||
0, 5920, 5920, 108, 4108, 0xfb21efc9
|
||||
1, 4099, 4099, 36, 2592, 0x285fd7e6
|
||||
0, 5960, 5960, 40, 1096, 0x85922a37
|
||||
0, 6000, 6000, 40, 9740, 0xe57d7647
|
||||
0, 5960, 5960, 108, 1096, 0x85922a37
|
||||
0, 6000, 6000, 108, 9740, 0xe57d7647
|
||||
1, 4135, 4135, 36, 2592, 0x2717e404
|
||||
0, 6040, 6040, 40, 416, 0x61c2ea02
|
||||
0, 6040, 6040, 108, 416, 0x61c2ea02
|
||||
1, 4171, 4171, 36, 2592, 0xf106111a
|
||||
0, 6080, 6080, 40, 336, 0x1dc5ac1c
|
||||
0, 6080, 6080, 108, 336, 0x1dc5ac1c
|
||||
1, 4207, 4207, 36, 2592, 0xd7d01119
|
||||
0, 6120, 6120, 40, 204, 0x16f57017
|
||||
0, 6120, 6120, 108, 204, 0x16f57017
|
||||
1, 4243, 4243, 36, 2592, 0x550cfeda
|
||||
0, 6160, 6160, 40, 112, 0x78374234
|
||||
0, 6200, 6200, 40, 40, 0x6cb21985
|
||||
0, 6160, 6160, 108, 112, 0x78374234
|
||||
0, 6200, 6200, 108, 40, 0x6cb21985
|
||||
1, 4279, 4279, 36, 2592, 0x47ad00c4
|
||||
1, 4315, 4315, 36, 2592, 0x39bbf306
|
||||
1, 4351, 4351, 45, 3240, 0x69addfce
|
||||
1, 4396, 4396, 297, 21384, 0x254f63e0
|
||||
1, 4693, 4693, 298, 21456, 0x2f7a9859
|
||||
0, 6840, 6840, 40, 14420, 0x53324ca4
|
||||
0, 6880, 6880, 40, 40, 0x10971420
|
||||
0, 6840, 6840, 108, 14420, 0x53324ca4
|
||||
0, 6880, 6880, 108, 40, 0x10971420
|
||||
1, 4991, 4991, 521, 37512, 0x6e962928
|
||||
1, 5512, 5512, 38, 2736, 0x1dc91c69
|
||||
0, 8000, 8000, 40, 24904, 0x15574f7e
|
||||
0, 8000, 8000, 108, 24904, 0x15574f7e
|
||||
1, 5550, 5550, 38, 2736, 0x023434fd
|
||||
1, 5588, 5588, 38, 2736, 0x906f1541
|
||||
0, 8160, 8160, 40, 1908, 0xccb2dd3c
|
||||
0, 8160, 8160, 108, 1908, 0xccb2dd3c
|
||||
1, 5626, 5626, 38, 2736, 0x85a31102
|
||||
0, 8200, 8200, 40, 4676, 0xbfa42b7e
|
||||
0, 8200, 8200, 108, 4676, 0xbfa42b7e
|
||||
1, 5664, 5664, 42, 3024, 0x9296a5f3
|
||||
0, 8240, 8240, 40, 3600, 0x87c9dc58
|
||||
0, 8280, 8280, 40, 8184, 0x504a8e65
|
||||
0, 8240, 8240, 108, 3600, 0x87c9dc58
|
||||
0, 8280, 8280, 108, 8184, 0x504a8e65
|
||||
1, 5706, 5706, 27, 1944, 0x7bf4dedc
|
||||
0, 8320, 8320, 40, 9636, 0x2efb3006
|
||||
0, 8320, 8320, 108, 9636, 0x2efb3006
|
||||
1, 5733, 5733, 27, 1944, 0x4196c404
|
||||
1, 5760, 5760, 27, 1944, 0xcda97c7a
|
||||
0, 8360, 8360, 40, 9580, 0x0fb6f4e8
|
||||
0, 8360, 8360, 108, 9580, 0x0fb6f4e8
|
||||
1, 5787, 5787, 27, 1944, 0x5f4922b2
|
||||
0, 8400, 8400, 40, 7840, 0xe996f564
|
||||
0, 8400, 8400, 108, 7840, 0xe996f564
|
||||
1, 5814, 5814, 29, 2088, 0x37dfc157
|
||||
0, 8440, 8440, 40, 4208, 0xe9c2fba2
|
||||
0, 8480, 8480, 40, 556, 0x3f1e077c
|
||||
0, 8440, 8440, 108, 4208, 0xe9c2fba2
|
||||
0, 8480, 8480, 108, 556, 0x3f1e077c
|
||||
|
Loading…
Reference in New Issue
Block a user