lavf/spdifdec: support EAC3

Parsing should probably be enabled for all codecs, at least for headers,
but e.g. the AAC parser produces 1-byte packets of zero padding with it,
so I'm just enabling it for EAC3 for the moment.
This commit is contained in:
rcombs 2022-06-19 20:00:07 -05:00
parent 6161eacc74
commit d3538dd293
3 changed files with 680 additions and 1 deletions

View File

@ -31,6 +31,7 @@
#include "libavcodec/adts_parser.h"
#include "avformat.h"
#include "internal.h"
#include "spdif.h"
static int spdif_get_offset_and_codec(AVFormatContext *s,
@ -93,6 +94,10 @@ static int spdif_get_offset_and_codec(AVFormatContext *s,
*offset = 8192;
*codec = AV_CODEC_ID_DTS;
break;
case IEC61937_EAC3:
*offset = 24576;
*codec = AV_CODEC_ID_EAC3;
break;
default:
if (s) { /* be silent during a probe */
avpriv_request_sample(s, "Data type 0x%04x in IEC 61937",
@ -170,6 +175,16 @@ static int spdif_read_header(AVFormatContext *s)
return 0;
}
static int spdif_get_pkt_size_bits(int type, int code)
{
switch (type & 0xff) {
case IEC61937_EAC3:
return code << 3;
default:
return code;
}
}
int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt)
{
AVIOContext *pb = s->pb;
@ -185,7 +200,7 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt)
}
data_type = avio_rl16(pb);
pkt_size_bits = avio_rl16(pb);
pkt_size_bits = spdif_get_pkt_size_bits(data_type, avio_rl16(pb));
if (pkt_size_bits % 16)
avpriv_request_sample(s, "Packet not ending at a 16-bit boundary");
@ -218,6 +233,8 @@ int ff_spdif_read_packet(AVFormatContext *s, AVPacket *pkt)
}
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = codec_id;
if (codec_id == AV_CODEC_ID_EAC3)
ffstream(st)->need_parsing = AVSTREAM_PARSE_FULL;
} else if (codec_id != s->streams[0]->codecpar->codec_id) {
avpriv_report_missing_feature(s, "Codec change in IEC 61937");
return AVERROR_PATCHWELCOME;

View File

@ -24,6 +24,9 @@ fate-spdif-dca-master-core: CMD = md5 -i $(TARGET_SAMPLES)/dts/master_audio_7.1_
FATE_SPDIF-$(call DEMMUX, EAC3, SPDIF) += fate-spdif-eac3
fate-spdif-eac3: CMD = md5 -i $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3 -c copy -f spdif
FATE_SPDIF_REMUX-$(call ALLYES, EAC3_DEMUXER EAC3_DECODER SPDIF_MUXER SPDIF_DEMUXER) += fate-spdif-eac3-remux
fate-spdif-eac3-remux: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3 spdif "-c copy" "-c copy"
FATE_SPDIF-$(call DEMMUX, MLP, SPDIF) += fate-spdif-mlp
fate-spdif-mlp: CMD = md5 -i $(TARGET_SAMPLES)/lossless-audio/luckynight-partial.mlp -c copy -f spdif

View File

@ -0,0 +1,659 @@
b881db03eb6370e057645396d1880260 *tests/data/fate/spdif-eac3-remux.spdif
16023552 tests/data/fate/spdif-eac3-remux.spdif
#tb 0: 1/90000
#media_type 0: audio
#codec_id 0: eac3
#sample_rate 0: 48000
#channel_layout_name 0: stereo
0, 0, 0, 2880, 352, 0x0ae5a595
0, 2880, 2880, 2880, 512, 0x2beaf79f
0, 5760, 5760, 2880, 512, 0x29ddf9d6
0, 8640, 8640, 2880, 512, 0xba0afa79
0, 11520, 11520, 2880, 512, 0xe019f394
0, 14400, 14400, 2880, 512, 0xf501f5ab
0, 17280, 17280, 2880, 512, 0x5ed3f35c
0, 20160, 20160, 2880, 512, 0xb2a5f67b
0, 23040, 23040, 2880, 512, 0xdab3f328
0, 25920, 25920, 2880, 512, 0x490dfa2e
0, 28800, 28800, 2880, 512, 0x26dffa1d
0, 31680, 31680, 2880, 512, 0xa8daf5cd
0, 34560, 34560, 2880, 512, 0x823a01e1
0, 37440, 37440, 2880, 512, 0xf2feee89
0, 40320, 40320, 2880, 512, 0x58f5ebe2
0, 43200, 43200, 2880, 512, 0x8618f679
0, 46080, 46080, 2880, 512, 0xfbe3f0e9
0, 48960, 48960, 2880, 512, 0xadc3f479
0, 51840, 51840, 2880, 512, 0xe85ef861
0, 54720, 54720, 2880, 512, 0x788cf985
0, 57600, 57600, 2880, 512, 0x44cf00c1
0, 60480, 60480, 2880, 512, 0x3398fbf8
0, 63360, 63360, 2880, 512, 0xfbfafc32
0, 66240, 66240, 2880, 512, 0x68fdf9db
0, 69120, 69120, 2880, 512, 0xb848f4fa
0, 72000, 72000, 2880, 512, 0x245af55e
0, 74880, 74880, 2880, 512, 0x5027f295
0, 77760, 77760, 2880, 512, 0x7d74f988
0, 80640, 80640, 2880, 512, 0x7179f92d
0, 83520, 83520, 2880, 512, 0xb2eff797
0, 86400, 86400, 2880, 512, 0x1625f5fa
0, 89280, 89280, 2880, 512, 0x3682f8b4
0, 92160, 92160, 2880, 512, 0xc9e3f9a6
0, 95040, 95040, 2880, 512, 0x1fd50294
0, 97920, 97920, 2880, 512, 0xacd0f967
0, 100800, 100800, 2880, 512, 0xfce1f614
0, 103680, 103680, 2880, 512, 0x8a96f555
0, 106560, 106560, 2880, 512, 0xeb93e8eb
0, 109440, 109440, 2880, 512, 0x3d63f049
0, 112320, 112320, 2880, 512, 0x92ffefa2
0, 115200, 115200, 2880, 512, 0x634ced64
0, 118080, 118080, 2880, 512, 0xf372f256
0, 120960, 120960, 2880, 512, 0xef28ec45
0, 123840, 123840, 2880, 512, 0x0973f647
0, 126720, 126720, 2880, 512, 0x11e1f7d9
0, 129600, 129600, 2880, 512, 0x63ccf4f7
0, 132480, 132480, 2880, 512, 0xa0e4f3c8
0, 135360, 135360, 2880, 512, 0x0ab3f11a
0, 138240, 138240, 2880, 512, 0xcbf8f8a2
0, 141120, 141120, 2880, 512, 0xb102ff6f
0, 144000, 144000, 2880, 512, 0xbfa6ff2f
0, 146880, 146880, 2880, 512, 0xc88301c4
0, 149760, 149760, 2880, 512, 0xab08f52a
0, 152640, 152640, 2880, 512, 0x9401f177
0, 155520, 155520, 2880, 512, 0xd8faf12c
0, 158400, 158400, 2880, 512, 0x9f19f770
0, 161280, 161280, 2880, 512, 0x27eaf637
0, 164160, 164160, 2880, 512, 0xdaa4f256
0, 167040, 167040, 2880, 512, 0x6170f6ef
0, 169920, 169920, 2880, 512, 0xeaf8fee4
0, 172800, 172800, 2880, 512, 0xd438f881
0, 175680, 175680, 2880, 512, 0x9970f701
0, 178560, 178560, 2880, 512, 0x9d9af25c
0, 181440, 181440, 2880, 512, 0xa9ee049e
0, 184320, 184320, 2880, 512, 0xe87af4a7
0, 187200, 187200, 2880, 512, 0x5776f68a
0, 190080, 190080, 2880, 512, 0xce3af291
0, 192960, 192960, 2880, 512, 0x4994f1e9
0, 195840, 195840, 2880, 512, 0x97d8f8e4
0, 198720, 198720, 2880, 512, 0x1b03f2bb
0, 201600, 201600, 2880, 512, 0xa674ede4
0, 204480, 204480, 2880, 512, 0x9607eede
0, 207360, 207360, 2880, 512, 0xf225ed64
0, 210240, 210240, 2880, 512, 0xa59ff1af
0, 213120, 213120, 2880, 512, 0xa73cf082
0, 216000, 216000, 2880, 512, 0xb504f86f
0, 218880, 218880, 2880, 512, 0x3e7cf849
0, 221760, 221760, 2880, 512, 0x2625f150
0, 224640, 224640, 2880, 512, 0x8dc7fa6c
0, 227520, 227520, 2880, 512, 0x4116f6fb
0, 230400, 230400, 2880, 512, 0xfb41f025
0, 233280, 233280, 2880, 512, 0xf2ddf047
0, 236160, 236160, 2880, 512, 0x3e3af43d
0, 239040, 239040, 2880, 512, 0xbd12031c
0, 241920, 241920, 2880, 512, 0x144bfa82
0, 244800, 244800, 2880, 512, 0x4221f8b4
0, 247680, 247680, 2880, 512, 0x95e1f375
0, 250560, 250560, 2880, 512, 0x15a1e638
0, 253440, 253440, 2880, 512, 0x3945f461
0, 256320, 256320, 2880, 512, 0xa95ef996
0, 259200, 259200, 2880, 512, 0x84caee4a
0, 262080, 262080, 2880, 512, 0x0339f13a
0, 264960, 264960, 2880, 512, 0x010c01b5
0, 267840, 267840, 2880, 512, 0xb042eb63
0, 270720, 270720, 2880, 512, 0x1d30f50b
0, 273600, 273600, 2880, 512, 0x8ef1f411
0, 276480, 276480, 2880, 512, 0x1f68f161
0, 279360, 279360, 2880, 512, 0xc2a002e2
0, 282240, 282240, 2880, 512, 0x87bef3a3
0, 285120, 285120, 2880, 512, 0xee24fc34
0, 288000, 288000, 2880, 512, 0x0de2f86f
0, 290880, 290880, 2880, 512, 0xda6ef5c5
0, 293760, 293760, 2880, 512, 0x538ef1b3
0, 296640, 296640, 2880, 512, 0x059befac
0, 299520, 299520, 2880, 512, 0x0fedfa87
0, 302400, 302400, 2880, 512, 0x8f04f38c
0, 305280, 305280, 2880, 512, 0x4195f4fa
0, 308160, 308160, 2880, 512, 0x36e5fa8a
0, 311040, 311040, 2880, 512, 0x27cdf74e
0, 313920, 313920, 2880, 512, 0x0a7dee39
0, 316800, 316800, 2880, 512, 0xb143f9fe
0, 319680, 319680, 2880, 512, 0x57dff4eb
0, 322560, 322560, 2880, 512, 0xbf56ee82
0, 325440, 325440, 2880, 512, 0x8752f6a5
0, 328320, 328320, 2880, 512, 0xa647fd42
0, 331200, 331200, 2880, 512, 0xe8f9eb59
0, 334080, 334080, 2880, 512, 0xba0aeb49
0, 336960, 336960, 2880, 512, 0xaa42f9f6
0, 339840, 339840, 2880, 512, 0xc664ed11
0, 342720, 342720, 2880, 512, 0xbcaaf855
0, 345600, 345600, 2880, 512, 0x2631f9ed
0, 348480, 348480, 2880, 512, 0xc4f8f251
0, 351360, 351360, 2880, 512, 0x1fc2f2af
0, 354240, 354240, 2880, 512, 0xdd2ff3c7
0, 357120, 357120, 2880, 512, 0xb783f7f9
0, 360000, 360000, 2880, 512, 0xf6acf1cb
0, 362880, 362880, 2880, 512, 0x1db2fb58
0, 365760, 365760, 2880, 512, 0x2241e93d
0, 368640, 368640, 2880, 512, 0x619bf1bf
0, 371520, 371520, 2880, 512, 0xe3ddf0ce
0, 374400, 374400, 2880, 512, 0xd94af1be
0, 377280, 377280, 2880, 512, 0xc899f2ab
0, 380160, 380160, 2880, 512, 0xd044f1f7
0, 383040, 383040, 2880, 512, 0xce7507a7
0, 385920, 385920, 2880, 512, 0x2421e95b
0, 388800, 388800, 2880, 512, 0x2c52f48c
0, 391680, 391680, 2880, 512, 0xda31fc4e
0, 394560, 394560, 2880, 512, 0xb8dcfdda
0, 397440, 397440, 2880, 512, 0xccc6f055
0, 400320, 400320, 2880, 512, 0x8c01f9d9
0, 403200, 403200, 2880, 512, 0xcf36ec40
0, 406080, 406080, 2880, 512, 0x5bcafa5c
0, 408960, 408960, 2880, 512, 0xb756f560
0, 411840, 411840, 2880, 512, 0x1849f744
0, 414720, 414720, 2880, 512, 0x9d9bf5ac
0, 417600, 417600, 2880, 512, 0xaea3f847
0, 420480, 420480, 2880, 512, 0xfd84f817
0, 423360, 423360, 2880, 512, 0x5ba0ed29
0, 426240, 426240, 2880, 512, 0xd3b3f400
0, 429120, 429120, 2880, 512, 0x6156f6d9
0, 432000, 432000, 2880, 512, 0xdbc8f4b9
0, 434880, 434880, 2880, 512, 0x4a48fbe3
0, 437760, 437760, 2880, 512, 0x7c3cf3ed
0, 440640, 440640, 2880, 512, 0x078eefa2
0, 443520, 443520, 2880, 512, 0x6b02ec30
0, 446400, 446400, 2880, 512, 0xa0daf283
0, 449280, 449280, 2880, 512, 0x6c33f746
0, 452160, 452160, 2880, 512, 0x38cff4c4
0, 455040, 455040, 2880, 512, 0xe84cf3fe
0, 457920, 457920, 2880, 512, 0x1a4cfda0
0, 460800, 460800, 2880, 512, 0x5590f98b
0, 463680, 463680, 2880, 512, 0xbf90f59b
0, 466560, 466560, 2880, 512, 0x3f14f53c
0, 469440, 469440, 2880, 512, 0x12c2ef31
0, 472320, 472320, 2880, 512, 0xd743f1b0
0, 475200, 475200, 2880, 512, 0x0ee4f04e
0, 478080, 478080, 2880, 512, 0x0c26f820
0, 480960, 480960, 2880, 512, 0x4049eb94
0, 483840, 483840, 2880, 512, 0x89f5f9a2
0, 486720, 486720, 2880, 512, 0x17d6f6b0
0, 489600, 489600, 2880, 512, 0x4d2bf5ae
0, 492480, 492480, 2880, 512, 0x2c20f897
0, 495360, 495360, 2880, 512, 0xe544f11f
0, 498240, 498240, 2880, 512, 0xcaa8f65c
0, 501120, 501120, 2880, 512, 0x1fe6f579
0, 504000, 504000, 2880, 512, 0x0e85f278
0, 506880, 506880, 2880, 512, 0x8eddf38c
0, 509760, 509760, 2880, 512, 0x1ea0f289
0, 512640, 512640, 2880, 512, 0xd76b0034
0, 515520, 515520, 2880, 512, 0xbe49f9d1
0, 518400, 518400, 2880, 512, 0xdc3dfded
0, 521280, 521280, 2880, 512, 0x8143f179
0, 524160, 524160, 2880, 512, 0x6af6f624
0, 527040, 527040, 2880, 512, 0x638cf7c9
0, 529920, 529920, 2880, 512, 0xe1e7f4f1
0, 532800, 532800, 2880, 512, 0xcfbdefd2
0, 535680, 535680, 2880, 512, 0xae49ecfe
0, 538560, 538560, 2880, 512, 0xdfc8ed5f
0, 541440, 541440, 2880, 512, 0xedd9f0b0
0, 544320, 544320, 2880, 512, 0xc192f77b
0, 547200, 547200, 2880, 512, 0x88330350
0, 550080, 550080, 2880, 512, 0x589cfdcc
0, 552960, 552960, 2880, 512, 0x722afae6
0, 555840, 555840, 2880, 512, 0x5ab9f3cf
0, 558720, 558720, 2880, 512, 0x2dc20161
0, 561600, 561600, 2880, 512, 0x5117f4e7
0, 564480, 564480, 2880, 512, 0xaa010049
0, 567360, 567360, 2880, 512, 0xb5fcf73e
0, 570240, 570240, 2880, 512, 0x66afe3ef
0, 573120, 573120, 2880, 512, 0x3d7bf815
0, 576000, 576000, 2880, 512, 0x6895ea7c
0, 578880, 578880, 2880, 512, 0x26bbf14e
0, 581760, 581760, 2880, 512, 0x5856ed50
0, 584640, 584640, 2880, 512, 0x86e4eb6d
0, 587520, 587520, 2880, 512, 0xf68dfbf7
0, 590400, 590400, 2880, 512, 0x201ff70d
0, 593280, 593280, 2880, 512, 0xdd15e87a
0, 596160, 596160, 2880, 512, 0x50e8fa44
0, 599040, 599040, 2880, 512, 0x1442f398
0, 601920, 601920, 2880, 512, 0xe2e9f40b
0, 604800, 604800, 2880, 512, 0xcbfdf354
0, 607680, 607680, 2880, 512, 0x631100f3
0, 610560, 610560, 2880, 512, 0x3aa6f9ea
0, 613440, 613440, 2880, 512, 0xb6c5f5e6
0, 616320, 616320, 2880, 512, 0xe98df623
0, 619200, 619200, 2880, 512, 0x449dfb59
0, 622080, 622080, 2880, 512, 0x4faefbb6
0, 624960, 624960, 2880, 512, 0xcef1eb38
0, 627840, 627840, 2880, 512, 0x94fcfcf5
0, 630720, 630720, 2880, 512, 0x2bcaf97f
0, 633600, 633600, 2880, 512, 0xba8af49c
0, 636480, 636480, 2880, 512, 0xad64fc39
0, 639360, 639360, 2880, 512, 0xb2a2f9fe
0, 642240, 642240, 2880, 512, 0xc96105a3
0, 645120, 645120, 2880, 512, 0x20c2f7ca
0, 648000, 648000, 2880, 512, 0x5ccdfa46
0, 650880, 650880, 2880, 512, 0x95eef21c
0, 653760, 653760, 2880, 512, 0xafa9fad1
0, 656640, 656640, 2880, 512, 0x3134f5cd
0, 659520, 659520, 2880, 512, 0xbb08f702
0, 662400, 662400, 2880, 512, 0x2829f1a0
0, 665280, 665280, 2880, 512, 0x1a16fe88
0, 668160, 668160, 2880, 512, 0x6d87f5cd
0, 671040, 671040, 2880, 512, 0x8170f89a
0, 673920, 673920, 2880, 512, 0xc99df656
0, 676800, 676800, 2880, 512, 0x2015f2f0
0, 679680, 679680, 2880, 512, 0x093df67d
0, 682560, 682560, 2880, 512, 0xaa35ee1a
0, 685440, 685440, 2880, 512, 0xc6caee7e
0, 688320, 688320, 2880, 512, 0xc97bf536
0, 691200, 691200, 2880, 512, 0x7a37f73b
0, 694080, 694080, 2880, 512, 0xa2cdee4d
0, 696960, 696960, 2880, 512, 0xefd5016c
0, 699840, 699840, 2880, 512, 0x562ef6da
0, 702720, 702720, 2880, 512, 0x4203f1ed
0, 705600, 705600, 2880, 512, 0x5ec7f7f0
0, 708480, 708480, 2880, 512, 0x156ff026
0, 711360, 711360, 2880, 512, 0xcba8fc0a
0, 714240, 714240, 2880, 512, 0x420b03c3
0, 717120, 717120, 2880, 512, 0x37f0f2be
0, 720000, 720000, 2880, 512, 0x35d0fc17
0, 722880, 722880, 2880, 512, 0x1d30f537
0, 725760, 725760, 2880, 512, 0x5a84e506
0, 728640, 728640, 2880, 512, 0x2fd8eba5
0, 731520, 731520, 2880, 512, 0x3271f624
0, 734400, 734400, 2880, 512, 0xdcc4ea3b
0, 737280, 737280, 2880, 512, 0x0d76ee13
0, 740160, 740160, 2880, 512, 0xba46f2a5
0, 743040, 743040, 2880, 512, 0xb1540424
0, 745920, 745920, 2880, 512, 0x0c88fae6
0, 748800, 748800, 2880, 512, 0xe879f89b
0, 751680, 751680, 2880, 512, 0xae96f934
0, 754560, 754560, 2880, 512, 0xc17405ec
0, 757440, 757440, 2880, 512, 0x95b8f486
0, 760320, 760320, 2880, 512, 0x03bbf5a9
0, 763200, 763200, 2880, 512, 0x63eaf8d6
0, 766080, 766080, 2880, 512, 0x7a6bfa96
0, 768960, 768960, 2880, 512, 0x2eabee80
0, 771840, 771840, 2880, 512, 0x8693f3c1
0, 774720, 774720, 2880, 512, 0xc8b6f42a
0, 777600, 777600, 2880, 512, 0x9b5bf344
0, 780480, 780480, 2880, 512, 0xda81f513
0, 783360, 783360, 2880, 512, 0x4789fa4d
0, 786240, 786240, 2880, 512, 0xe70aed30
0, 789120, 789120, 2880, 512, 0x0e51f579
0, 792000, 792000, 2880, 512, 0x171503c9
0, 794880, 794880, 2880, 512, 0xc965f98c
0, 797760, 797760, 2880, 512, 0x816ef627
0, 800640, 800640, 2880, 512, 0x441ceb6c
0, 803520, 803520, 2880, 512, 0xedbcf1e5
0, 806400, 806400, 2880, 512, 0x1168fec7
0, 809280, 809280, 2880, 512, 0x488afa1e
0, 812160, 812160, 2880, 512, 0x6d1dec39
0, 815040, 815040, 2880, 512, 0x54c7f611
0, 817920, 817920, 2880, 512, 0x0803eae6
0, 820800, 820800, 2880, 512, 0xcd85eb6d
0, 823680, 823680, 2880, 512, 0x3f920034
0, 826560, 826560, 2880, 512, 0x4b55ea47
0, 829440, 829440, 2880, 512, 0xdfd7f681
0, 832320, 832320, 2880, 512, 0x20ccef96
0, 835200, 835200, 2880, 512, 0x122cf656
0, 838080, 838080, 2880, 512, 0xe38fef19
0, 840960, 840960, 2880, 512, 0xa11ff565
0, 843840, 843840, 2880, 512, 0x931cf83e
0, 846720, 846720, 2880, 512, 0xb854010c
0, 849600, 849600, 2880, 512, 0xf607f233
0, 852480, 852480, 2880, 512, 0xfd9de7e9
0, 855360, 855360, 2880, 512, 0xe401fa53
0, 858240, 858240, 2880, 512, 0x15aef9f2
0, 861120, 861120, 2880, 512, 0x0071f50e
0, 864000, 864000, 2880, 512, 0xa3c7f029
0, 866880, 866880, 2880, 512, 0x9b73ed64
0, 869760, 869760, 2880, 512, 0x0087fbea
0, 872640, 872640, 2880, 512, 0x9871effb
0, 875520, 875520, 2880, 512, 0x0e36ebe3
0, 878400, 878400, 2880, 512, 0x982e015e
0, 881280, 881280, 2880, 512, 0xca67f667
0, 884160, 884160, 2880, 512, 0xc504fd51
0, 887040, 887040, 2880, 512, 0xf5c7f167
0, 889920, 889920, 2880, 512, 0x75aaece8
0, 892800, 892800, 2880, 512, 0x288effcf
0, 895680, 895680, 2880, 512, 0xb640f057
0, 898560, 898560, 2880, 512, 0xbb7cf4a9
0, 901440, 901440, 2880, 512, 0xccf200d6
0, 904320, 904320, 2880, 512, 0x1a00f229
0, 907200, 907200, 2880, 512, 0xa95bf1be
0, 910080, 910080, 2880, 512, 0x3c1af28d
0, 912960, 912960, 2880, 512, 0x11d1ef54
0, 915840, 915840, 2880, 512, 0xf9ae02aa
0, 918720, 918720, 2880, 512, 0x4476ee68
0, 921600, 921600, 2880, 512, 0x7f43eb80
0, 924480, 924480, 2880, 512, 0x245af906
0, 927360, 927360, 2880, 512, 0xbb06f0a8
0, 930240, 930240, 2880, 512, 0xe51bf461
0, 933120, 933120, 2880, 512, 0xd767f7fd
0, 936000, 936000, 2880, 512, 0xd517f1ca
0, 938880, 938880, 2880, 512, 0x3311eb45
0, 941760, 941760, 2880, 512, 0xee0ef61e
0, 944640, 944640, 2880, 512, 0x9e7cfe9b
0, 947520, 947520, 2880, 512, 0x353ef03a
0, 950400, 950400, 2880, 512, 0x92f6fcfa
0, 953280, 953280, 2880, 512, 0xe458f3d0
0, 956160, 956160, 2880, 512, 0xebf3f8af
0, 959040, 959040, 2880, 512, 0xc0f6f981
0, 961920, 961920, 2880, 512, 0x3e31fb6c
0, 964800, 964800, 2880, 512, 0xd679031b
0, 967680, 967680, 2880, 512, 0x6571f361
0, 970560, 970560, 2880, 512, 0xf410f507
0, 973440, 973440, 2880, 512, 0x2217f817
0, 976320, 976320, 2880, 512, 0xaa53f6ee
0, 979200, 979200, 2880, 512, 0xa574fa14
0, 982080, 982080, 2880, 512, 0xcd7ff09d
0, 984960, 984960, 2880, 512, 0xa650f7d6
0, 987840, 987840, 2880, 512, 0x6b4ff467
0, 990720, 990720, 2880, 512, 0x9355f3cb
0, 993600, 993600, 2880, 512, 0x7546eb8b
0, 996480, 996480, 2880, 512, 0x4ac6f4c8
0, 999360, 999360, 2880, 512, 0xcf69f62c
0, 1002240, 1002240, 2880, 512, 0x93a0e35d
0, 1005120, 1005120, 2880, 512, 0x60c5f0f5
0, 1008000, 1008000, 2880, 512, 0x75a4fb42
0, 1010880, 1010880, 2880, 512, 0x2615ff1f
0, 1013760, 1013760, 2880, 512, 0xb95df9a2
0, 1016640, 1016640, 2880, 512, 0xb8c5fafb
0, 1019520, 1019520, 2880, 512, 0x3465fd2b
0, 1022400, 1022400, 2880, 512, 0xa758f489
0, 1025280, 1025280, 2880, 512, 0xe4bafd7f
0, 1028160, 1028160, 2880, 512, 0xfa45f603
0, 1031040, 1031040, 2880, 512, 0x875b04f1
0, 1033920, 1033920, 2880, 512, 0x171bf602
0, 1036800, 1036800, 2880, 512, 0x557cf2fd
0, 1039680, 1039680, 2880, 512, 0x3a4303c0
0, 1042560, 1042560, 2880, 512, 0xbd0feef3
0, 1045440, 1045440, 2880, 512, 0x3ca3ed7f
0, 1048320, 1048320, 2880, 512, 0x4a4bf0b3
0, 1051200, 1051200, 2880, 512, 0xdef5f4a3
0, 1054080, 1054080, 2880, 512, 0x96a7f939
0, 1056960, 1056960, 2880, 512, 0x3dc4f2fb
0, 1059840, 1059840, 2880, 512, 0xa323ec80
0, 1062720, 1062720, 2880, 512, 0x8b49eebf
0, 1065600, 1065600, 2880, 512, 0xb4a3f983
0, 1068480, 1068480, 2880, 512, 0x5a61ecf5
0, 1071360, 1071360, 2880, 512, 0x10b0dbda
0, 1074240, 1074240, 2880, 512, 0x4836f474
0, 1077120, 1077120, 2880, 512, 0xe6f1ee87
0, 1080000, 1080000, 2880, 512, 0x1e1bf474
0, 1082880, 1082880, 2880, 512, 0xe25bf263
0, 1085760, 1085760, 2880, 512, 0x29a9f348
0, 1088640, 1088640, 2880, 512, 0x8cf6f85d
0, 1091520, 1091520, 2880, 512, 0x3690f40a
0, 1094400, 1094400, 2880, 512, 0x072dfcb5
0, 1097280, 1097280, 2880, 512, 0x9611f8c7
0, 1100160, 1100160, 2880, 512, 0x3ee7f622
0, 1103040, 1103040, 2880, 512, 0xdb37f787
0, 1105920, 1105920, 2880, 512, 0xc09bf2e3
0, 1108800, 1108800, 2880, 512, 0xae37f9ea
0, 1111680, 1111680, 2880, 512, 0x2764f6b0
0, 1114560, 1114560, 2880, 512, 0x871be490
0, 1117440, 1117440, 2880, 512, 0x2e7cefca
0, 1120320, 1120320, 2880, 512, 0x000dece5
0, 1123200, 1123200, 2880, 512, 0xbe9bea16
0, 1126080, 1126080, 2880, 512, 0x202cf37c
0, 1128960, 1128960, 2880, 512, 0xae02fa29
0, 1131840, 1131840, 2880, 512, 0x5eb4efc9
0, 1134720, 1134720, 2880, 512, 0x7a82ffce
0, 1137600, 1137600, 2880, 512, 0x4c0fefb2
0, 1140480, 1140480, 2880, 512, 0x0d55fd52
0, 1143360, 1143360, 2880, 512, 0x00c8f568
0, 1146240, 1146240, 2880, 512, 0x9d9ef306
0, 1149120, 1149120, 2880, 512, 0x53bbf79c
0, 1152000, 1152000, 2880, 512, 0xf1fbf3f4
0, 1154880, 1154880, 2880, 512, 0x0ae0ed0b
0, 1157760, 1157760, 2880, 512, 0x3374ffc1
0, 1160640, 1160640, 2880, 512, 0xbba1f546
0, 1163520, 1163520, 2880, 512, 0xaffeee35
0, 1166400, 1166400, 2880, 512, 0x81dff38d
0, 1169280, 1169280, 2880, 512, 0x29edeafb
0, 1172160, 1172160, 2880, 512, 0x406fecbe
0, 1175040, 1175040, 2880, 512, 0xee28f8dc
0, 1177920, 1177920, 2880, 512, 0x4b1af28a
0, 1180800, 1180800, 2880, 512, 0x83ab0058
0, 1183680, 1183680, 2880, 512, 0x25d0f735
0, 1186560, 1186560, 2880, 512, 0xec5ff319
0, 1189440, 1189440, 2880, 512, 0x1723f121
0, 1192320, 1192320, 2880, 512, 0x266cedd8
0, 1195200, 1195200, 2880, 512, 0x15b1031a
0, 1198080, 1198080, 2880, 512, 0x4a83f6b6
0, 1200960, 1200960, 2880, 512, 0x8cd1fb9f
0, 1203840, 1203840, 2880, 512, 0x76f4f696
0, 1206720, 1206720, 2880, 512, 0x9c04fa16
0, 1209600, 1209600, 2880, 512, 0x5d1600ce
0, 1212480, 1212480, 2880, 512, 0x40d9f905
0, 1215360, 1215360, 2880, 512, 0xb9eef26c
0, 1218240, 1218240, 2880, 512, 0x5557ed03
0, 1221120, 1221120, 2880, 512, 0xa3b0f348
0, 1224000, 1224000, 2880, 512, 0xac9ffa65
0, 1226880, 1226880, 2880, 512, 0xbb49fcf1
0, 1229760, 1229760, 2880, 512, 0xc324f4da
0, 1232640, 1232640, 2880, 512, 0xe9d2e875
0, 1235520, 1235520, 2880, 512, 0x822cef30
0, 1238400, 1238400, 2880, 512, 0x56f6f7a8
0, 1241280, 1241280, 2880, 512, 0xf82cf718
0, 1244160, 1244160, 2880, 512, 0xb75bfaa1
0, 1247040, 1247040, 2880, 512, 0xdd4dfed6
0, 1249920, 1249920, 2880, 512, 0x4392f531
0, 1252800, 1252800, 2880, 512, 0xf50cf9fa
0, 1255680, 1255680, 2880, 512, 0x1181ead9
0, 1258560, 1258560, 2880, 512, 0x4925fb83
0, 1261440, 1261440, 2880, 512, 0x53a7faf8
0, 1264320, 1264320, 2880, 512, 0x0042f4f9
0, 1267200, 1267200, 2880, 512, 0x0ed8fa2c
0, 1270080, 1270080, 2880, 512, 0x9a1ef892
0, 1272960, 1272960, 2880, 512, 0x4b35ee26
0, 1275840, 1275840, 2880, 512, 0x6596fc07
0, 1278720, 1278720, 2880, 512, 0xd3fcf908
0, 1281600, 1281600, 2880, 512, 0x4f3ce991
0, 1284480, 1284480, 2880, 512, 0xd8f7fc2a
0, 1287360, 1287360, 2880, 512, 0x3dd4f26c
0, 1290240, 1290240, 2880, 512, 0x4f49fc77
0, 1293120, 1293120, 2880, 512, 0x3e08e521
0, 1296000, 1296000, 2880, 512, 0xd180f348
0, 1298880, 1298880, 2880, 512, 0xebeaf520
0, 1301760, 1301760, 2880, 512, 0xed06f763
0, 1304640, 1304640, 2880, 512, 0x9766ef09
0, 1307520, 1307520, 2880, 512, 0xc4a6fc00
0, 1310400, 1310400, 2880, 512, 0x5547f0ae
0, 1313280, 1313280, 2880, 512, 0x300cf213
0, 1316160, 1316160, 2880, 512, 0x35ba0678
0, 1319040, 1319040, 2880, 512, 0xa8baf485
0, 1321920, 1321920, 2880, 512, 0xc0cbe8e8
0, 1324800, 1324800, 2880, 512, 0x081aeed1
0, 1327680, 1327680, 2880, 512, 0x2017ec33
0, 1330560, 1330560, 2880, 512, 0x8739f958
0, 1333440, 1333440, 2880, 512, 0xb797f52e
0, 1336320, 1336320, 2880, 512, 0x818afdf2
0, 1339200, 1339200, 2880, 512, 0xbbabf0fe
0, 1342080, 1342080, 2880, 512, 0x843600db
0, 1344960, 1344960, 2880, 512, 0x610b02c9
0, 1347840, 1347840, 2880, 512, 0x0bf8edfe
0, 1350720, 1350720, 2880, 512, 0x9310edea
0, 1353600, 1353600, 2880, 512, 0x08c2f355
0, 1356480, 1356480, 2880, 512, 0x1b23f44c
0, 1359360, 1359360, 2880, 512, 0x4be9f384
0, 1362240, 1362240, 2880, 512, 0x5fbef21d
0, 1365120, 1365120, 2880, 512, 0x7412ef5e
0, 1368000, 1368000, 2880, 512, 0x9ae7f608
0, 1370880, 1370880, 2880, 512, 0x0f41f270
0, 1373760, 1373760, 2880, 512, 0x42c1f982
0, 1376640, 1376640, 2880, 512, 0x4538f04b
0, 1379520, 1379520, 2880, 512, 0x09baf2e1
0, 1382400, 1382400, 2880, 512, 0xed8ff3ba
0, 1385280, 1385280, 2880, 512, 0xb110f516
0, 1388160, 1388160, 2880, 512, 0x3837f06a
0, 1391040, 1391040, 2880, 512, 0x54aef484
0, 1393920, 1393920, 2880, 512, 0xb047f61d
0, 1396800, 1396800, 2880, 512, 0xdff4fb98
0, 1399680, 1399680, 2880, 512, 0x9da60009
0, 1402560, 1402560, 2880, 512, 0x7bb6f236
0, 1405440, 1405440, 2880, 512, 0x9f96ea0e
0, 1408320, 1408320, 2880, 512, 0xc5adf19a
0, 1411200, 1411200, 2880, 512, 0x2e9cf6f8
0, 1414080, 1414080, 2880, 512, 0xada8fadc
0, 1416960, 1416960, 2880, 512, 0x100a07fd
0, 1419840, 1419840, 2880, 512, 0xa26af433
0, 1422720, 1422720, 2880, 512, 0xc82cf15e
0, 1425600, 1425600, 2880, 512, 0x7f88f10d
0, 1428480, 1428480, 2880, 512, 0x776df377
0, 1431360, 1431360, 2880, 512, 0x30b0f60d
0, 1434240, 1434240, 2880, 512, 0xcecbf9a3
0, 1437120, 1437120, 2880, 512, 0xffa8f5c2
0, 1440000, 1440000, 2880, 512, 0x9052e7cb
0, 1442880, 1442880, 2880, 512, 0x0048f2cc
0, 1445760, 1445760, 2880, 512, 0xc8fff912
0, 1448640, 1448640, 2880, 512, 0xf22debb8
0, 1451520, 1451520, 2880, 512, 0x7b4beb82
0, 1454400, 1454400, 2880, 512, 0x428ff33e
0, 1457280, 1457280, 2880, 512, 0xb3c1f426
0, 1460160, 1460160, 2880, 512, 0xb08af561
0, 1463040, 1463040, 2880, 512, 0xaf62ee68
0, 1465920, 1465920, 2880, 512, 0xdb25f226
0, 1468800, 1468800, 2880, 512, 0xa577f9d5
0, 1471680, 1471680, 2880, 512, 0xd21af205
0, 1474560, 1474560, 2880, 512, 0x8734f052
0, 1477440, 1477440, 2880, 512, 0xcb0bf009
0, 1480320, 1480320, 2880, 512, 0xde0bf8a7
0, 1483200, 1483200, 2880, 512, 0x9fbefd0d
0, 1486080, 1486080, 2880, 512, 0xc329ee26
0, 1488960, 1488960, 2880, 512, 0xfc6007a0
0, 1491840, 1491840, 2880, 512, 0x6782004b
0, 1494720, 1494720, 2880, 512, 0x4adbf43c
0, 1497600, 1497600, 2880, 512, 0x5b85f198
0, 1500480, 1500480, 2880, 512, 0x1576fbfe
0, 1503360, 1503360, 2880, 512, 0x62ebf217
0, 1506240, 1506240, 2880, 512, 0xd8a9f5fe
0, 1509120, 1509120, 2880, 512, 0x3270f500
0, 1512000, 1512000, 2880, 512, 0x99e9eca2
0, 1514880, 1514880, 2880, 512, 0x0d3c02c9
0, 1517760, 1517760, 2880, 512, 0x8769f484
0, 1520640, 1520640, 2880, 512, 0xd6cef92a
0, 1523520, 1523520, 2880, 512, 0x9150f4b7
0, 1526400, 1526400, 2880, 512, 0x760d00ce
0, 1529280, 1529280, 2880, 512, 0xc595f17d
0, 1532160, 1532160, 2880, 512, 0x3720fd55
0, 1535040, 1535040, 2880, 512, 0x28e5f02b
0, 1537920, 1537920, 2880, 512, 0x9e87f7bd
0, 1540800, 1540800, 2880, 512, 0x4571fe9a
0, 1543680, 1543680, 2880, 512, 0xbf06f83f
0, 1546560, 1546560, 2880, 512, 0xb6bff67e
0, 1549440, 1549440, 2880, 512, 0x582cfa1b
0, 1552320, 1552320, 2880, 512, 0x9277f53b
0, 1555200, 1555200, 2880, 512, 0xd541fa0e
0, 1558080, 1558080, 2880, 512, 0xb9f7f791
0, 1560960, 1560960, 2880, 512, 0xb5ccf6d3
0, 1563840, 1563840, 2880, 512, 0xb03ef2a1
0, 1566720, 1566720, 2880, 512, 0x6970fb11
0, 1569600, 1569600, 2880, 512, 0x478df6bd
0, 1572480, 1572480, 2880, 512, 0x7ce4eff2
0, 1575360, 1575360, 2880, 512, 0x5f8af8bb
0, 1578240, 1578240, 2880, 512, 0xa990f10c
0, 1581120, 1581120, 2880, 512, 0x0b5e0603
0, 1584000, 1584000, 2880, 512, 0x5f5ff667
0, 1586880, 1586880, 2880, 512, 0xf3f1f7e5
0, 1589760, 1589760, 2880, 512, 0xb7b1f92c
0, 1592640, 1592640, 2880, 512, 0x5c5afc2d
0, 1595520, 1595520, 2880, 512, 0xc389ecc8
0, 1598400, 1598400, 2880, 512, 0x86edf4a8
0, 1601280, 1601280, 2880, 512, 0x31cfeba8
0, 1604160, 1604160, 2880, 512, 0xea9cf360
0, 1607040, 1607040, 2880, 512, 0xbc04f016
0, 1609920, 1609920, 2880, 512, 0x6617ed55
0, 1612800, 1612800, 2880, 512, 0xe20afad2
0, 1615680, 1615680, 2880, 512, 0x4706f61a
0, 1618560, 1618560, 2880, 512, 0xa6a8fd93
0, 1621440, 1621440, 2880, 512, 0x9655e7ae
0, 1624320, 1624320, 2880, 512, 0x0ac2f354
0, 1627200, 1627200, 2880, 512, 0x62e2f89a
0, 1630080, 1630080, 2880, 512, 0x35baf1cb
0, 1632960, 1632960, 2880, 512, 0xc02ff90e
0, 1635840, 1635840, 2880, 512, 0xf3f8f24b
0, 1638720, 1638720, 2880, 512, 0x10b9ebd6
0, 1641600, 1641600, 2880, 512, 0x0482084b
0, 1644480, 1644480, 2880, 512, 0xc14cee2e
0, 1647360, 1647360, 2880, 512, 0x21ddf5ea
0, 1650240, 1650240, 2880, 512, 0x8090f51f
0, 1653120, 1653120, 2880, 512, 0x6496ed68
0, 1656000, 1656000, 2880, 512, 0x4bb3fa69
0, 1658880, 1658880, 2880, 512, 0x1e18e8d7
0, 1661760, 1661760, 2880, 512, 0xb758fa60
0, 1664640, 1664640, 2880, 512, 0xa5c6f671
0, 1667520, 1667520, 2880, 512, 0x6dbcf15e
0, 1670400, 1670400, 2880, 512, 0x56c4f227
0, 1673280, 1673280, 2880, 512, 0x17280149
0, 1676160, 1676160, 2880, 512, 0x8c57f584
0, 1679040, 1679040, 2880, 512, 0x518ef2b4
0, 1681920, 1681920, 2880, 512, 0x8a69ebe6
0, 1684800, 1684800, 2880, 512, 0xf954e97c
0, 1687680, 1687680, 2880, 512, 0x62e1f8db
0, 1690560, 1690560, 2880, 512, 0x637af9fa
0, 1693440, 1693440, 2880, 512, 0xecbcf846
0, 1696320, 1696320, 2880, 512, 0x2481ecac
0, 1699200, 1699200, 2880, 512, 0x7d3cf940
0, 1702080, 1702080, 2880, 512, 0x4823efc4
0, 1704960, 1704960, 2880, 512, 0x31d5f1ca
0, 1707840, 1707840, 2880, 512, 0x3024f40f
0, 1710720, 1710720, 2880, 512, 0xf172f644
0, 1713600, 1713600, 2880, 512, 0x2502f1b9
0, 1716480, 1716480, 2880, 512, 0x9ee8f50b
0, 1719360, 1719360, 2880, 512, 0x0605fcc0
0, 1722240, 1722240, 2880, 512, 0xf202f11d
0, 1725120, 1725120, 2880, 512, 0x449df7a2
0, 1728000, 1728000, 2880, 512, 0x16e8f468
0, 1730880, 1730880, 2880, 512, 0xceeafba5
0, 1733760, 1733760, 2880, 512, 0xc8410340
0, 1736640, 1736640, 2880, 512, 0xc0e5fe5a
0, 1739520, 1739520, 2880, 512, 0x60cafeb7
0, 1742400, 1742400, 2880, 512, 0x8277fb6a
0, 1745280, 1745280, 2880, 512, 0xa77dfac9
0, 1748160, 1748160, 2880, 512, 0x7b2bf1d1
0, 1751040, 1751040, 2880, 512, 0x63aafabd
0, 1753920, 1753920, 2880, 512, 0xf56cf575
0, 1756800, 1756800, 2880, 512, 0x2048f966
0, 1759680, 1759680, 2880, 512, 0x392b0c6a
0, 1762560, 1762560, 2880, 512, 0x7d87f244
0, 1765440, 1765440, 2880, 512, 0xecbcfedc
0, 1768320, 1768320, 2880, 512, 0x4780f2ef
0, 1771200, 1771200, 2880, 512, 0x1a28f8ff
0, 1774080, 1774080, 2880, 512, 0xda51fcc5
0, 1776960, 1776960, 2880, 512, 0x7009f7ff
0, 1779840, 1779840, 2880, 512, 0x1e5af6a2
0, 1782720, 1782720, 2880, 512, 0xcb83e8c3
0, 1785600, 1785600, 2880, 512, 0x2cbbe8ae
0, 1788480, 1788480, 2880, 512, 0x5cc0ebbd
0, 1791360, 1791360, 2880, 512, 0x5e13f33b
0, 1794240, 1794240, 2880, 512, 0x2ef1ef3d
0, 1797120, 1797120, 2880, 512, 0x4aaef05f
0, 1800000, 1800000, 2880, 512, 0xf6adf321
0, 1802880, 1802880, 2880, 512, 0x0041e985
0, 1805760, 1805760, 2880, 512, 0x4539eb83
0, 1808640, 1808640, 2880, 512, 0xa642f144
0, 1811520, 1811520, 2880, 512, 0xf58dfb44
0, 1814400, 1814400, 2880, 512, 0xcdf2f3b2
0, 1817280, 1817280, 2880, 512, 0xebd9f1d4
0, 1820160, 1820160, 2880, 512, 0xf39afcca
0, 1823040, 1823040, 2880, 512, 0x4392fb8e
0, 1825920, 1825920, 2880, 512, 0xe23df8bb
0, 1828800, 1828800, 2880, 512, 0xdedaf23a
0, 1831680, 1831680, 2880, 512, 0x1c46f7bc
0, 1834560, 1834560, 2880, 512, 0x47e0f873
0, 1837440, 1837440, 2880, 512, 0x5e55eb42
0, 1840320, 1840320, 2880, 512, 0x5f08f8a0
0, 1843200, 1843200, 2880, 512, 0xf391f9f8
0, 1846080, 1846080, 2880, 512, 0x3d4afcd1
0, 1848960, 1848960, 2880, 512, 0x07b8f3d4
0, 1851840, 1851840, 2880, 512, 0xa7cdfea4
0, 1854720, 1854720, 2880, 512, 0x4072ffda
0, 1857600, 1857600, 2880, 512, 0xe96df73f
0, 1860480, 1860480, 2880, 512, 0x6170f3a3
0, 1863360, 1863360, 2880, 512, 0x743cf509
0, 1866240, 1866240, 2880, 512, 0x3525fe8e
0, 1869120, 1869120, 2880, 512, 0xd345ed02
0, 1872000, 1872000, 2880, 512, 0x3c15f37f
0, 1874880, 1874880, 2880, 512, 0x9df1facd