adpcm: improve smjpeg decoding

Previous version had significant artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2012-11-07 03:22:27 +00:00
parent a373f35272
commit 08101e62cb
2 changed files with 370 additions and 368 deletions

View File

@ -1136,16 +1136,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
}
break;
case AV_CODEC_ID_ADPCM_IMA_AMV:
case AV_CODEC_ID_ADPCM_IMA_SMJPEG:
if (avctx->codec->id == AV_CODEC_ID_ADPCM_IMA_AMV) {
c->status[0].predictor = sign_extend(bytestream2_get_le16u(&gb), 16);
c->status[0].step_index = bytestream2_get_le16u(&gb);
bytestream2_skipu(&gb, 4);
} else {
c->status[0].predictor = sign_extend(bytestream2_get_be16u(&gb), 16);
c->status[0].step_index = bytestream2_get_byteu(&gb);
bytestream2_skipu(&gb, 1);
}
c->status[0].predictor = sign_extend(bytestream2_get_le16u(&gb), 16);
c->status[0].step_index = bytestream2_get_le16u(&gb);
bytestream2_skipu(&gb, 4);
if (c->status[0].step_index > 88u) {
av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n",
c->status[0].step_index);
@ -1153,18 +1146,27 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
}
for (n = nb_samples >> (1 - st); n > 0; n--) {
int hi, lo, v = bytestream2_get_byteu(&gb);
int v = bytestream2_get_byteu(&gb);
if (avctx->codec->id == AV_CODEC_ID_ADPCM_IMA_AMV) {
hi = v & 0x0F;
lo = v >> 4;
} else {
lo = v & 0x0F;
hi = v >> 4;
}
*samples++ = adpcm_ima_expand_nibble(&c->status[0], v >> 4, 3);
*samples++ = adpcm_ima_expand_nibble(&c->status[0], v & 0xf, 3);
}
break;
case AV_CODEC_ID_ADPCM_IMA_SMJPEG:
c->status[0].predictor = sign_extend(bytestream2_get_be16u(&gb), 16);
c->status[0].step_index = bytestream2_get_byteu(&gb);
bytestream2_skipu(&gb, 1);
if (c->status[0].step_index > 88u) {
av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n",
c->status[0].step_index);
return AVERROR_INVALIDDATA;
}
*samples++ = adpcm_ima_expand_nibble(&c->status[0], lo, 3);
*samples++ = adpcm_ima_expand_nibble(&c->status[0], hi, 3);
for (n = nb_samples >> (1 - st); n > 0; n--) {
int v = bytestream2_get_byteu(&gb);
*samples++ = adpcm_ima_qt_expand_nibble(&c->status[0], v >> 4, 3);
*samples++ = adpcm_ima_qt_expand_nibble(&c->status[0], v & 0xf, 3);
}
break;
case AV_CODEC_ID_ADPCM_CT:

View File

@ -1,351 +1,351 @@
#tb 0: 1/22050
0, 0, 0, 512, 1024, 0x00000000
0, 512, 512, 512, 1024, 0x00000000
0, 1024, 1024, 512, 1024, 0xd89a448e
0, 1533, 1533, 512, 1024, 0x695b369c
0, 2040, 2040, 512, 1024, 0xc8ba5707
0, 2552, 2552, 512, 1024, 0xdf241fc6
0, 3064, 3064, 512, 1024, 0x61cf4166
0, 3576, 3576, 512, 1024, 0x97cbc386
0, 4088, 4088, 512, 1024, 0x44899d04
0, 4598, 4598, 512, 1024, 0xa7cbaa62
0, 5110, 5110, 512, 1024, 0xa7aea60c
0, 5622, 5622, 512, 1024, 0xd7b18a89
0, 6134, 6134, 512, 1024, 0x268e81f6
0, 6646, 6646, 512, 1024, 0x9cf83a2f
0, 7158, 7158, 512, 1024, 0x5559b508
0, 7670, 7670, 512, 1024, 0xe1b9e71c
0, 8182, 8182, 512, 1024, 0xdcee733e
0, 8694, 8694, 512, 1024, 0xe5918f60
0, 9206, 9206, 512, 1024, 0x29dbd209
0, 9718, 9718, 512, 1024, 0x9bcbcf16
0, 10230, 10230, 512, 1024, 0x86f5f458
0, 10742, 10742, 512, 1024, 0xabcbda86
0, 11254, 11254, 512, 1024, 0xc51f77b9
0, 11766, 11766, 512, 1024, 0xf6b3a504
0, 12278, 12278, 512, 1024, 0x1af3e40e
0, 12790, 12790, 512, 1024, 0x3866b03b
0, 13302, 13302, 512, 1024, 0xbc005403
0, 13814, 13814, 512, 1024, 0xe9dfcc51
0, 14326, 14326, 512, 1024, 0x83c837cb
0, 14838, 14838, 512, 1024, 0xfa649580
0, 15350, 15350, 512, 1024, 0x519452ea
0, 15862, 15862, 512, 1024, 0xd4978774
0, 16374, 16374, 512, 1024, 0xe2a3b1cd
0, 16886, 16886, 512, 1024, 0x9a9472ad
0, 17398, 17398, 512, 1024, 0xa12d4060
0, 17910, 17910, 512, 1024, 0x31fb0646
0, 18422, 18422, 512, 1024, 0xfc44343f
0, 18934, 18934, 512, 1024, 0x0847751a
0, 19446, 19446, 512, 1024, 0x227968a2
0, 19958, 19958, 512, 1024, 0x7cce9f1c
0, 20470, 20470, 512, 1024, 0xb8356713
0, 20982, 20982, 512, 1024, 0xb29f6e6f
0, 21494, 21494, 512, 1024, 0x9e1430ab
0, 22006, 22006, 512, 1024, 0x26d85423
0, 22518, 22518, 512, 1024, 0x6496547d
0, 23030, 23030, 512, 1024, 0x316b1a86
0, 23542, 23542, 512, 1024, 0x3cd83afc
0, 24054, 24054, 512, 1024, 0x993ff633
0, 24566, 24566, 512, 1024, 0x0708d1a2
0, 25078, 25078, 512, 1024, 0xd7230db9
0, 25590, 25590, 512, 1024, 0xbb0779ca
0, 26102, 26102, 512, 1024, 0xc6094e1b
0, 26614, 26614, 512, 1024, 0x15a8b039
0, 27126, 27126, 512, 1024, 0xd6dbe88c
0, 27638, 27638, 512, 1024, 0x7e8d1140
0, 28150, 28150, 512, 1024, 0xef88e525
0, 28662, 28662, 512, 1024, 0x44e21149
0, 29174, 29174, 512, 1024, 0x65b0f5f4
0, 29686, 29686, 512, 1024, 0xb955f687
0, 30198, 30198, 512, 1024, 0xc85fba9c
0, 30710, 30710, 512, 1024, 0xf59655ad
0, 31222, 31222, 512, 1024, 0x6de80bf1
0, 31734, 31734, 512, 1024, 0x2dcf6e41
0, 32246, 32246, 512, 1024, 0xd0ddcf8a
0, 32758, 32758, 512, 1024, 0x00135c2d
0, 33270, 33270, 512, 1024, 0x697f8efd
0, 33782, 33782, 512, 1024, 0x7a9bada5
0, 34294, 34294, 512, 1024, 0x0d22783c
0, 34806, 34806, 512, 1024, 0x7726d07d
0, 35318, 35318, 512, 1024, 0xa2f14f67
0, 35830, 35830, 512, 1024, 0x7f51060d
0, 36342, 36342, 512, 1024, 0xc4ec6aea
0, 36854, 36854, 512, 1024, 0x9bb37ca4
0, 37366, 37366, 512, 1024, 0x9b085577
0, 37878, 37878, 512, 1024, 0x8812f8af
0, 38390, 38390, 512, 1024, 0x788f5221
0, 38902, 38902, 512, 1024, 0x3a2ce642
0, 39414, 39414, 512, 1024, 0x72415692
0, 39926, 39926, 512, 1024, 0xe3dcc105
0, 40438, 40438, 512, 1024, 0xb26c0599
0, 40950, 40950, 512, 1024, 0x5c9e55eb
0, 41462, 41462, 512, 1024, 0x8fe88707
0, 41974, 41974, 512, 1024, 0xc5d7beb6
0, 42486, 42486, 512, 1024, 0xe1d3a3b4
0, 42998, 42998, 512, 1024, 0x012da0c6
0, 43510, 43510, 512, 1024, 0x8d010922
0, 44022, 44022, 512, 1024, 0x3366eb0d
0, 44534, 44534, 512, 1024, 0xc9381a27
0, 45046, 45046, 512, 1024, 0x0774f685
0, 45558, 45558, 512, 1024, 0xc5cae0a5
0, 46070, 46070, 512, 1024, 0xa6f4737c
0, 46582, 46582, 512, 1024, 0x8fb6d0d1
0, 47094, 47094, 512, 1024, 0x05f579c2
0, 47606, 47606, 512, 1024, 0x56905d99
0, 48118, 48118, 512, 1024, 0x002ee18d
0, 48630, 48630, 512, 1024, 0xeb37ef51
0, 49142, 49142, 512, 1024, 0x38025635
0, 49654, 49654, 512, 1024, 0x4fe643c8
0, 50166, 50166, 512, 1024, 0x11d66ab1
0, 50678, 50678, 512, 1024, 0xcc3051e9
0, 51190, 51190, 512, 1024, 0xcd93e854
0, 51702, 51702, 512, 1024, 0x38f1196d
0, 52214, 52214, 512, 1024, 0x657a15fc
0, 52726, 52726, 512, 1024, 0x669ce2a9
0, 53238, 53238, 512, 1024, 0x95862dda
0, 53750, 53750, 512, 1024, 0x1726a7b2
0, 54262, 54262, 512, 1024, 0xd6ece2a1
0, 54774, 54774, 512, 1024, 0x33ab9553
0, 55286, 55286, 512, 1024, 0xd50c73a6
0, 55798, 55798, 512, 1024, 0xfe25b63a
0, 56310, 56310, 512, 1024, 0x7e2959e3
0, 56822, 56822, 512, 1024, 0xa4c07b34
0, 57334, 57334, 512, 1024, 0xd6d8f15c
0, 57846, 57846, 512, 1024, 0x1eccddd7
0, 58358, 58358, 512, 1024, 0x2b69f9cb
0, 58870, 58870, 512, 1024, 0x667b775f
0, 59382, 59382, 512, 1024, 0xad3b84e9
0, 59894, 59894, 512, 1024, 0x4f29fc67
0, 60406, 60406, 512, 1024, 0x8d611ab7
0, 60918, 60918, 512, 1024, 0x278966ea
0, 61430, 61430, 512, 1024, 0xaf33812b
0, 61942, 61942, 512, 1024, 0xa55f4265
0, 62454, 62454, 512, 1024, 0x023cb51c
0, 62966, 62966, 512, 1024, 0x1d1f1005
0, 63478, 63478, 512, 1024, 0x874cccf7
0, 63990, 63990, 512, 1024, 0xda705428
0, 64502, 64502, 512, 1024, 0x48d9b440
0, 65014, 65014, 512, 1024, 0xa14e0712
0, 65526, 65526, 512, 1024, 0x7efbad1f
0, 66038, 66038, 512, 1024, 0xdb82c17f
0, 66550, 66550, 512, 1024, 0xcbe87613
0, 67062, 67062, 512, 1024, 0x3a63df1d
0, 67574, 67574, 512, 1024, 0xd5636bba
0, 68086, 68086, 512, 1024, 0x9397af23
0, 68598, 68598, 512, 1024, 0x32a07c98
0, 69110, 69110, 512, 1024, 0x202ca667
0, 69622, 69622, 512, 1024, 0xdf969011
0, 70134, 70134, 512, 1024, 0xc434d238
0, 70646, 70646, 512, 1024, 0xe9ad7562
0, 71158, 71158, 512, 1024, 0xb51b6b50
0, 71670, 71670, 512, 1024, 0xe70aecd3
0, 72182, 72182, 512, 1024, 0x03c816b2
0, 72694, 72694, 512, 1024, 0x869fdf25
0, 73206, 73206, 512, 1024, 0xd40a0a62
0, 73718, 73718, 512, 1024, 0x5af7dd35
0, 74230, 74230, 512, 1024, 0x891ffc72
0, 74742, 74742, 512, 1024, 0x1ff68a08
0, 75254, 75254, 512, 1024, 0x5a7517a9
0, 75766, 75766, 512, 1024, 0x0f959f74
0, 76278, 76278, 512, 1024, 0xe92a12a2
0, 76790, 76790, 512, 1024, 0x38000e55
0, 77302, 77302, 512, 1024, 0x39fbdd70
0, 77814, 77814, 512, 1024, 0xca3d9184
0, 78326, 78326, 512, 1024, 0x66c8995b
0, 78838, 78838, 512, 1024, 0xac25acea
0, 79350, 79350, 512, 1024, 0x3cd1046c
0, 79862, 79862, 512, 1024, 0x6a1df31c
0, 80374, 80374, 512, 1024, 0x21ca10a1
0, 80886, 80886, 512, 1024, 0x1aeccedc
0, 81398, 81398, 512, 1024, 0xddea1335
0, 81910, 81910, 512, 1024, 0x19f5ca9f
0, 82422, 82422, 512, 1024, 0x88e95e43
0, 82934, 82934, 512, 1024, 0x726284fe
0, 83446, 83446, 512, 1024, 0x6b85b40e
0, 83958, 83958, 512, 1024, 0x111fee2a
0, 84470, 84470, 512, 1024, 0x3656b588
0, 84982, 84982, 512, 1024, 0xa5a2b552
0, 85494, 85494, 512, 1024, 0x38fb2467
0, 86006, 86006, 512, 1024, 0xaa919ccc
0, 86518, 86518, 512, 1024, 0x15993dbc
0, 87030, 87030, 512, 1024, 0xbe01a7b9
0, 87542, 87542, 512, 1024, 0xefe93c09
0, 88054, 88054, 512, 1024, 0x1bb566e5
0, 88566, 88566, 512, 1024, 0x15ce6237
0, 89078, 89078, 512, 1024, 0xa8552e66
0, 89590, 89590, 512, 1024, 0x9d80187e
0, 90102, 90102, 512, 1024, 0x5df3fc30
0, 90614, 90614, 512, 1024, 0x1a312aa5
0, 91126, 91126, 512, 1024, 0x6bb8e302
0, 91638, 91638, 512, 1024, 0xbd9684bb
0, 92150, 92150, 512, 1024, 0x78b0b166
0, 92662, 92662, 512, 1024, 0xd9af5eae
0, 93174, 93174, 512, 1024, 0xdb90fe82
0, 93686, 93686, 512, 1024, 0x327614e9
0, 94198, 94198, 512, 1024, 0x1f19b7fe
0, 94710, 94710, 512, 1024, 0x46c53f96
0, 95222, 95222, 512, 1024, 0x921b2189
0, 95734, 95734, 512, 1024, 0xa8fbc85a
0, 96246, 96246, 512, 1024, 0xabfdaaae
0, 96758, 96758, 512, 1024, 0x6acc7387
0, 97270, 97270, 512, 1024, 0x0d9c27b5
0, 97782, 97782, 512, 1024, 0xba4dd809
0, 98294, 98294, 512, 1024, 0x2a2ad521
0, 98806, 98806, 512, 1024, 0x892de38a
0, 99318, 99318, 512, 1024, 0xdc97a2eb
0, 99830, 99830, 512, 1024, 0x4f614ca4
0, 100342, 100342, 512, 1024, 0x9c8a77ea
0, 100854, 100854, 512, 1024, 0x2d30e646
0, 101366, 101366, 512, 1024, 0x74e800a7
0, 101878, 101878, 512, 1024, 0x1e01fb02
0, 102390, 102390, 512, 1024, 0x4ed2c1d8
0, 102902, 102902, 512, 1024, 0xf2fdbe63
0, 103414, 103414, 512, 1024, 0x8d6f63a1
0, 103926, 103926, 512, 1024, 0xded468d9
0, 104438, 104438, 512, 1024, 0xccad839e
0, 104950, 104950, 512, 1024, 0xdde7c082
0, 105462, 105462, 512, 1024, 0x548613c5
0, 105974, 105974, 512, 1024, 0x383909bd
0, 106486, 106486, 512, 1024, 0xfd37627b
0, 106998, 106998, 512, 1024, 0x6d95a481
0, 107510, 107510, 512, 1024, 0x56aa87fa
0, 108022, 108022, 512, 1024, 0x7b67258c
0, 108534, 108534, 512, 1024, 0x7dd99a92
0, 109046, 109046, 512, 1024, 0x4a66d102
0, 109558, 109558, 512, 1024, 0x7b3fce51
0, 110070, 110070, 512, 1024, 0xbbd968aa
0, 110582, 110582, 512, 1024, 0x8283ec36
0, 111094, 111094, 512, 1024, 0x3c96493d
0, 111606, 111606, 512, 1024, 0xfa4f8cf8
0, 112118, 112118, 512, 1024, 0xe2cf872d
0, 112630, 112630, 512, 1024, 0x0a9e7aa6
0, 113142, 113142, 512, 1024, 0x6e7a0550
0, 113654, 113654, 512, 1024, 0x3acfea2f
0, 114166, 114166, 512, 1024, 0x7111d0fa
0, 114678, 114678, 512, 1024, 0xe9a1eca9
0, 115190, 115190, 512, 1024, 0x24da6c46
0, 115702, 115702, 512, 1024, 0x117cff37
0, 116214, 116214, 512, 1024, 0x0f27cab6
0, 116726, 116726, 512, 1024, 0x69b6b4e6
0, 117238, 117238, 512, 1024, 0x1e6cc841
0, 117750, 117750, 512, 1024, 0xb01e2365
0, 118262, 118262, 512, 1024, 0x14e200d3
0, 118774, 118774, 512, 1024, 0xd1184c98
0, 119286, 119286, 512, 1024, 0xef9140e9
0, 119798, 119798, 512, 1024, 0x4cbb645e
0, 120310, 120310, 512, 1024, 0xe7fe2f06
0, 120822, 120822, 512, 1024, 0xf8c45028
0, 121334, 121334, 512, 1024, 0x561358f4
0, 121846, 121846, 512, 1024, 0xd0129b77
0, 122358, 122358, 512, 1024, 0xcc636e88
0, 122870, 122870, 512, 1024, 0xe9406321
0, 123382, 123382, 512, 1024, 0x9f16a041
0, 123894, 123894, 512, 1024, 0x468bf409
0, 124406, 124406, 512, 1024, 0x3df70f7b
0, 124918, 124918, 512, 1024, 0xa880b11b
0, 125430, 125430, 512, 1024, 0x3286c489
0, 125942, 125942, 512, 1024, 0x39fe9ebc
0, 126454, 126454, 512, 1024, 0xc533d83b
0, 126966, 126966, 512, 1024, 0x153b195d
0, 127478, 127478, 512, 1024, 0xd84786a1
0, 127990, 127990, 512, 1024, 0xdc295aaa
0, 128502, 128502, 512, 1024, 0xfb764d8c
0, 129014, 129014, 512, 1024, 0xeebc9db9
0, 129526, 129526, 512, 1024, 0x7ba9403e
0, 130038, 130038, 512, 1024, 0x4e5571ec
0, 130550, 130550, 512, 1024, 0xd965fad4
0, 131062, 131062, 512, 1024, 0x87e259f2
0, 131574, 131574, 512, 1024, 0xae7e533b
0, 132086, 132086, 512, 1024, 0x313cf4d6
0, 132598, 132598, 512, 1024, 0xe1844c90
0, 133110, 133110, 512, 1024, 0xbb057b44
0, 133622, 133622, 512, 1024, 0xa5099687
0, 134134, 134134, 512, 1024, 0xbff10707
0, 134646, 134646, 512, 1024, 0x37c4ffc0
0, 135158, 135158, 512, 1024, 0xf9fb6caa
0, 135670, 135670, 512, 1024, 0x3b6a3a1f
0, 136182, 136182, 512, 1024, 0x83431edb
0, 136694, 136694, 512, 1024, 0x1eb713cf
0, 137206, 137206, 512, 1024, 0xd7b07a6d
0, 137718, 137718, 512, 1024, 0x81ae3391
0, 138230, 138230, 512, 1024, 0xf150130a
0, 138742, 138742, 512, 1024, 0x09678eaa
0, 139254, 139254, 512, 1024, 0xb94e06f1
0, 139766, 139766, 512, 1024, 0x67b1dbc9
0, 140278, 140278, 512, 1024, 0xd6edc235
0, 140790, 140790, 512, 1024, 0x34e4c499
0, 141302, 141302, 512, 1024, 0xeefd89c0
0, 141814, 141814, 512, 1024, 0x38afdaf1
0, 142326, 142326, 512, 1024, 0x29a60d76
0, 142838, 142838, 512, 1024, 0xe28a4372
0, 143350, 143350, 512, 1024, 0x7089454d
0, 143862, 143862, 512, 1024, 0x0c01bb7b
0, 144374, 144374, 512, 1024, 0xbd776a72
0, 144886, 144886, 512, 1024, 0x86776fd0
0, 145398, 145398, 512, 1024, 0xb37c88f7
0, 145910, 145910, 512, 1024, 0x5f90aaf8
0, 146422, 146422, 512, 1024, 0x203d4222
0, 146934, 146934, 512, 1024, 0x382692a6
0, 147446, 147446, 512, 1024, 0xf37c95fd
0, 147958, 147958, 512, 1024, 0x6c0b8877
0, 148470, 148470, 512, 1024, 0x2e54a8b6
0, 148982, 148982, 512, 1024, 0x7f266488
0, 149494, 149494, 512, 1024, 0xfbf20f9a
0, 150006, 150006, 512, 1024, 0xf2985cc0
0, 150518, 150518, 512, 1024, 0xc7075340
0, 151030, 151030, 512, 1024, 0xe4585695
0, 151542, 151542, 512, 1024, 0xbdffa380
0, 152054, 152054, 512, 1024, 0x2422a8a9
0, 152566, 152566, 512, 1024, 0x59cbd75f
0, 153078, 153078, 512, 1024, 0x04ad1a8c
0, 153590, 153590, 512, 1024, 0x33c09191
0, 154102, 154102, 512, 1024, 0x55efa6fd
0, 154614, 154614, 512, 1024, 0xf73d0e5d
0, 155126, 155126, 512, 1024, 0x6141ebae
0, 155638, 155638, 512, 1024, 0x7db17a68
0, 156150, 156150, 512, 1024, 0xa6c690b6
0, 156662, 156662, 512, 1024, 0xa6fd6725
0, 157174, 157174, 512, 1024, 0x50a90b9b
0, 157686, 157686, 512, 1024, 0xef990dc8
0, 158198, 158198, 512, 1024, 0x75adf6b5
0, 158710, 158710, 512, 1024, 0x61eac43e
0, 159222, 159222, 512, 1024, 0x67797a19
0, 159734, 159734, 512, 1024, 0xf325277a
0, 160246, 160246, 512, 1024, 0x18bf254a
0, 160758, 160758, 512, 1024, 0x2ce6bee3
0, 161270, 161270, 512, 1024, 0x8d320860
0, 161782, 161782, 512, 1024, 0xc979b6e8
0, 162294, 162294, 512, 1024, 0xdb644b41
0, 162806, 162806, 512, 1024, 0xe1b368ba
0, 163318, 163318, 512, 1024, 0xacc53d15
0, 163830, 163830, 512, 1024, 0x42ea8c18
0, 164342, 164342, 512, 1024, 0xe52c99a4
0, 164854, 164854, 512, 1024, 0xd7db54a6
0, 165366, 165366, 512, 1024, 0x7f27a7e3
0, 165878, 165878, 512, 1024, 0xf7ffeaa9
0, 166390, 166390, 512, 1024, 0x792b6088
0, 166902, 166902, 512, 1024, 0x61d99724
0, 167414, 167414, 512, 1024, 0x5213720e
0, 167926, 167926, 512, 1024, 0xac09dd30
0, 168438, 168438, 512, 1024, 0x960bf6bb
0, 168950, 168950, 512, 1024, 0xc90168e1
0, 169462, 169462, 512, 1024, 0x43b45768
0, 169974, 169974, 512, 1024, 0x935d60a1
0, 170486, 170486, 512, 1024, 0x9a342ef2
0, 170998, 170998, 512, 1024, 0xc894709f
0, 171510, 171510, 512, 1024, 0x59b43b07
0, 172022, 172022, 512, 1024, 0x36a1a98d
0, 172534, 172534, 512, 1024, 0x9e1a121c
0, 173046, 173046, 512, 1024, 0x02208b78
0, 173558, 173558, 512, 1024, 0xd1d7b274
0, 174070, 174070, 512, 1024, 0xdacd5096
0, 174582, 174582, 512, 1024, 0x51b71ead
0, 175094, 175094, 512, 1024, 0xd009a7ca
0, 175606, 175606, 512, 1024, 0xb6d5a938
0, 176118, 176118, 512, 1024, 0xf3d45e47
0, 176630, 176630, 512, 1024, 0xea8e04fc
0, 177142, 177142, 512, 1024, 0x0b928bd8
0, 177654, 177654, 512, 1024, 0x0f02caec
0, 178166, 178166, 512, 1024, 0xe2b137a8
0, 178678, 178678, 512, 1024, 0xd5f94892
0, 1024, 1024, 512, 1024, 0xed2d3f6b
0, 1533, 1533, 512, 1024, 0x51f6ccb3
0, 2040, 2040, 512, 1024, 0x58bd75aa
0, 2552, 2552, 512, 1024, 0xd857a310
0, 3064, 3064, 512, 1024, 0xc483a5b8
0, 3576, 3576, 512, 1024, 0x923ecf67
0, 4088, 4088, 512, 1024, 0xf87dcd53
0, 4598, 4598, 512, 1024, 0xdc32c002
0, 5110, 5110, 512, 1024, 0xb760def1
0, 5622, 5622, 512, 1024, 0x6838d2b2
0, 6134, 6134, 512, 1024, 0xe45aca1e
0, 6646, 6646, 512, 1024, 0xde1fb955
0, 7158, 7158, 512, 1024, 0x9e23b949
0, 7670, 7670, 512, 1024, 0x840cc000
0, 8182, 8182, 512, 1024, 0x0a29cbfa
0, 8694, 8694, 512, 1024, 0x9871d4c4
0, 9206, 9206, 512, 1024, 0xb35dc9f2
0, 9718, 9718, 512, 1024, 0xf37fda0a
0, 10230, 10230, 512, 1024, 0xa640f990
0, 10742, 10742, 512, 1024, 0x516fe6f5
0, 11254, 11254, 512, 1024, 0xc78bc6a6
0, 11766, 11766, 512, 1024, 0x700fd6ee
0, 12278, 12278, 512, 1024, 0x5383d5ad
0, 12790, 12790, 512, 1024, 0xbe01d091
0, 13302, 13302, 512, 1024, 0x72dfcfc7
0, 13814, 13814, 512, 1024, 0xd8fecea9
0, 14326, 14326, 512, 1024, 0xa464d79b
0, 14838, 14838, 512, 1024, 0xf394e2cb
0, 15350, 15350, 512, 1024, 0xa301ec49
0, 15862, 15862, 512, 1024, 0x5e09d60f
0, 16374, 16374, 512, 1024, 0xd13edd6f
0, 16886, 16886, 512, 1024, 0x7423ef39
0, 17398, 17398, 512, 1024, 0x96e2f083
0, 17910, 17910, 512, 1024, 0x5ed7dbee
0, 18422, 18422, 512, 1024, 0x3874f714
0, 18934, 18934, 512, 1024, 0xa5e6edab
0, 19446, 19446, 512, 1024, 0x0a04ee3a
0, 19958, 19958, 512, 1024, 0xadfee6b9
0, 20470, 20470, 512, 1024, 0xd0bbe6d2
0, 20982, 20982, 512, 1024, 0x223eebb7
0, 21494, 21494, 512, 1024, 0x0473e479
0, 22006, 22006, 512, 1024, 0xdf15e51e
0, 22518, 22518, 512, 1024, 0xa954e483
0, 23030, 23030, 512, 1024, 0x6df3ed03
0, 23542, 23542, 512, 1024, 0x0860e544
0, 24054, 24054, 512, 1024, 0xc241e8dc
0, 24566, 24566, 512, 1024, 0xd0e1d6a4
0, 25078, 25078, 512, 1024, 0xcb2ff988
0, 25590, 25590, 512, 1024, 0x51fae08e
0, 26102, 26102, 512, 1024, 0xae39f2fc
0, 26614, 26614, 512, 1024, 0xfd74f07c
0, 27126, 27126, 512, 1024, 0x1936edc1
0, 27638, 27638, 512, 1024, 0x95f8deae
0, 28150, 28150, 512, 1024, 0x93bdf605
0, 28662, 28662, 512, 1024, 0x7a07dd32
0, 29174, 29174, 512, 1024, 0x6889fdc1
0, 29686, 29686, 512, 1024, 0x989bf024
0, 30198, 30198, 512, 1024, 0xc764ce80
0, 30710, 30710, 512, 1024, 0x0e62d721
0, 31222, 31222, 512, 1024, 0x59c2fbe3
0, 31734, 31734, 512, 1024, 0xf14ee29d
0, 32246, 32246, 512, 1024, 0x02a0f21b
0, 32758, 32758, 512, 1024, 0xadb3d361
0, 33270, 33270, 512, 1024, 0xdcb3d1fc
0, 33782, 33782, 512, 1024, 0x2924f9dc
0, 34294, 34294, 512, 1024, 0x7507ebec
0, 34806, 34806, 512, 1024, 0xe009f343
0, 35318, 35318, 512, 1024, 0x21e9e7ac
0, 35830, 35830, 512, 1024, 0x845bda9e
0, 36342, 36342, 512, 1024, 0xb1b3e632
0, 36854, 36854, 512, 1024, 0x61ccf593
0, 37366, 37366, 512, 1024, 0x8cdbf603
0, 37878, 37878, 512, 1024, 0xf8f7e673
0, 38390, 38390, 512, 1024, 0x55efdd24
0, 38902, 38902, 512, 1024, 0x4059e8ff
0, 39414, 39414, 512, 1024, 0xb3afe5be
0, 39926, 39926, 512, 1024, 0x7236e965
0, 40438, 40438, 512, 1024, 0xe683db69
0, 40950, 40950, 512, 1024, 0x29e3d93c
0, 41462, 41462, 512, 1024, 0x74f2f27f
0, 41974, 41974, 512, 1024, 0x32cde3ba
0, 42486, 42486, 512, 1024, 0xe907f171
0, 42998, 42998, 512, 1024, 0x206ae2a5
0, 43510, 43510, 512, 1024, 0x6379efa1
0, 44022, 44022, 512, 1024, 0x0f0fee85
0, 44534, 44534, 512, 1024, 0x3195e314
0, 45046, 45046, 512, 1024, 0x4646ead3
0, 45558, 45558, 512, 1024, 0x5635dcf5
0, 46070, 46070, 512, 1024, 0xd76fc780
0, 46582, 46582, 512, 1024, 0x847ff8a5
0, 47094, 47094, 512, 1024, 0xaca8eda3
0, 47606, 47606, 512, 1024, 0x9a2de1ea
0, 48118, 48118, 512, 1024, 0xc92ff23a
0, 48630, 48630, 512, 1024, 0x0e0ef038
0, 49142, 49142, 512, 1024, 0xc32cf495
0, 49654, 49654, 512, 1024, 0x6ab1ec79
0, 50166, 50166, 512, 1024, 0xe43cd8d6
0, 50678, 50678, 512, 1024, 0x4ba2deab
0, 51190, 51190, 512, 1024, 0x6d16ea0e
0, 51702, 51702, 512, 1024, 0xe5b0ee70
0, 52214, 52214, 512, 1024, 0xcf6cf074
0, 52726, 52726, 512, 1024, 0x2206e61d
0, 53238, 53238, 512, 1024, 0xfbb9e7e7
0, 53750, 53750, 512, 1024, 0x2bc1e115
0, 54262, 54262, 512, 1024, 0x4ca6e5c5
0, 54774, 54774, 512, 1024, 0x061cead0
0, 55286, 55286, 512, 1024, 0x3dc9f950
0, 55798, 55798, 512, 1024, 0x9399f10d
0, 56310, 56310, 512, 1024, 0xa2bff5ae
0, 56822, 56822, 512, 1024, 0xd21de569
0, 57334, 57334, 512, 1024, 0x1c45e3be
0, 57846, 57846, 512, 1024, 0xff5dff1c
0, 58358, 58358, 512, 1024, 0x992df5d3
0, 58870, 58870, 512, 1024, 0xafedea2f
0, 59382, 59382, 512, 1024, 0x6e73d6a8
0, 59894, 59894, 512, 1024, 0x72dff283
0, 60406, 60406, 512, 1024, 0x50b5f1a6
0, 60918, 60918, 512, 1024, 0xffe1decb
0, 61430, 61430, 512, 1024, 0x8993ecff
0, 61942, 61942, 512, 1024, 0x954bd63a
0, 62454, 62454, 512, 1024, 0x4707f577
0, 62966, 62966, 512, 1024, 0x7a88f81f
0, 63478, 63478, 512, 1024, 0xc771f537
0, 63990, 63990, 512, 1024, 0x7aade6af
0, 64502, 64502, 512, 1024, 0x8af5ede5
0, 65014, 65014, 512, 1024, 0x7500f3f1
0, 65526, 65526, 512, 1024, 0xea36f707
0, 66038, 66038, 512, 1024, 0x1a26e39a
0, 66550, 66550, 512, 1024, 0xa04cf00d
0, 67062, 67062, 512, 1024, 0xc362f182
0, 67574, 67574, 512, 1024, 0x79c8f82c
0, 68086, 68086, 512, 1024, 0x6480eee1
0, 68598, 68598, 512, 1024, 0x7152eaa0
0, 69110, 69110, 512, 1024, 0x5dfee6a9
0, 69622, 69622, 512, 1024, 0x0afae660
0, 70134, 70134, 512, 1024, 0xdc98e9fc
0, 70646, 70646, 512, 1024, 0x10b7da06
0, 71158, 71158, 512, 1024, 0x0571e585
0, 71670, 71670, 512, 1024, 0x18ddf45e
0, 72182, 72182, 512, 1024, 0x2cbef242
0, 72694, 72694, 512, 1024, 0xf5380845
0, 73206, 73206, 512, 1024, 0x34fff45e
0, 73718, 73718, 512, 1024, 0x6f97e490
0, 74230, 74230, 512, 1024, 0x77d6f0db
0, 74742, 74742, 512, 1024, 0xa25ce2db
0, 75254, 75254, 512, 1024, 0x8260e4e9
0, 75766, 75766, 512, 1024, 0xc3b2f7d2
0, 76278, 76278, 512, 1024, 0x82a7edae
0, 76790, 76790, 512, 1024, 0x7d08dd54
0, 77302, 77302, 512, 1024, 0x9059eda6
0, 77814, 77814, 512, 1024, 0xbebaec88
0, 78326, 78326, 512, 1024, 0xd9afd586
0, 78838, 78838, 512, 1024, 0x0ca3e622
0, 79350, 79350, 512, 1024, 0x4123e9e6
0, 79862, 79862, 512, 1024, 0x2ff9f95c
0, 80374, 80374, 512, 1024, 0x8522e261
0, 80886, 80886, 512, 1024, 0xe4f8f499
0, 81398, 81398, 512, 1024, 0x34f3f2bd
0, 81910, 81910, 512, 1024, 0x82efe863
0, 82422, 82422, 512, 1024, 0x9966fcea
0, 82934, 82934, 512, 1024, 0xe94de3fd
0, 83446, 83446, 512, 1024, 0x1ce0e27b
0, 83958, 83958, 512, 1024, 0xd718dcde
0, 84470, 84470, 512, 1024, 0xd503e724
0, 84982, 84982, 512, 1024, 0x427ee3b2
0, 85494, 85494, 512, 1024, 0x4512dcc4
0, 86006, 86006, 512, 1024, 0xcf31e77c
0, 86518, 86518, 512, 1024, 0xeb41ea81
0, 87030, 87030, 512, 1024, 0xfa43e67c
0, 87542, 87542, 512, 1024, 0x8162f3c9
0, 88054, 88054, 512, 1024, 0x1b55f6b0
0, 88566, 88566, 512, 1024, 0x3ebeec44
0, 89078, 89078, 512, 1024, 0x740fe0c4
0, 89590, 89590, 512, 1024, 0x8fb4e8b2
0, 90102, 90102, 512, 1024, 0xe49de6a2
0, 90614, 90614, 512, 1024, 0xd64febdf
0, 91126, 91126, 512, 1024, 0x0e74ee08
0, 91638, 91638, 512, 1024, 0x6c0ddf07
0, 92150, 92150, 512, 1024, 0x7fb8e3c9
0, 92662, 92662, 512, 1024, 0x52bfe96c
0, 93174, 93174, 512, 1024, 0xfc22ee64
0, 93686, 93686, 512, 1024, 0xe20ae718
0, 94198, 94198, 512, 1024, 0xa94be395
0, 94710, 94710, 512, 1024, 0xded306d0
0, 95222, 95222, 512, 1024, 0x31f7c831
0, 95734, 95734, 512, 1024, 0x0ffde0a8
0, 96246, 96246, 512, 1024, 0xc692e3e0
0, 96758, 96758, 512, 1024, 0x1d8ff7c7
0, 97270, 97270, 512, 1024, 0x038ee172
0, 97782, 97782, 512, 1024, 0x9a1eef59
0, 98294, 98294, 512, 1024, 0x158fe750
0, 98806, 98806, 512, 1024, 0xac15e42c
0, 99318, 99318, 512, 1024, 0x6323ed44
0, 99830, 99830, 512, 1024, 0xd10ce4bb
0, 100342, 100342, 512, 1024, 0xc1cce296
0, 100854, 100854, 512, 1024, 0x0782f094
0, 101366, 101366, 512, 1024, 0xd109de36
0, 101878, 101878, 512, 1024, 0x175600fb
0, 102390, 102390, 512, 1024, 0x95d5e8d9
0, 102902, 102902, 512, 1024, 0xebb6eee1
0, 103414, 103414, 512, 1024, 0x187cfadc
0, 103926, 103926, 512, 1024, 0xce35fa5c
0, 104438, 104438, 512, 1024, 0x8327eea2
0, 104950, 104950, 512, 1024, 0x5543f219
0, 105462, 105462, 512, 1024, 0xaacbe0dc
0, 105974, 105974, 512, 1024, 0xa538e9fb
0, 106486, 106486, 512, 1024, 0x4dcbe655
0, 106998, 106998, 512, 1024, 0x86b6d93b
0, 107510, 107510, 512, 1024, 0x1a06f878
0, 108022, 108022, 512, 1024, 0xd926e8ef
0, 108534, 108534, 512, 1024, 0xc624db2f
0, 109046, 109046, 512, 1024, 0x2153e20d
0, 109558, 109558, 512, 1024, 0x01dce868
0, 110070, 110070, 512, 1024, 0xfa5fd3cd
0, 110582, 110582, 512, 1024, 0x2adef2d5
0, 111094, 111094, 512, 1024, 0x4f48f8e2
0, 111606, 111606, 512, 1024, 0x613feeee
0, 112118, 112118, 512, 1024, 0x3780de8a
0, 112630, 112630, 512, 1024, 0x2093eb65
0, 113142, 113142, 512, 1024, 0x54baebbb
0, 113654, 113654, 512, 1024, 0x8686dd7c
0, 114166, 114166, 512, 1024, 0x7f8ae80c
0, 114678, 114678, 512, 1024, 0x7aede972
0, 115190, 115190, 512, 1024, 0x971bebc0
0, 115702, 115702, 512, 1024, 0x2dd5fd4b
0, 116214, 116214, 512, 1024, 0xb1b3e4a3
0, 116726, 116726, 512, 1024, 0x192defc6
0, 117238, 117238, 512, 1024, 0x5e46ec44
0, 117750, 117750, 512, 1024, 0xe6d8e05a
0, 118262, 118262, 512, 1024, 0x7e2fe2b0
0, 118774, 118774, 512, 1024, 0x9e3bdf80
0, 119286, 119286, 512, 1024, 0xa98cd85e
0, 119798, 119798, 512, 1024, 0x6061e0c4
0, 120310, 120310, 512, 1024, 0x6112f3fc
0, 120822, 120822, 512, 1024, 0x99bdfb01
0, 121334, 121334, 512, 1024, 0x3f5df3ca
0, 121846, 121846, 512, 1024, 0xf5ebeb05
0, 122358, 122358, 512, 1024, 0x8498e565
0, 122870, 122870, 512, 1024, 0x0497f0b7
0, 123382, 123382, 512, 1024, 0x626ae800
0, 123894, 123894, 512, 1024, 0xfb71eec4
0, 124406, 124406, 512, 1024, 0xa86ee739
0, 124918, 124918, 512, 1024, 0x25c0e050
0, 125430, 125430, 512, 1024, 0x6027e91e
0, 125942, 125942, 512, 1024, 0x6772df6e
0, 126454, 126454, 512, 1024, 0xfefff844
0, 126966, 126966, 512, 1024, 0x547be862
0, 127478, 127478, 512, 1024, 0xca84e795
0, 127990, 127990, 512, 1024, 0xd124db3e
0, 128502, 128502, 512, 1024, 0xcaf3deb5
0, 129014, 129014, 512, 1024, 0x487ce92d
0, 129526, 129526, 512, 1024, 0x117feb95
0, 130038, 130038, 512, 1024, 0x7b63de3d
0, 130550, 130550, 512, 1024, 0xa529d8e1
0, 131062, 131062, 512, 1024, 0x56f6da26
0, 131574, 131574, 512, 1024, 0xffb8d5af
0, 132086, 132086, 512, 1024, 0xeecbdc04
0, 132598, 132598, 512, 1024, 0xfc59d2d2
0, 133110, 133110, 512, 1024, 0xaf7acef7
0, 133622, 133622, 512, 1024, 0x3f9bf258
0, 134134, 134134, 512, 1024, 0xcf54e9d6
0, 134646, 134646, 512, 1024, 0x680cd0aa
0, 135158, 135158, 512, 1024, 0x3c1bdc1f
0, 135670, 135670, 512, 1024, 0x8c8ffe22
0, 136182, 136182, 512, 1024, 0xf415d362
0, 136694, 136694, 512, 1024, 0x8c8cdaa9
0, 137206, 137206, 512, 1024, 0x9531e9f1
0, 137718, 137718, 512, 1024, 0x223ce536
0, 138230, 138230, 512, 1024, 0xdfbce5f9
0, 138742, 138742, 512, 1024, 0x20b6ed7d
0, 139254, 139254, 512, 1024, 0x1a17e109
0, 139766, 139766, 512, 1024, 0xc672eaea
0, 140278, 140278, 512, 1024, 0x12a7dc5e
0, 140790, 140790, 512, 1024, 0x4497f342
0, 141302, 141302, 512, 1024, 0xdfb5db4b
0, 141814, 141814, 512, 1024, 0xde48ef6c
0, 142326, 142326, 512, 1024, 0x1d98e316
0, 142838, 142838, 512, 1024, 0xbd2ad72f
0, 143350, 143350, 512, 1024, 0xf1aad776
0, 143862, 143862, 512, 1024, 0x4db3e3c0
0, 144374, 144374, 512, 1024, 0x832de0a0
0, 144886, 144886, 512, 1024, 0xc5f0ef25
0, 145398, 145398, 512, 1024, 0x419bda6e
0, 145910, 145910, 512, 1024, 0x5de7f77e
0, 146422, 146422, 512, 1024, 0x0063ec9a
0, 146934, 146934, 512, 1024, 0x10c3d470
0, 147446, 147446, 512, 1024, 0xba66d226
0, 147958, 147958, 512, 1024, 0xea47ded3
0, 148470, 148470, 512, 1024, 0x6202d67b
0, 148982, 148982, 512, 1024, 0x3f80e7cf
0, 149494, 149494, 512, 1024, 0x4e64eaae
0, 150006, 150006, 512, 1024, 0x2108e83d
0, 150518, 150518, 512, 1024, 0x38c3dec1
0, 151030, 151030, 512, 1024, 0x46d3f77a
0, 151542, 151542, 512, 1024, 0x4838e787
0, 152054, 152054, 512, 1024, 0xc71df16d
0, 152566, 152566, 512, 1024, 0xdbe4ebbd
0, 153078, 153078, 512, 1024, 0xa156d07b
0, 153590, 153590, 512, 1024, 0x34eddc80
0, 154102, 154102, 512, 1024, 0xe840e87c
0, 154614, 154614, 512, 1024, 0x6accf8f5
0, 155126, 155126, 512, 1024, 0xa1dbebb9
0, 155638, 155638, 512, 1024, 0x6d07d98c
0, 156150, 156150, 512, 1024, 0x94c7e805
0, 156662, 156662, 512, 1024, 0x5199e586
0, 157174, 157174, 512, 1024, 0xe797e1aa
0, 157686, 157686, 512, 1024, 0xff19eda7
0, 158198, 158198, 512, 1024, 0x9cb9d040
0, 158710, 158710, 512, 1024, 0xaeedd325
0, 159222, 159222, 512, 1024, 0xf5ade306
0, 159734, 159734, 512, 1024, 0x54a5e129
0, 160246, 160246, 512, 1024, 0x6665ddeb
0, 160758, 160758, 512, 1024, 0x9d18e033
0, 161270, 161270, 512, 1024, 0x7f23df74
0, 161782, 161782, 512, 1024, 0x7c34f158
0, 162294, 162294, 512, 1024, 0x47f6dae2
0, 162806, 162806, 512, 1024, 0x5ffdd903
0, 163318, 163318, 512, 1024, 0x8233d108
0, 163830, 163830, 512, 1024, 0x45c6e20d
0, 164342, 164342, 512, 1024, 0xae11fa6e
0, 164854, 164854, 512, 1024, 0xa30defd2
0, 165366, 165366, 512, 1024, 0xfc1ecccf
0, 165878, 165878, 512, 1024, 0x920edc94
0, 166390, 166390, 512, 1024, 0xd7f3dc58
0, 166902, 166902, 512, 1024, 0x4972d37d
0, 167414, 167414, 512, 1024, 0xfefef358
0, 167926, 167926, 512, 1024, 0x3648e473
0, 168438, 168438, 512, 1024, 0x58dee6c3
0, 168950, 168950, 512, 1024, 0x9cc6df27
0, 169462, 169462, 512, 1024, 0x6adfe99c
0, 169974, 169974, 512, 1024, 0x6a56e11f
0, 170486, 170486, 512, 1024, 0x4860edf1
0, 170998, 170998, 512, 1024, 0x9132f10a
0, 171510, 171510, 512, 1024, 0x3e09d209
0, 172022, 172022, 512, 1024, 0x4b6bf4d8
0, 172534, 172534, 512, 1024, 0x0cd5e838
0, 173046, 173046, 512, 1024, 0x080be078
0, 173558, 173558, 512, 1024, 0xfdb0e31c
0, 174070, 174070, 512, 1024, 0xced5e7bd
0, 174582, 174582, 512, 1024, 0x65b3e435
0, 175094, 175094, 512, 1024, 0x5b5bfe2e
0, 175606, 175606, 512, 1024, 0xa8bde3cb
0, 176118, 176118, 512, 1024, 0xfd0fdefa
0, 176630, 176630, 512, 1024, 0xbec4ef95
0, 177142, 177142, 512, 1024, 0x683ad8dd
0, 177654, 177654, 512, 1024, 0x8eefeb77
0, 178166, 178166, 512, 1024, 0x84fc5878
0, 178678, 178678, 512, 1024, 0x9a0ded60