diff mbox series

[FFmpeg-devel] lavf/spdifdec: support EAC3

Message ID 20230111024908.73026-1-rcombs@rcombs.me
State Accepted
Commit d3538dd293125e0a8d135ffe229c8b441345d833
Headers show
Series [FFmpeg-devel] lavf/spdifdec: support EAC3 | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

rcombs Jan. 11, 2023, 2:49 a.m. UTC
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.
---
 libavformat/spdifdec.c          |  19 +-
 tests/fate/spdif.mak            |   3 +
 tests/ref/fate/spdif-eac3-remux | 659 ++++++++++++++++++++++++++++++++
 3 files changed, 680 insertions(+), 1 deletion(-)
 create mode 100644 tests/ref/fate/spdif-eac3-remux

Comments

Aman Karmani Jan. 13, 2023, 5:08 p.m. UTC | #1
On Tue, Jan 10, 2023 at 6:49 PM rcombs <rcombs@rcombs.me> wrote:

> 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.
> ---
>  libavformat/spdifdec.c          |  19 +-
>  tests/fate/spdif.mak            |   3 +
>  tests/ref/fate/spdif-eac3-remux | 659 ++++++++++++++++++++++++++++++++
>  3 files changed, 680 insertions(+), 1 deletion(-)
>  create mode 100644 tests/ref/fate/spdif-eac3-remux
>

LGTM


>
> diff --git a/libavformat/spdifdec.c b/libavformat/spdifdec.c
> index 672133581a..7a6b77aae8 100644
> --- a/libavformat/spdifdec.c
> +++ b/libavformat/spdifdec.c
> @@ -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;
> diff --git a/tests/fate/spdif.mak b/tests/fate/spdif.mak
> index 093b8138e8..85627b2241 100644
> --- a/tests/fate/spdif.mak
> +++ b/tests/fate/spdif.mak
> @@ -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
>
> diff --git a/tests/ref/fate/spdif-eac3-remux
> b/tests/ref/fate/spdif-eac3-remux
> new file mode 100644
> index 0000000000..43399fefba
> --- /dev/null
> +++ b/tests/ref/fate/spdif-eac3-remux
> @@ -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
> --
> 2.38.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

diff --git a/libavformat/spdifdec.c b/libavformat/spdifdec.c
index 672133581a..7a6b77aae8 100644
--- a/libavformat/spdifdec.c
+++ b/libavformat/spdifdec.c
@@ -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;
diff --git a/tests/fate/spdif.mak b/tests/fate/spdif.mak
index 093b8138e8..85627b2241 100644
--- a/tests/fate/spdif.mak
+++ b/tests/fate/spdif.mak
@@ -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
 
diff --git a/tests/ref/fate/spdif-eac3-remux b/tests/ref/fate/spdif-eac3-remux
new file mode 100644
index 0000000000..43399fefba
--- /dev/null
+++ b/tests/ref/fate/spdif-eac3-remux
@@ -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