Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
aom-rav1e
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xiph.Org
aom-rav1e
Commits
240ae972
Commit
240ae972
authored
Mar 09, 2016
by
Jingning Han
Committed by
Gerrit Code Review
Mar 09, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge "Add horizontal and vertical scan order for 1-D transform" into nextgenv2
parents
954e560f
e0413094
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1089 additions
and
11 deletions
+1089
-11
vp10/common/scan.c
vp10/common/scan.c
+1084
-11
vp10/decoder/decodeframe.c
vp10/decoder/decodeframe.c
+5
-0
No files found.
vp10/common/scan.c
View file @
240ae972
...
...
@@ -19,6 +19,20 @@ DECLARE_ALIGNED(16, static const int16_t, default_scan_4x4[16]) = {
7
,
14
,
11
,
15
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_4x4
[
16
])
=
{
0
,
4
,
8
,
12
,
1
,
5
,
9
,
13
,
2
,
6
,
10
,
14
,
3
,
7
,
11
,
15
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_4x4
[
16
])
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
col_scan_4x4
[
16
])
=
{
0
,
4
,
8
,
1
,
12
,
5
,
9
,
2
,
...
...
@@ -44,6 +58,28 @@ DECLARE_ALIGNED(16, static const int16_t, default_scan_8x8[64]) = {
46
,
39
,
61
,
54
,
47
,
62
,
55
,
63
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_8x8
[
64
])
=
{
0
,
8
,
16
,
24
,
32
,
40
,
48
,
56
,
1
,
9
,
17
,
25
,
33
,
41
,
49
,
57
,
2
,
10
,
18
,
26
,
34
,
42
,
50
,
58
,
3
,
11
,
19
,
27
,
35
,
43
,
51
,
59
,
4
,
12
,
20
,
28
,
36
,
44
,
52
,
60
,
5
,
13
,
21
,
29
,
37
,
45
,
53
,
61
,
6
,
14
,
22
,
30
,
38
,
46
,
54
,
62
,
7
,
15
,
23
,
31
,
39
,
47
,
55
,
63
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_8x8
[
64
])
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
col_scan_8x8
[
64
])
=
{
0
,
8
,
16
,
1
,
24
,
9
,
32
,
17
,
2
,
40
,
25
,
10
,
33
,
18
,
48
,
3
,
...
...
@@ -87,6 +123,53 @@ DECLARE_ALIGNED(16, static const int16_t, default_scan_16x16[256]) = {
255
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_16x16
[
256
])
=
{
0
,
16
,
32
,
48
,
64
,
80
,
96
,
112
,
128
,
144
,
160
,
176
,
192
,
208
,
224
,
240
,
1
,
17
,
33
,
49
,
65
,
81
,
97
,
113
,
129
,
145
,
161
,
177
,
193
,
209
,
225
,
241
,
2
,
18
,
34
,
50
,
66
,
82
,
98
,
114
,
130
,
146
,
162
,
178
,
194
,
210
,
226
,
242
,
3
,
19
,
35
,
51
,
67
,
83
,
99
,
115
,
131
,
147
,
163
,
179
,
195
,
211
,
227
,
243
,
4
,
20
,
36
,
52
,
68
,
84
,
100
,
116
,
132
,
148
,
164
,
180
,
196
,
212
,
228
,
244
,
5
,
21
,
37
,
53
,
69
,
85
,
101
,
117
,
133
,
149
,
165
,
181
,
197
,
213
,
229
,
245
,
6
,
22
,
38
,
54
,
70
,
86
,
102
,
118
,
134
,
150
,
166
,
182
,
198
,
214
,
230
,
246
,
7
,
23
,
39
,
55
,
71
,
87
,
103
,
119
,
135
,
151
,
167
,
183
,
199
,
215
,
231
,
247
,
8
,
24
,
40
,
56
,
72
,
88
,
104
,
120
,
136
,
152
,
168
,
184
,
200
,
216
,
232
,
248
,
9
,
25
,
41
,
57
,
73
,
89
,
105
,
121
,
137
,
153
,
169
,
185
,
201
,
217
,
233
,
249
,
10
,
26
,
42
,
58
,
74
,
90
,
106
,
122
,
138
,
154
,
170
,
186
,
202
,
218
,
234
,
250
,
11
,
27
,
43
,
59
,
75
,
91
,
107
,
123
,
139
,
155
,
171
,
187
,
203
,
219
,
235
,
251
,
12
,
28
,
44
,
60
,
76
,
92
,
108
,
124
,
140
,
156
,
172
,
188
,
204
,
220
,
236
,
252
,
13
,
29
,
45
,
61
,
77
,
93
,
109
,
125
,
141
,
157
,
173
,
189
,
205
,
221
,
237
,
253
,
14
,
30
,
46
,
62
,
78
,
94
,
110
,
126
,
142
,
158
,
174
,
190
,
206
,
222
,
238
,
254
,
15
,
31
,
47
,
63
,
79
,
95
,
111
,
127
,
143
,
159
,
175
,
191
,
207
,
223
,
239
,
255
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_16x16
[
256
])
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
113
,
114
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
174
,
175
,
176
,
177
,
178
,
179
,
180
,
181
,
182
,
183
,
184
,
185
,
186
,
187
,
188
,
189
,
190
,
191
,
192
,
193
,
194
,
195
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
203
,
204
,
205
,
206
,
207
,
208
,
209
,
210
,
211
,
212
,
213
,
214
,
215
,
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
,
251
,
252
,
253
,
254
,
255
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
col_scan_16x16
[
256
])
=
{
0
,
16
,
32
,
48
,
1
,
64
,
17
,
80
,
33
,
96
,
49
,
2
,
65
,
112
,
18
,
81
,
34
,
128
,
50
,
97
,
3
,
66
,
144
,
19
,
113
,
35
,
82
,
160
,
98
,
51
,
129
,
4
,
...
...
@@ -130,6 +213,201 @@ DECLARE_ALIGNED(16, static const int16_t, row_scan_16x16[256]) = {
255
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_32x32
[
1024
])
=
{
0
,
32
,
64
,
96
,
128
,
160
,
192
,
224
,
256
,
288
,
320
,
352
,
384
,
416
,
448
,
480
,
512
,
544
,
576
,
608
,
640
,
672
,
704
,
736
,
768
,
800
,
832
,
864
,
896
,
928
,
960
,
992
,
1
,
33
,
65
,
97
,
129
,
161
,
193
,
225
,
257
,
289
,
321
,
353
,
385
,
417
,
449
,
481
,
513
,
545
,
577
,
609
,
641
,
673
,
705
,
737
,
769
,
801
,
833
,
865
,
897
,
929
,
961
,
993
,
2
,
34
,
66
,
98
,
130
,
162
,
194
,
226
,
258
,
290
,
322
,
354
,
386
,
418
,
450
,
482
,
514
,
546
,
578
,
610
,
642
,
674
,
706
,
738
,
770
,
802
,
834
,
866
,
898
,
930
,
962
,
994
,
3
,
35
,
67
,
99
,
131
,
163
,
195
,
227
,
259
,
291
,
323
,
355
,
387
,
419
,
451
,
483
,
515
,
547
,
579
,
611
,
643
,
675
,
707
,
739
,
771
,
803
,
835
,
867
,
899
,
931
,
963
,
995
,
4
,
36
,
68
,
100
,
132
,
164
,
196
,
228
,
260
,
292
,
324
,
356
,
388
,
420
,
452
,
484
,
516
,
548
,
580
,
612
,
644
,
676
,
708
,
740
,
772
,
804
,
836
,
868
,
900
,
932
,
964
,
996
,
5
,
37
,
69
,
101
,
133
,
165
,
197
,
229
,
261
,
293
,
325
,
357
,
389
,
421
,
453
,
485
,
517
,
549
,
581
,
613
,
645
,
677
,
709
,
741
,
773
,
805
,
837
,
869
,
901
,
933
,
965
,
997
,
6
,
38
,
70
,
102
,
134
,
166
,
198
,
230
,
262
,
294
,
326
,
358
,
390
,
422
,
454
,
486
,
518
,
550
,
582
,
614
,
646
,
678
,
710
,
742
,
774
,
806
,
838
,
870
,
902
,
934
,
966
,
998
,
7
,
39
,
71
,
103
,
135
,
167
,
199
,
231
,
263
,
295
,
327
,
359
,
391
,
423
,
455
,
487
,
519
,
551
,
583
,
615
,
647
,
679
,
711
,
743
,
775
,
807
,
839
,
871
,
903
,
935
,
967
,
999
,
8
,
40
,
72
,
104
,
136
,
168
,
200
,
232
,
264
,
296
,
328
,
360
,
392
,
424
,
456
,
488
,
520
,
552
,
584
,
616
,
648
,
680
,
712
,
744
,
776
,
808
,
840
,
872
,
904
,
936
,
968
,
1000
,
9
,
41
,
73
,
105
,
137
,
169
,
201
,
233
,
265
,
297
,
329
,
361
,
393
,
425
,
457
,
489
,
521
,
553
,
585
,
617
,
649
,
681
,
713
,
745
,
777
,
809
,
841
,
873
,
905
,
937
,
969
,
1001
,
10
,
42
,
74
,
106
,
138
,
170
,
202
,
234
,
266
,
298
,
330
,
362
,
394
,
426
,
458
,
490
,
522
,
554
,
586
,
618
,
650
,
682
,
714
,
746
,
778
,
810
,
842
,
874
,
906
,
938
,
970
,
1002
,
11
,
43
,
75
,
107
,
139
,
171
,
203
,
235
,
267
,
299
,
331
,
363
,
395
,
427
,
459
,
491
,
523
,
555
,
587
,
619
,
651
,
683
,
715
,
747
,
779
,
811
,
843
,
875
,
907
,
939
,
971
,
1003
,
12
,
44
,
76
,
108
,
140
,
172
,
204
,
236
,
268
,
300
,
332
,
364
,
396
,
428
,
460
,
492
,
524
,
556
,
588
,
620
,
652
,
684
,
716
,
748
,
780
,
812
,
844
,
876
,
908
,
940
,
972
,
1004
,
13
,
45
,
77
,
109
,
141
,
173
,
205
,
237
,
269
,
301
,
333
,
365
,
397
,
429
,
461
,
493
,
525
,
557
,
589
,
621
,
653
,
685
,
717
,
749
,
781
,
813
,
845
,
877
,
909
,
941
,
973
,
1005
,
14
,
46
,
78
,
110
,
142
,
174
,
206
,
238
,
270
,
302
,
334
,
366
,
398
,
430
,
462
,
494
,
526
,
558
,
590
,
622
,
654
,
686
,
718
,
750
,
782
,
814
,
846
,
878
,
910
,
942
,
974
,
1006
,
15
,
47
,
79
,
111
,
143
,
175
,
207
,
239
,
271
,
303
,
335
,
367
,
399
,
431
,
463
,
495
,
527
,
559
,
591
,
623
,
655
,
687
,
719
,
751
,
783
,
815
,
847
,
879
,
911
,
943
,
975
,
1007
,
16
,
48
,
80
,
112
,
144
,
176
,
208
,
240
,
272
,
304
,
336
,
368
,
400
,
432
,
464
,
496
,
528
,
560
,
592
,
624
,
656
,
688
,
720
,
752
,
784
,
816
,
848
,
880
,
912
,
944
,
976
,
1008
,
17
,
49
,
81
,
113
,
145
,
177
,
209
,
241
,
273
,
305
,
337
,
369
,
401
,
433
,
465
,
497
,
529
,
561
,
593
,
625
,
657
,
689
,
721
,
753
,
785
,
817
,
849
,
881
,
913
,
945
,
977
,
1009
,
18
,
50
,
82
,
114
,
146
,
178
,
210
,
242
,
274
,
306
,
338
,
370
,
402
,
434
,
466
,
498
,
530
,
562
,
594
,
626
,
658
,
690
,
722
,
754
,
786
,
818
,
850
,
882
,
914
,
946
,
978
,
1010
,
19
,
51
,
83
,
115
,
147
,
179
,
211
,
243
,
275
,
307
,
339
,
371
,
403
,
435
,
467
,
499
,
531
,
563
,
595
,
627
,
659
,
691
,
723
,
755
,
787
,
819
,
851
,
883
,
915
,
947
,
979
,
1011
,
20
,
52
,
84
,
116
,
148
,
180
,
212
,
244
,
276
,
308
,
340
,
372
,
404
,
436
,
468
,
500
,
532
,
564
,
596
,
628
,
660
,
692
,
724
,
756
,
788
,
820
,
852
,
884
,
916
,
948
,
980
,
1012
,
21
,
53
,
85
,
117
,
149
,
181
,
213
,
245
,
277
,
309
,
341
,
373
,
405
,
437
,
469
,
501
,
533
,
565
,
597
,
629
,
661
,
693
,
725
,
757
,
789
,
821
,
853
,
885
,
917
,
949
,
981
,
1013
,
22
,
54
,
86
,
118
,
150
,
182
,
214
,
246
,
278
,
310
,
342
,
374
,
406
,
438
,
470
,
502
,
534
,
566
,
598
,
630
,
662
,
694
,
726
,
758
,
790
,
822
,
854
,
886
,
918
,
950
,
982
,
1014
,
23
,
55
,
87
,
119
,
151
,
183
,
215
,
247
,
279
,
311
,
343
,
375
,
407
,
439
,
471
,
503
,
535
,
567
,
599
,
631
,
663
,
695
,
727
,
759
,
791
,
823
,
855
,
887
,
919
,
951
,
983
,
1015
,
24
,
56
,
88
,
120
,
152
,
184
,
216
,
248
,
280
,
312
,
344
,
376
,
408
,
440
,
472
,
504
,
536
,
568
,
600
,
632
,
664
,
696
,
728
,
760
,
792
,
824
,
856
,
888
,
920
,
952
,
984
,
1016
,
25
,
57
,
89
,
121
,
153
,
185
,
217
,
249
,
281
,
313
,
345
,
377
,
409
,
441
,
473
,
505
,
537
,
569
,
601
,
633
,
665
,
697
,
729
,
761
,
793
,
825
,
857
,
889
,
921
,
953
,
985
,
1017
,
26
,
58
,
90
,
122
,
154
,
186
,
218
,
250
,
282
,
314
,
346
,
378
,
410
,
442
,
474
,
506
,
538
,
570
,
602
,
634
,
666
,
698
,
730
,
762
,
794
,
826
,
858
,
890
,
922
,
954
,
986
,
1018
,
27
,
59
,
91
,
123
,
155
,
187
,
219
,
251
,
283
,
315
,
347
,
379
,
411
,
443
,
475
,
507
,
539
,
571
,
603
,
635
,
667
,
699
,
731
,
763
,
795
,
827
,
859
,
891
,
923
,
955
,
987
,
1019
,
28
,
60
,
92
,
124
,
156
,
188
,
220
,
252
,
284
,
316
,
348
,
380
,
412
,
444
,
476
,
508
,
540
,
572
,
604
,
636
,
668
,
700
,
732
,
764
,
796
,
828
,
860
,
892
,
924
,
956
,
988
,
1020
,
29
,
61
,
93
,
125
,
157
,
189
,
221
,
253
,
285
,
317
,
349
,
381
,
413
,
445
,
477
,
509
,
541
,
573
,
605
,
637
,
669
,
701
,
733
,
765
,
797
,
829
,
861
,
893
,
925
,
957
,
989
,
1021
,
30
,
62
,
94
,
126
,
158
,
190
,
222
,
254
,
286
,
318
,
350
,
382
,
414
,
446
,
478
,
510
,
542
,
574
,
606
,
638
,
670
,
702
,
734
,
766
,
798
,
830
,
862
,
894
,
926
,
958
,
990
,
1022
,
31
,
63
,
95
,
127
,
159
,
191
,
223
,
255
,
287
,
319
,
351
,
383
,
415
,
447
,
479
,
511
,
543
,
575
,
607
,
639
,
671
,
703
,
735
,
767
,
799
,
831
,
863
,
895
,
927
,
959
,
991
,
1023
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_32x32
[
1024
])
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
113
,
114
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
157
,
158
,
159
,
160
,
161
,
162
,
163
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
171
,
172
,
173
,
174
,
175
,
176
,
177
,
178
,
179
,
180
,
181
,
182
,
183
,
184
,
185
,
186
,
187
,
188
,
189
,
190
,
191
,
192
,
193
,
194
,
195
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
203
,
204
,
205
,
206
,
207
,
208
,
209
,
210
,
211
,
212
,
213
,
214
,
215
,
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
250
,
251
,
252
,
253
,
254
,
255
,
256
,
257
,
258
,
259
,
260
,
261
,
262
,
263
,
264
,
265
,
266
,
267
,
268
,
269
,
270
,
271
,
272
,
273
,
274
,
275
,
276
,
277
,
278
,
279
,
280
,
281
,
282
,
283
,
284
,
285
,
286
,
287
,
288
,
289
,
290
,
291
,
292
,
293
,
294
,
295
,
296
,
297
,
298
,
299
,
300
,
301
,
302
,
303
,
304
,
305
,
306
,
307
,
308
,
309
,
310
,
311
,
312
,
313
,
314
,
315
,
316
,
317
,
318
,
319
,
320
,
321
,
322
,
323
,
324
,
325
,
326
,
327
,
328
,
329
,
330
,
331
,
332
,
333
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
351
,
352
,
353
,
354
,
355
,
356
,
357
,
358
,
359
,
360
,
361
,
362
,
363
,
364
,
365
,
366
,
367
,
368
,
369
,
370
,
371
,
372
,
373
,
374
,
375
,
376
,
377
,
378
,
379
,
380
,
381
,
382
,
383
,
384
,
385
,
386
,
387
,
388
,
389
,
390
,
391
,
392
,
393
,
394
,
395
,
396
,
397
,
398
,
399
,
400
,
401
,
402
,
403
,
404
,
405
,
406
,
407
,
408
,
409
,
410
,
411
,
412
,
413
,
414
,
415
,
416
,
417
,
418
,
419
,
420
,
421
,
422
,
423
,
424
,
425
,
426
,
427
,
428
,
429
,
430
,
431
,
432
,
433
,
434
,
435
,
436
,
437
,
438
,
439
,
440
,
441
,
442
,
443
,
444
,
445
,
446
,
447
,
448
,
449
,
450
,
451
,
452
,
453
,
454
,
455
,
456
,
457
,
458
,
459
,
460
,
461
,
462
,
463
,
464
,
465
,
466
,
467
,
468
,
469
,
470
,
471
,
472
,
473
,
474
,
475
,
476
,
477
,
478
,
479
,
480
,
481
,
482
,
483
,
484
,
485
,
486
,
487
,
488
,
489
,
490
,
491
,
492
,
493
,
494
,
495
,
496
,
497
,
498
,
499
,
500
,
501
,
502
,
503
,
504
,
505
,
506
,
507
,
508
,
509
,
510
,
511
,
512
,
513
,
514
,
515
,
516
,
517
,
518
,
519
,
520
,
521
,
522
,
523
,
524
,
525
,
526
,
527
,
528
,
529
,
530
,
531
,
532
,
533
,
534
,
535
,
536
,
537
,
538
,
539
,
540
,
541
,
542
,
543
,
544
,
545
,
546
,
547
,
548
,
549
,
550
,
551
,
552
,
553
,
554
,
555
,
556
,
557
,
558
,
559
,
560
,
561
,
562
,
563
,
564
,
565
,
566
,
567
,
568
,
569
,
570
,
571
,
572
,
573
,
574
,
575
,
576
,
577
,
578
,
579
,
580
,
581
,
582
,
583
,
584
,
585
,
586
,
587
,
588
,
589
,
590
,
591
,
592
,
593
,
594
,
595
,
596
,
597
,
598
,
599
,
600
,
601
,
602
,
603
,
604
,
605
,
606
,
607
,
608
,
609
,
610
,
611
,
612
,
613
,
614
,
615
,
616
,
617
,
618
,
619
,
620
,
621
,
622
,
623
,
624
,
625
,
626
,
627
,
628
,
629
,
630
,
631
,
632
,
633
,
634
,
635
,
636
,
637
,
638
,
639
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
647
,
648
,
649
,
650
,
651
,
652
,
653
,
654
,
655
,
656
,
657
,
658
,
659
,
660
,
661
,
662
,
663
,
664
,
665
,
666
,
667
,
668
,
669
,
670
,
671
,
672
,
673
,
674
,
675
,
676
,
677
,
678
,
679
,
680
,
681
,
682
,
683
,
684
,
685
,
686
,
687
,
688
,
689
,
690
,
691
,
692
,
693
,
694
,
695
,
696
,
697
,
698
,
699
,
700
,
701
,
702
,
703
,
704
,
705
,
706
,
707
,
708
,
709
,
710
,
711
,
712
,
713
,
714
,
715
,
716
,
717
,
718
,
719
,
720
,
721
,
722
,
723
,
724
,
725
,
726
,
727
,
728
,
729
,
730
,
731
,
732
,
733
,
734
,
735
,
736
,
737
,
738
,
739
,
740
,
741
,
742
,
743
,
744
,
745
,
746
,
747
,
748
,
749
,
750
,
751
,
752
,
753
,
754
,
755
,
756
,
757
,
758
,
759
,
760
,
761
,
762
,
763
,
764
,
765
,
766
,
767
,
768
,
769
,
770
,
771
,
772
,
773
,
774
,
775
,
776
,
777
,
778
,
779
,
780
,
781
,
782
,
783
,
784
,
785
,
786
,
787
,
788
,
789
,
790
,
791
,
792
,
793
,
794
,
795
,
796
,
797
,
798
,
799
,
800
,
801
,
802
,
803
,
804
,
805
,
806
,
807
,
808
,
809
,
810
,
811
,
812
,
813
,
814
,
815
,
816
,
817
,
818
,
819
,
820
,
821
,
822
,
823
,
824
,
825
,
826
,
827
,
828
,
829
,
830
,
831
,
832
,
833
,
834
,
835
,
836
,
837
,
838
,
839
,
840
,
841
,
842
,
843
,
844
,
845
,
846
,
847
,
848
,
849
,
850
,
851
,
852
,
853
,
854
,
855
,
856
,
857
,
858
,
859
,
860
,
861
,
862
,
863
,
864
,
865
,
866
,
867
,
868
,
869
,
870
,
871
,
872
,
873
,
874
,
875
,
876
,
877
,
878
,
879
,
880
,
881
,
882
,
883
,
884
,
885
,
886
,
887
,
888
,
889
,
890
,
891
,
892
,
893
,
894
,
895
,
896
,
897
,
898
,
899
,
900
,
901
,
902
,
903
,
904
,
905
,
906
,
907
,
908
,
909
,
910
,
911
,
912
,
913
,
914
,
915
,
916
,
917
,
918
,
919
,
920
,
921
,
922
,
923
,
924
,
925
,
926
,
927
,
928
,
929
,
930
,
931
,
932
,
933
,
934
,
935
,
936
,
937
,
938
,
939
,
940
,
941
,
942
,
943
,
944
,
945
,
946
,
947
,
948
,
949
,
950
,
951
,
952
,
953
,
954
,
955
,
956
,
957
,
958
,
959
,
960
,
961
,
962
,
963
,
964
,
965
,
966
,
967
,
968
,
969
,
970
,
971
,
972
,
973
,
974
,
975
,
976
,
977
,
978
,
979
,
980
,
981
,
982
,
983
,
984
,
985
,
986
,
987
,
988
,
989
,
990
,
991
,
992
,
993
,
994
,
995
,
996
,
997
,
998
,
999
,
1000
,
1001
,
1002
,
1003
,
1004
,
1005
,
1006
,
1007
,
1008
,
1009
,
1010
,
1011
,
1012
,
1013
,
1014
,
1015
,
1016
,
1017
,
1018
,
1019
,
1020
,
1021
,
1022
,
1023
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
default_scan_32x32
[
1024
])
=
{
0
,
32
,
1
,
64
,
33
,
2
,
96
,
65
,
34
,
128
,
3
,
97
,
66
,
160
,
129
,
35
,
98
,
4
,
67
,
130
,
161
,
192
,
36
,
99
,
224
,
5
,
162
,
193
,
...
...
@@ -511,6 +789,18 @@ DECLARE_ALIGNED(16, static const int16_t,
3
,
6
,
10
,
13
,
7
,
10
,
11
,
14
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_4x4_neighbors
[
17
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
4
,
4
,
8
,
8
,
0
,
0
,
1
,
4
,
5
,
8
,
9
,
12
,
1
,
1
,
2
,
5
,
6
,
9
,
10
,
13
,
2
,
2
,
3
,
6
,
7
,
10
,
11
,
14
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_4x4_neighbors
[
17
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
1
,
1
,
2
,
2
,
0
,
0
,
1
,
4
,
2
,
5
,
3
,
6
,
4
,
4
,
5
,
8
,
6
,
9
,
7
,
10
,
8
,
8
,
9
,
12
,
10
,
13
,
11
,
14
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
col_scan_4x4_neighbors
[
17
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
4
,
4
,
0
,
0
,
8
,
8
,
1
,
1
,
5
,
5
,
1
,
1
,
9
,
9
,
2
,
2
,
6
,
6
,
2
,
2
,
3
,
...
...
@@ -534,6 +824,28 @@ DECLARE_ALIGNED(16, static const int16_t,
47
,
47
,
55
,
55
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_8x8_neighbors
[
65
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
8
,
8
,
16
,
16
,
24
,
24
,
32
,
32
,
40
,
40
,
48
,
48
,
0
,
0
,
1
,
8
,
9
,
16
,
17
,
24
,
25
,
32
,
33
,
40
,
41
,
48
,
49
,
56
,
1
,
1
,
2
,
9
,
10
,
17
,
18
,
25
,
26
,
33
,
34
,
41
,
42
,
49
,
50
,
57
,
2
,
2
,
3
,
10
,
11
,
18
,
19
,
26
,
27
,
34
,
35
,
42
,
43
,
50
,
51
,
58
,
3
,
3
,
4
,
11
,
12
,
19
,
20
,
27
,
28
,
35
,
36
,
43
,
44
,
51
,
52
,
59
,
4
,
4
,
5
,
12
,
13
,
20
,
21
,
28
,
29
,
36
,
37
,
44
,
45
,
52
,
53
,
60
,
5
,
5
,
6
,
13
,
14
,
21
,
22
,
29
,
30
,
37
,
38
,
45
,
46
,
53
,
54
,
61
,
6
,
6
,
7
,
14
,
15
,
22
,
23
,
30
,
31
,
38
,
39
,
46
,
47
,
54
,
55
,
62
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_8x8_neighbors
[
65
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
1
,
1
,
2
,
2
,
3
,
3
,
4
,
4
,
5
,
5
,
6
,
6
,
0
,
0
,
1
,
8
,
2
,
9
,
3
,
10
,
4
,
11
,
5
,
12
,
6
,
13
,
7
,
14
,
8
,
8
,
9
,
16
,
10
,
17
,
11
,
18
,
12
,
19
,
13
,
20
,
14
,
21
,
15
,
22
,
16
,
16
,
17
,
24
,
18
,
25
,
19
,
26
,
20
,
27
,
21
,
28
,
22
,
29
,
23
,
30
,
24
,
24
,
25
,
32
,
26
,
33
,
27
,
34
,
28
,
35
,
29
,
36
,
30
,
37
,
31
,
38
,
32
,
32
,
33
,
40
,
34
,
41
,
35
,
42
,
36
,
43
,
37
,
44
,
38
,
45
,
39
,
46
,
40
,
40
,
41
,
48
,
42
,
49
,
43
,
50
,
44
,
51
,
45
,
52
,
46
,
53
,
47
,
54
,
48
,
48
,
49
,
56
,
50
,
57
,
51
,
58
,
52
,
59
,
53
,
60
,
54
,
61
,
55
,
62
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
row_scan_8x8_neighbors
[
65
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
8
,
8
,
2
,
2
,
8
,
8
,
9
,
9
,
3
,
3
,
16
,
16
,
10
,
10
,
16
,
16
,
...
...
@@ -556,6 +868,114 @@ DECLARE_ALIGNED(16, static const int16_t,
46
,
54
,
61
,
47
,
54
,
55
,
62
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_16x16_neighbors
[
257
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
16
,
16
,
32
,
32
,
48
,
48
,
64
,
64
,
80
,
80
,
96
,
96
,
112
,
112
,
128
,
128
,
144
,
144
,
160
,
160
,
176
,
176
,
192
,
192
,
208
,
208
,
224
,
224
,
0
,
0
,
1
,
16
,
17
,
32
,
33
,
48
,
49
,
64
,
65
,
80
,
81
,
96
,
97
,
112
,
113
,
128
,
129
,
144
,
145
,
160
,
161
,
176
,
177
,
192
,
193
,
208
,
209
,
224
,
225
,
240
,
1
,
1
,
2
,
17
,
18
,
33
,
34
,
49
,
50
,
65
,
66
,
81
,
82
,
97
,
98
,
113
,
114
,
129
,
130
,
145
,
146
,
161
,
162
,
177
,
178
,
193
,
194
,
209
,
210
,
225
,
226
,
241
,
2
,
2
,
3
,
18
,
19
,
34
,
35
,
50
,
51
,
66
,
67
,
82
,
83
,
98
,
99
,
114
,
115
,
130
,
131
,
146
,
147
,
162
,
163
,
178
,
179
,
194
,
195
,
210
,
211
,
226
,
227
,
242
,
3
,
3
,
4
,
19
,
20
,
35
,
36
,
51
,
52
,
67
,
68
,
83
,
84
,
99
,
100
,
115
,
116
,
131
,
132
,
147
,
148
,
163
,
164
,
179
,
180
,
195
,
196
,
211
,
212
,
227
,
228
,
243
,
4
,
4
,
5
,
20
,
21
,
36
,
37
,
52
,
53
,
68
,
69
,
84
,
85
,
100
,
101
,
116
,
117
,
132
,
133
,
148
,
149
,
164
,
165
,
180
,
181
,
196
,
197
,
212
,
213
,
228
,
229
,
244
,
5
,
5
,
6
,
21
,
22
,
37
,
38
,
53
,
54
,
69
,
70
,
85
,
86
,
101
,
102
,
117
,
118
,
133
,
134
,
149
,
150
,
165
,
166
,
181
,
182
,
197
,
198
,
213
,
214
,
229
,
230
,
245
,
6
,
6
,
7
,
22
,
23
,
38
,
39
,
54
,
55
,
70
,
71
,
86
,
87
,
102
,
103
,
118
,
119
,
134
,
135
,
150
,
151
,
166
,
167
,
182
,
183
,
198
,
199
,
214
,
215
,
230
,
231
,
246
,
7
,
7
,
8
,
23
,
24
,
39
,
40
,
55
,
56
,
71
,
72
,
87
,
88
,
103
,
104
,
119
,
120
,
135
,
136
,
151
,
152
,
167
,
168
,
183
,
184
,
199
,
200
,
215
,
216
,
231
,
232
,
247
,
8
,
8
,
9
,
24
,
25
,
40
,
41
,
56
,
57
,
72
,
73
,
88
,
89
,
104
,
105
,
120
,
121
,
136
,
137
,
152
,
153
,
168
,
169
,
184
,
185
,
200
,
201
,
216
,
217
,
232
,
233
,
248
,
9
,
9
,
10
,
25
,
26
,
41
,
42
,
57
,
58
,
73
,
74
,
89
,
90
,
105
,
106
,
121
,
122
,
137
,
138
,
153
,
154
,
169
,
170
,
185
,
186
,
201
,
202
,
217
,
218
,
233
,
234
,
249
,
10
,
10
,
11
,
26
,
27
,
42
,
43
,
58
,
59
,
74
,
75
,
90
,
91
,
106
,
107
,
122
,
123
,
138
,
139
,
154
,
155
,
170
,
171
,
186
,
187
,
202
,
203
,
218
,
219
,
234
,
235
,
250
,
11
,
11
,
12
,
27
,
28
,
43
,
44
,
59
,
60
,
75
,
76
,
91
,
92
,
107
,
108
,
123
,
124
,
139
,
140
,
155
,
156
,
171
,
172
,
187
,
188
,
203
,
204
,
219
,
220
,
235
,
236
,
251
,
12
,
12
,
13
,
28
,
29
,
44
,
45
,
60
,
61
,
76
,
77
,
92
,
93
,
108
,
109
,
124
,
125
,
140
,
141
,
156
,
157
,
172
,
173
,
188
,
189
,
204
,
205
,
220
,
221
,
236
,
237
,
252
,
13
,
13
,
14
,
29
,
30
,
45
,
46
,
61
,
62
,
77
,
78
,
93
,
94
,
109
,
110
,
125
,
126
,
141
,
142
,
157
,
158
,
173
,
174
,
189
,
190
,
205
,
206
,
221
,
222
,
237
,
238
,
253
,
14
,
14
,
15
,
30
,
31
,
46
,
47
,
62
,
63
,
78
,
79
,
94
,
95
,
110
,
111
,
126
,
127
,
142
,
143
,
158
,
159
,
174
,
175
,
190
,
191
,
206
,
207
,
222
,
223
,
238
,
239
,
254
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mrow_scan_16x16_neighbors
[
257
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
1
,
1
,
2
,
2
,
3
,
3
,
4
,
4
,
5
,
5
,
6
,
6
,
7
,
7
,
8
,
8
,
9
,
9
,
10
,
10
,
11
,
11
,
12
,
12
,
13
,
13
,
14
,
14
,
0
,
0
,
1
,
16
,
2
,
17
,
3
,
18
,
4
,
19
,
5
,
20
,
6
,
21
,
7
,
22
,
8
,
23
,
9
,
24
,
10
,
25
,
11
,
26
,
12
,
27
,
13
,
28
,
14
,
29
,
15
,
30
,
16
,
16
,
17
,
32
,
18
,
33
,
19
,
34
,
20
,
35
,
21
,
36
,
22
,
37
,
23
,
38
,
24
,
39
,
25
,
40
,
26
,
41
,
27
,
42
,
28
,
43
,
29
,
44
,
30
,
45
,
31
,
46
,
32
,
32
,
33
,
48
,
34
,
49
,
35
,
50
,
36
,
51
,
37
,
52
,
38
,
53
,
39
,
54
,
40
,
55
,
41
,
56
,
42
,
57
,
43
,
58
,
44
,
59
,
45
,
60
,
46
,
61
,
47
,
62
,
48
,
48
,
49
,
64
,
50
,
65
,
51
,
66
,
52
,
67
,
53
,
68
,
54
,
69
,
55
,
70
,
56
,
71
,
57
,
72
,
58
,
73
,
59
,
74
,
60
,
75
,
61
,
76
,
62
,
77
,
63
,
78
,
64
,
64
,
65
,
80
,
66
,
81
,
67
,
82
,
68
,
83
,
69
,
84
,
70
,
85
,
71
,
86
,
72
,
87
,
73
,
88
,
74
,
89
,
75
,
90
,
76
,
91
,
77
,
92
,
78
,
93
,
79
,
94
,
80
,
80
,
81
,
96
,
82
,
97
,
83
,
98
,
84
,
99
,
85
,
100
,
86
,
101
,
87
,
102
,
88
,
103
,
89
,
104
,
90
,
105
,
91
,
106
,
92
,
107
,
93
,
108
,
94
,
109
,
95
,
110
,
96
,
96
,
97
,
112
,
98
,
113
,
99
,
114
,
100
,
115
,
101
,
116
,
102
,
117
,
103
,
118
,
104
,
119
,
105
,
120
,
106
,
121
,
107
,
122
,
108
,
123
,
109
,
124
,
110
,
125
,
111
,
126
,
112
,
112
,
113
,
128
,
114
,
129
,
115
,
130
,
116
,
131
,
117
,
132
,
118
,
133
,
119
,
134
,
120
,
135
,
121
,
136
,
122
,
137
,
123
,
138
,
124
,
139
,
125
,
140
,
126
,
141
,
127
,
142
,
128
,
128
,
129
,
144
,
130
,
145
,
131
,
146
,
132
,
147
,
133
,
148
,
134
,
149
,
135
,
150
,
136
,
151
,
137
,
152
,
138
,
153
,
139
,
154
,
140
,
155
,
141
,
156
,
142
,
157
,
143
,
158
,
144
,
144
,
145
,
160
,
146
,
161
,
147
,
162
,
148
,
163
,
149
,
164
,
150
,
165
,
151
,
166
,
152
,
167
,
153
,
168
,
154
,
169
,
155
,
170
,
156
,
171
,
157
,
172
,
158
,
173
,
159
,
174
,
160
,
160
,
161
,
176
,
162
,
177
,
163
,
178
,
164
,
179
,
165
,
180
,
166
,
181
,
167
,
182
,
168
,
183
,
169
,
184
,
170
,
185
,
171
,
186
,
172
,
187
,
173
,
188
,
174
,
189
,
175
,
190
,
176
,
176
,
177
,
192
,
178
,
193
,
179
,
194
,
180
,
195
,
181
,
196
,
182
,
197
,
183
,
198
,
184
,
199
,
185
,
200
,
186
,
201
,
187
,
202
,
188
,
203
,
189
,
204
,
190
,
205
,
191
,
206
,
192
,
192
,
193
,
208
,
194
,
209
,
195
,
210
,
196
,
211
,
197
,
212
,
198
,
213
,
199
,
214
,
200
,
215
,
201
,
216
,
202
,
217
,
203
,
218
,
204
,
219
,
205
,
220
,
206
,
221
,
207
,
222
,
208
,
208
,
209
,
224
,
210
,
225
,
211
,
226
,
212
,
227
,
213
,
228
,
214
,
229
,
215
,
230
,
216
,
231
,
217
,
232
,
218
,
233
,
219
,
234
,
220
,
235
,
221
,
236
,
222
,
237
,
223
,
238
,
224
,
224
,
225
,
240
,
226
,
241
,
227
,
242
,
228
,
243
,
229
,
244
,
230
,
245
,
231
,
246
,
232
,
247
,
233
,
248
,
234
,
249
,
235
,
250
,
236
,
251
,
237
,
252
,
238
,
253
,
239
,
254
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
col_scan_16x16_neighbors
[
257
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
16
,
16
,
32
,
32
,
0
,
0
,
48
,
48
,
1
,
1
,
64
,
64
,
...
...
@@ -667,6 +1087,394 @@ DECLARE_ALIGNED(16, static const int16_t,
238
,
239
,
254
,
0
,
0
,
};
DECLARE_ALIGNED
(
16
,
static
const
int16_t
,
mcol_scan_32x32_neighbors
[
1025
*
MAX_NEIGHBORS
])
=
{
0
,
0
,
0
,
0
,
32
,
32
,
64
,
64
,
96
,
96
,
128
,
128
,
160
,
160
,
192
,
192
,
224
,
224
,
256
,
256
,
288
,
288
,
320
,
320
,
352
,
352
,
384
,
384
,
416
,
416
,
448
,
448
,
480
,
480
,
512
,
512
,
544
,
544
,
576
,
576
,
608
,
608
,
640
,
640
,
672
,
672
,
704
,
704
,
736
,
736
,
768
,
768
,
800
,
800
,
832
,
832
,
864
,
864
,
896
,
896
,
928
,
928
,
960
,
960
,
0
,
0
,
1
,
32
,
33
,
64
,
65
,
96
,
97
,
128
,
129
,
160
,
161
,
192
,
193
,
224
,
225
,
256
,
257
,
288
,
289
,
320
,
321
,
352
,
353
,
384
,
385
,
416
,
417
,
448
,
449
,
480
,
481
,
512
,
513
,
544
,
545
,
576
,
577
,
608
,
609
,
640
,
641
,
672
,
673
,
704
,
705
,
736
,
737
,
768
,
769
,
800
,
801
,
832
,
833
,
864
,
865
,
896
,
897
,
928
,
929
,
960
,
961
,
992
,
1
,
1
,
2
,
33
,
34
,
65
,
66
,
97
,
98
,
129
,
130
,
161
,
162
,
193
,
194
,
225
,
226
,
257
,
258
,
289
,
290
,
321
,
322
,
353
,
354
,
385
,
386
,
417
,
418
,
449
,
450
,
481
,
482
,
513
,
514
,
545
,
546
,
577
,
578
,
609
,
610
,
641
,
642
,
673
,
674
,
705
,
706
,
737
,
738
,
769
,
770
,
801
,
802
,
833
,
834
,
865
,
866
,
897
,
898
,
929
,
930
,
961
,
962
,
993
,
2
,
2
,
3
,
34
,
35
,
66
,
67
,
98
,
99
,
130
,
131
,
162
,
163
,
194
,
195
,
226
,
227
,
258
,
259
,
290
,
291
,
322
,
323
,
354
,
355
,
386
,
387
,
418
,
419
,
450
,
451
,
482
,
483
,
514
,
515
,
546
,
547
,
578
,
579
,
610
,
611
,
642
,
643
,
674
,
675
,
706
,
707
,
738
,
739
,
770
,
771
,
802
,
803
,
834
,
835
,
866
,
867
,
898
,
899
,
930
,
931
,
962
,
963
,
994
,
3
,
3
,
4
,
35
,
36
,
67
,
68
,
99
,
100
,
131
,
132
,
163
,
164
,
195
,
196
,
227
,
228
,
259
,
260
,
291
,
292
,
323
,
324
,
355
,
356
,
387
,
388
,
419
,
420
,
451
,
452
,
483
,
484
,
515
,
516
,
547
,
548
,
579
,
580
,
611
,
612
,
643
,
644
,
675
,
676
,
707
,
708
,
739
,
740
,
771
,
772
,
803
,
804
,
835
,
836
,
867
,
868
,
899
,
900
,
931
,
932
,
963
,
964
,
995
,
4
,
4
,
5
,
36
,
37
,
68
,
69
,
100
,
101
,
132
,
133
,
164
,
165
,
196
,
197
,
228
,
229
,
260
,
261
,
292
,
293
,
324
,
325
,
356
,
357
,
388
,
389
,
420
,
421
,
452
,
453
,
484
,
485
,
516
,
517
,
548
,
549
,
580
,
581
,
612
,
613
,
644
,
645
,
676
,
677
,
708
,
709
,
740
,
741
,
772
,
773
,
804
,
805
,
836
,
837
,
868
,
869
,
900
,