summaryrefslogtreecommitdiff
authorMichael Niedermayer <michaelni@gmx.at>2013-01-18 12:54:38 (GMT)
committer Michael Niedermayer <michaelni@gmx.at>2013-01-18 12:54:38 (GMT)
commit8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464 (patch)
tree1cbdc131646a523249ebdd373387176c161e5928
parent17596198cacbb7277f1d9641f0a76fe62ebf155d (diff)
parent940b8b5861241df7aff8977774e1de6e67de5b83 (diff)
downloadffmpeg-8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464.zip
ffmpeg-8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464.tar.gz
ffmpeg-8ac0d95bd371a3cf6b4dd57a3d56cdc7bceef464.tar.bz2
Merge remote-tracking branch 'qatar/master'
* qatar/master: h264: avoid pointless copying of ref lists lavr: always reset mix function names and pointers in mix_function_init() lavr: call mix_function_init() in ff_audio_mix_set_matrix() fate: update ref after rv30_loop_filter fix rv30: fix masking in rv30_loop_filter() Conflicts: tests/ref/fate/filter-delogo tests/ref/fate/rv30 Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat
-rw-r--r--libavcodec/h264.c3
-rw-r--r--libavcodec/h264.h2
-rw-r--r--libavcodec/rv30.c4
-rw-r--r--libavresample/audio_mix.c13
-rw-r--r--tests/ref/fate/filter-delogo164
-rw-r--r--tests/ref/fate/rv30164
6 files changed, 173 insertions, 177 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index db1e5d9..e1c76e3 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1301,7 +1301,7 @@ static int decode_update_thread_context(AVCodecContext *dst,
// reference lists
copy_fields(h, h1, ref_count, list_count);
- copy_fields(h, h1, ref_list, intra_gb);
+ copy_fields(h, h1, ref2frm, intra_gb);
copy_fields(h, h1, short_ref, cabac_init_idc);
copy_picture_range(h->short_ref, h1->short_ref, 32, s, s1);
@@ -2400,7 +2400,6 @@ static int clone_slice(H264Context *dst, H264Context *src)
memcpy(dst->short_ref, src->short_ref, sizeof(dst->short_ref));
memcpy(dst->long_ref, src->long_ref, sizeof(dst->long_ref));
memcpy(dst->default_ref_list, src->default_ref_list, sizeof(dst->default_ref_list));
- memcpy(dst->ref_list, src->ref_list, sizeof(dst->ref_list));
memcpy(dst->dequant4_coeff, src->dequant4_coeff, sizeof(src->dequant4_coeff));
memcpy(dst->dequant8_coeff, src->dequant8_coeff, sizeof(src->dequant8_coeff));
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 4b6a19e..e7ad07d 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -485,9 +485,9 @@ typedef struct H264Context {
int redundant_pic_count;
+ Picture default_ref_list[2][32]; ///< base reference list for all slices of a coded picture
Picture *short_ref[32];
Picture *long_ref[32];
- Picture default_ref_list[2][32]; ///< base reference list for all slices of a coded picture
Picture *delayed_pic[MAX_DELAYED_PIC_COUNT + 2]; // FIXME size?
int last_pocs[MAX_DELAYED_PIC_COUNT];
Picture *next_output_pic;
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index 9d33051..17f1e99 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -187,7 +187,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row)
for(i = !mb_x; i < 2; i++, C += 4){
int ij = i + (j >> 1);
loc_lim = 0;
- if(cur_cbp && (1 << ij))
+ if (cur_cbp & (1 << ij))
loc_lim = cur_lim;
else if(!i && left_cbp & (1 << (ij + 1)))
loc_lim = left_lim;
@@ -229,7 +229,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row)
for(i = 0; i < 2; i++, C += 4){
int ij = i + (j >> 1);
loc_lim = 0;
- if(r->cbp_chroma[mb_pos] && (1 << ij))
+ if (r->cbp_chroma[mb_pos] & (1 << ij))
loc_lim = cur_lim;
else if(!j && top_cbp & (1 << (ij + 2)))
loc_lim = top_lim;
diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c
index 12f5d24..c701bf1 100644
--- a/libavresample/audio_mix.c
+++ b/libavresample/audio_mix.c
@@ -284,11 +284,12 @@ static void mix_2_to_6_fltp_flt_c(float **samples, float **matrix, int len,
static int mix_function_init(AudioMix *am)
{
+ am->func_descr = am->func_descr_generic = "n/a";
+ am->mix = am->mix_generic = NULL;
+
/* no need to set a mix function when we're skipping mixing */
- if (!am->in_matrix_channels || !am->out_matrix_channels) {
- am->func_descr = "n/a";
+ if (!am->in_matrix_channels || !am->out_matrix_channels)
return 0;
- }
/* any-to-any C versions */
@@ -422,10 +423,6 @@ AudioMix *ff_audio_mix_alloc(AVAudioResampleContext *avr)
av_free(matrix_dbl);
}
- ret = mix_function_init(am);
- if (ret < 0)
- goto error;
-
return am;
error:
@@ -704,5 +701,5 @@ int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride)
return AVERROR(EINVAL);
}
- return 0;
+ return mix_function_init(am);
}
diff --git a/tests/ref/fate/filter-delogo b/tests/ref/fate/filter-delogo
index e0f24cd..bc58777 100644
--- a/tests/ref/fate/filter-delogo
+++ b/tests/ref/fate/filter-delogo
@@ -8,13 +8,13 @@
0, 6, 6, 1, 126720, 0x94a0f126
0, 7, 7, 1, 126720, 0x0250f106
0, 8, 8, 1, 126720, 0xcf6ab4bc
-0, 9, 9, 1, 126720, 0x44aeb57c
-0, 10, 10, 1, 126720, 0x33b0b5bc
-0, 11, 11, 1, 126720, 0xc4bab591
+0, 9, 9, 1, 126720, 0x429eb57c
+0, 10, 10, 1, 126720, 0x3bf0b5bc
+0, 11, 11, 1, 126720, 0xcaedb591
0, 12, 12, 1, 126720, 0xa492b5ec
-0, 13, 13, 1, 126720, 0x1459b85c
-0, 14, 14, 1, 126720, 0x806fb8dc
-0, 15, 15, 1, 126720, 0xd241b871
+0, 13, 13, 1, 126720, 0x2431b85c
+0, 14, 14, 1, 126720, 0x8283b8dc
+0, 15, 15, 1, 126720, 0xd71bb871
0, 16, 16, 1, 126720, 0x698eb5cc
0, 17, 17, 1, 126720, 0x4719aa98
0, 18, 18, 1, 126720, 0x9ca1962c
@@ -28,83 +28,83 @@
0, 26, 26, 1, 126720, 0x7af2ea86
0, 27, 27, 1, 126720, 0x40d4b4eb
0, 28, 28, 1, 126720, 0x49d00307
-0, 29, 29, 1, 126720, 0x44c8848e
-0, 30, 30, 1, 126720, 0xc6990101
-0, 31, 31, 1, 126720, 0x2e01b963
+0, 29, 29, 1, 126720, 0x0654849c
+0, 30, 30, 1, 126720, 0xe46d0107
+0, 31, 31, 1, 126720, 0xa483b963
0, 32, 32, 1, 126720, 0xd0e903f0
-0, 33, 33, 1, 126720, 0x3457d592
-0, 34, 34, 1, 126720, 0x4f1ddb3c
-0, 35, 35, 1, 126720, 0x3980ace5
+0, 33, 33, 1, 126720, 0x964ed592
+0, 34, 34, 1, 126720, 0x23fbdb3c
+0, 35, 35, 1, 126720, 0x59fdace5
0, 36, 36, 1, 126720, 0xb1e37954
-0, 37, 37, 1, 126720, 0x619fc554
-0, 38, 38, 1, 126720, 0x945fb39e
-0, 39, 39, 1, 126720, 0xb1d5e0ce
+0, 37, 37, 1, 126720, 0x8ed9c554
+0, 38, 38, 1, 126720, 0xe3c4b39f
+0, 39, 39, 1, 126720, 0xfd17e0ce
0, 40, 40, 1, 126720, 0xf26e1dcc
-0, 41, 41, 1, 126720, 0x04d5783e
-0, 42, 42, 1, 126720, 0xbaa0479e
-0, 43, 43, 1, 126720, 0x20d88b01
+0, 41, 41, 1, 126720, 0x13cc783c
+0, 42, 42, 1, 126720, 0x47ad47a1
+0, 43, 43, 1, 126720, 0x427c8b0d
0, 44, 44, 1, 126720, 0x59d99901
-0, 45, 45, 1, 126720, 0x1c6e09f6
-0, 46, 46, 1, 126720, 0xeec50fc5
-0, 47, 47, 1, 126720, 0xb3a92827
-0, 48, 48, 1, 126720, 0xf62dd2b6
-0, 49, 49, 1, 126720, 0x75b1e619
-0, 50, 50, 1, 126720, 0x6bbce2c0
-0, 51, 51, 1, 126720, 0xd93e023c
-0, 52, 52, 1, 126720, 0xbbe8e7c2
-0, 53, 53, 1, 126720, 0x2272ec17
-0, 54, 54, 1, 126720, 0xf5e4ee6e
-0, 55, 55, 1, 126720, 0x751d2607
-0, 56, 56, 1, 126720, 0x44c499c9
-0, 57, 57, 1, 126720, 0xddccd842
-0, 58, 58, 1, 126720, 0x508dd214
-0, 59, 59, 1, 126720, 0x8eb10272
-0, 60, 60, 1, 126720, 0x7224b1c6
-0, 61, 61, 1, 126720, 0x50ff456c
-0, 62, 62, 1, 126720, 0xa81e2731
-0, 63, 63, 1, 126720, 0x7e50456d
-0, 64, 64, 1, 126720, 0x44802978
-0, 65, 65, 1, 126720, 0x86e88743
-0, 66, 66, 1, 126720, 0x0b1087d6
-0, 67, 67, 1, 126720, 0xb0227d21
-0, 68, 68, 1, 126720, 0x29d10bd2
-0, 69, 69, 1, 126720, 0x04b43afa
-0, 70, 70, 1, 126720, 0xb48e9698
-0, 71, 71, 1, 126720, 0x75d760fb
-0, 72, 72, 1, 126720, 0xa2ab1fdb
-0, 73, 73, 1, 126720, 0xec30a5ee
-0, 74, 74, 1, 126720, 0xbdab7c8c
-0, 75, 75, 1, 126720, 0xac5c3f2c
-0, 76, 76, 1, 126720, 0xce6350be
-0, 77, 77, 1, 126720, 0xb109657a
-0, 78, 78, 1, 126720, 0x723865a4
-0, 79, 79, 1, 126720, 0xa9869124
-0, 80, 80, 1, 126720, 0xc41af558
-0, 81, 81, 1, 126720, 0xcbe6a402
-0, 82, 82, 1, 126720, 0xb6735ecb
-0, 83, 83, 1, 126720, 0xba3059f2
-0, 84, 84, 1, 126720, 0xe7d63b8d
-0, 85, 85, 1, 126720, 0x8f115906
-0, 86, 86, 1, 126720, 0xaf6a8dcb
-0, 87, 87, 1, 126720, 0xb73e846e
-0, 88, 88, 1, 126720, 0xedd6380f
-0, 89, 89, 1, 126720, 0xd9026acf
-0, 90, 90, 1, 126720, 0xa03a650b
-0, 91, 91, 1, 126720, 0x262765bc
-0, 92, 92, 1, 126720, 0xaaa9ded1
-0, 93, 93, 1, 126720, 0xe4f42665
-0, 94, 94, 1, 126720, 0x78daf760
-0, 95, 95, 1, 126720, 0x3b0c6ef8
-0, 96, 96, 1, 126720, 0xb745df80
-0, 97, 97, 1, 126720, 0x08e57b90
-0, 98, 98, 1, 126720, 0x6f883ab0
-0, 99, 99, 1, 126720, 0x934b4dd5
-0, 100, 100, 1, 126720, 0x762f108f
-0, 101, 101, 1, 126720, 0x91ee0f2b
-0, 102, 102, 1, 126720, 0x9af6e5e8
-0, 103, 103, 1, 126720, 0xdcd95e0a
-0, 104, 104, 1, 126720, 0x22c33a6e
-0, 105, 105, 1, 126720, 0x21c1b7f4
-0, 106, 106, 1, 126720, 0x0a66a1ed
-0, 107, 107, 1, 126720, 0x53fea81b
-0, 108, 108, 1, 126720, 0x597f5567
+0, 45, 45, 1, 126720, 0xc40707da
+0, 46, 46, 1, 126720, 0xcd060dce
+0, 47, 47, 1, 126720, 0xed4024f6
+0, 48, 48, 1, 126720, 0x7decd2b4
+0, 49, 49, 1, 126720, 0xd1d2e730
+0, 50, 50, 1, 126720, 0x77cee457
+0, 51, 51, 1, 126720, 0xe78d02c0
+0, 52, 52, 1, 126720, 0xad0beb29
+0, 53, 53, 1, 126720, 0xc414eea2
+0, 54, 54, 1, 126720, 0x6a15f17d
+0, 55, 55, 1, 126720, 0x516027f6
+0, 56, 56, 1, 126720, 0x4eda9dce
+0, 57, 57, 1, 126720, 0x7d9bdba3
+0, 58, 58, 1, 126720, 0x7aa3d5c0
+0, 59, 59, 1, 126720, 0x7c7a04f9
+0, 60, 60, 1, 126720, 0x3e8fb6cc
+0, 61, 61, 1, 126720, 0xd5474916
+0, 62, 62, 1, 126720, 0xf3f62bab
+0, 63, 63, 1, 126720, 0x2f054987
+0, 64, 64, 1, 126720, 0x974c2e81
+0, 65, 65, 1, 126720, 0xe7e28a97
+0, 66, 66, 1, 126720, 0x45e38b41
+0, 67, 67, 1, 126720, 0x169c7f19
+0, 68, 68, 1, 126720, 0x91d90ee8
+0, 69, 69, 1, 126720, 0xdd653e24
+0, 70, 70, 1, 126720, 0x0da598c4
+0, 71, 71, 1, 126720, 0x687e62cc
+0, 72, 72, 1, 126720, 0x7631232d
+0, 73, 73, 1, 126720, 0xbd1ea826
+0, 74, 74, 1, 126720, 0xb55f7f4b
+0, 75, 75, 1, 126720, 0x923f3fc9
+0, 76, 76, 1, 126720, 0x15515301
+0, 77, 77, 1, 126720, 0x9ee066e5
+0, 78, 78, 1, 126720, 0x7c21664b
+0, 79, 79, 1, 126720, 0x36849100
+0, 80, 80, 1, 126720, 0x08b1f61a
+0, 81, 81, 1, 126720, 0x5bfca6e2
+0, 82, 82, 1, 126720, 0x929f60e3
+0, 83, 83, 1, 126720, 0xa2b55c29
+0, 84, 84, 1, 126720, 0x68bd3ff3
+0, 85, 85, 1, 126720, 0x30db5b29
+0, 86, 86, 1, 126720, 0x00578f9b
+0, 87, 87, 1, 126720, 0x18368642
+0, 88, 88, 1, 126720, 0xbcb83a80
+0, 89, 89, 1, 126720, 0x90f36b72
+0, 90, 90, 1, 126720, 0x85e46522
+0, 91, 91, 1, 126720, 0x2429660a
+0, 92, 92, 1, 126720, 0xf283dfe2
+0, 93, 93, 1, 126720, 0x896b27dc
+0, 94, 94, 1, 126720, 0x5af4f961
+0, 95, 95, 1, 126720, 0x31897085
+0, 96, 96, 1, 126720, 0x441ce33e
+0, 97, 97, 1, 126720, 0x903f8009
+0, 98, 98, 1, 126720, 0xbdf33dba
+0, 99, 99, 1, 126720, 0x8a364f36
+0, 100, 100, 1, 126720, 0xda5513f6
+0, 101, 101, 1, 126720, 0xd60012b3
+0, 102, 102, 1, 126720, 0x67bce7be
+0, 103, 103, 1, 126720, 0x697e6174
+0, 104, 104, 1, 126720, 0xbe3e3e90
+0, 105, 105, 1, 126720, 0xf3e4bba6
+0, 106, 106, 1, 126720, 0x8124a679
+0, 107, 107, 1, 126720, 0x58d1acde
+0, 108, 108, 1, 126720, 0xd8a15ba3
diff --git a/tests/ref/fate/rv30 b/tests/ref/fate/rv30
index df002d9..70db647 100644
--- a/tests/ref/fate/rv30
+++ b/tests/ref/fate/rv30
@@ -8,13 +8,13 @@
0, 6, 6, 1, 126720, 0x5e6ff4d7
0, 7, 7, 1, 126720, 0xcc10f4b7
0, 8, 8, 1, 126720, 0x763ab817
-0, 9, 9, 1, 126720, 0xeb6fb8d7
-0, 10, 10, 1, 126720, 0xda71b917
-0, 11, 11, 1, 126720, 0x0967b8f7
+0, 9, 9, 1, 126720, 0xe95fb8d7
+0, 10, 10, 1, 126720, 0xe2b1b917
+0, 11, 11, 1, 126720, 0x11abb8f7
0, 12, 12, 1, 126720, 0x4b62b947
-0, 13, 13, 1, 126720, 0xbb1abbb7
-0, 14, 14, 1, 126720, 0x273fbc37
-0, 15, 15, 1, 126720, 0x16eebbd7
+0, 13, 13, 1, 126720, 0xcaf2bbb7
+0, 14, 14, 1, 126720, 0x2953bc37
+0, 15, 15, 1, 126720, 0x1dd9bbd7
0, 16, 16, 1, 126720, 0x105eb927
0, 17, 17, 1, 126720, 0x7fa3ae27
0, 18, 18, 1, 126720, 0x722e99f7
@@ -28,83 +28,83 @@
0, 26, 26, 1, 126720, 0x6ddaef32
0, 27, 27, 1, 126720, 0xde1bb900
0, 28, 28, 1, 126720, 0xac6c071b
-0, 29, 29, 1, 126720, 0x04e7897c
-0, 30, 30, 1, 126720, 0x5eee050f
-0, 31, 31, 1, 126720, 0xe675be59
+0, 29, 29, 1, 126720, 0x4a9f897c
+0, 30, 30, 1, 126720, 0xd8fa050f
+0, 31, 31, 1, 126720, 0x5d06be59
0, 32, 32, 1, 126720, 0xdc3e0837
-0, 33, 33, 1, 126720, 0x68cfda2b
-0, 34, 34, 1, 126720, 0xe572dfc9
-0, 35, 35, 1, 126720, 0x582fb176
+0, 33, 33, 1, 126720, 0xcac6da2b
+0, 34, 34, 1, 126720, 0x6672dfc9
+0, 35, 35, 1, 126720, 0x7491b176
0, 36, 36, 1, 126720, 0xa9477df0
-0, 37, 37, 1, 126720, 0xbc3cc34f
-0, 38, 38, 1, 126720, 0xcf8cb0e2
-0, 39, 39, 1, 126720, 0xcff1db35
+0, 37, 37, 1, 126720, 0xe976c34f
+0, 38, 38, 1, 126720, 0xdb7ab0e2
+0, 39, 39, 1, 126720, 0x1b42db35
0, 40, 40, 1, 126720, 0xc6e10f9f
-0, 41, 41, 1, 126720, 0x75ae61b6
-0, 42, 42, 1, 126720, 0x12af3119
-0, 43, 43, 1, 126720, 0x85597543
+0, 41, 41, 1, 126720, 0x169d61b6
+0, 42, 42, 1, 126720, 0xc7623119
+0, 43, 43, 1, 126720, 0x5b9b7543
0, 44, 44, 1, 126720, 0x68c27aca
-0, 45, 45, 1, 126720, 0x554fe3e4
-0, 46, 46, 1, 126720, 0x72ecea95
-0, 47, 47, 1, 126720, 0xf4d003d1
-0, 48, 48, 1, 126720, 0x9bf6a605
-0, 49, 49, 1, 126720, 0x5d00b5fe
-0, 50, 50, 1, 126720, 0x93f7b040
-0, 51, 51, 1, 126720, 0x0d6ad154
-0, 52, 52, 1, 126720, 0x4be8b4ea
-0, 53, 53, 1, 126720, 0xe39bba0d
-0, 54, 54, 1, 126720, 0x9c21bad8
-0, 55, 55, 1, 126720, 0xa567f25b
-0, 56, 56, 1, 126720, 0x7a82663a
-0, 57, 57, 1, 126720, 0x72f2a47d
-0, 58, 58, 1, 126720, 0x4f639ebe
-0, 59, 59, 1, 126720, 0xab0fce83
-0, 60, 60, 1, 126720, 0x6cf87d39
-0, 61, 61, 1, 126720, 0x534a10cc
-0, 62, 62, 1, 126720, 0x6bbcf44c
-0, 63, 63, 1, 126720, 0xfdca11d3
-0, 64, 64, 1, 126720, 0x7e58f5a6
-0, 65, 65, 1, 126720, 0x5fd753d8
-0, 66, 66, 1, 126720, 0x0c735615
-0, 67, 67, 1, 126720, 0x2a034ebf
-0, 68, 68, 1, 126720, 0xeaf3dd0b
-0, 69, 69, 1, 126720, 0x0eaf0c1b
-0, 70, 70, 1, 126720, 0xce5e6794
-0, 71, 71, 1, 126720, 0xf27c31c3
-0, 72, 72, 1, 126720, 0xb64af168
-0, 73, 73, 1, 126720, 0x14cf7974
-0, 74, 74, 1, 126720, 0x1c2a513d
-0, 75, 75, 1, 126720, 0xa3f515ab
-0, 76, 76, 1, 126720, 0xcfd62765
-0, 77, 77, 1, 126720, 0xbc513f2a
-0, 78, 78, 1, 126720, 0xbc303fae
-0, 79, 79, 1, 126720, 0x2f8f69b9
-0, 80, 80, 1, 126720, 0x0a22cc69
-0, 81, 81, 1, 126720, 0xd9f67585
-0, 82, 82, 1, 126720, 0x20403001
-0, 83, 83, 1, 126720, 0xf92b2a25
-0, 84, 84, 1, 126720, 0x3c170aad
-0, 85, 85, 1, 126720, 0x3378251f
-0, 86, 86, 1, 126720, 0xb3ed5911
-0, 87, 87, 1, 126720, 0x35d24ef8
-0, 88, 88, 1, 126720, 0x8da30275
-0, 89, 89, 1, 126720, 0xc15a3577
-0, 90, 90, 1, 126720, 0xf2942f53
-0, 91, 91, 1, 126720, 0x44d8304a
-0, 92, 92, 1, 126720, 0xd688a932
-0, 93, 93, 1, 126720, 0x0a24f256
-0, 94, 94, 1, 126720, 0xfab9c45d
-0, 95, 95, 1, 126720, 0x10e939ce
-0, 96, 96, 1, 126720, 0x97fcaa3a
-0, 97, 97, 1, 126720, 0x45464610
-0, 98, 98, 1, 126720, 0xfe2e057d
-0, 99, 99, 1, 126720, 0x0b6718ae
-0, 100, 100, 1, 126720, 0x5284da7b
-0, 101, 101, 1, 126720, 0x23efdc35
-0, 102, 102, 1, 126720, 0xc387b2b3
-0, 103, 103, 1, 126720, 0xc9e92bf1
-0, 104, 104, 1, 126720, 0xfbf20a01
-0, 105, 105, 1, 126720, 0x4d888b2e
-0, 106, 106, 1, 126720, 0xdd0d74df
-0, 107, 107, 1, 126720, 0x49d07aa4
-0, 108, 108, 1, 126720, 0x08382b8e
+0, 45, 45, 1, 126720, 0xa0e4e1c9
+0, 46, 46, 1, 126720, 0xbbdae87e
+0, 47, 47, 1, 126720, 0xe67e00a1
+0, 48, 48, 1, 126720, 0x648ea605
+0, 49, 49, 1, 126720, 0x5becb718
+0, 50, 50, 1, 126720, 0xb79ab1da
+0, 51, 51, 1, 126720, 0x0d52d1dc
+0, 52, 52, 1, 126720, 0x1277b853
+0, 53, 53, 1, 126720, 0xc57cbc83
+0, 54, 54, 1, 126720, 0x2126bdc3
+0, 55, 55, 1, 126720, 0x4c1ef41f
+0, 56, 56, 1, 126720, 0x185f6a2c
+0, 57, 57, 1, 126720, 0xb2b5a7d3
+0, 58, 58, 1, 126720, 0x32d7a26d
+0, 59, 59, 1, 126720, 0x0bffd118
+0, 60, 60, 1, 126720, 0x2eed823a
+0, 61, 61, 1, 126720, 0xc4c0147c
+0, 62, 62, 1, 126720, 0x1f8bf8ac
+0, 63, 63, 1, 126720, 0xfcb715e8
+0, 64, 64, 1, 126720, 0xc3e9fa9c
+0, 65, 65, 1, 126720, 0x9ad8572c
+0, 66, 66, 1, 126720, 0x2800596d
+0, 67, 67, 1, 126720, 0x3caa5094
+0, 68, 68, 1, 126720, 0x6162e000
+0, 69, 69, 1, 126720, 0x18200f2c
+0, 70, 70, 1, 126720, 0x649e699f
+0, 71, 71, 1, 126720, 0x5f513367
+0, 72, 72, 1, 126720, 0x71fbf4a8
+0, 73, 73, 1, 126720, 0x5bff7b97
+0, 74, 74, 1, 126720, 0xbad453d4
+0, 75, 75, 1, 126720, 0x56e6161d
+0, 76, 76, 1, 126720, 0x524f2980
+0, 77, 77, 1, 126720, 0x0589405a
+0, 78, 78, 1, 126720, 0x5c264043
+0, 79, 79, 1, 126720, 0x2394696f
+0, 80, 80, 1, 126720, 0x1aa0cd15
+0, 81, 81, 1, 126720, 0xd6ec7840
+0, 82, 82, 1, 126720, 0xde5531f0
+0, 83, 83, 1, 126720, 0x03a42c3a
+0, 84, 84, 1, 126720, 0xbdee0efb
+0, 85, 85, 1, 126720, 0xa6012736
+0, 86, 86, 1, 126720, 0x448f5ae6
+0, 87, 87, 1, 126720, 0x8a2550c3
+0, 88, 88, 1, 126720, 0x143104e7
+0, 89, 89, 1, 126720, 0x75db363d
+0, 90, 90, 1, 126720, 0x906d2f9d
+0, 91, 91, 1, 126720, 0xfc7b30ab
+0, 92, 92, 1, 126720, 0xd3edaa62
+0, 93, 93, 1, 126720, 0x6267f3fc
+0, 94, 94, 1, 126720, 0x87b6c67f
+0, 95, 95, 1, 126720, 0x84da3b79
+0, 96, 96, 1, 126720, 0x72fbae15
+0, 97, 97, 1, 126720, 0xb8474a80
+0, 98, 98, 1, 126720, 0xbeae088b
+0, 99, 99, 1, 126720, 0x538b1a14
+0, 100, 100, 1, 126720, 0x07bbddcd
+0, 101, 101, 1, 126720, 0x807ddf8f
+0, 102, 102, 1, 126720, 0x325bb46d
+0, 103, 103, 1, 126720, 0xd80c2f2a
+0, 104, 104, 1, 126720, 0xfc1b0dec
+0, 105, 105, 1, 126720, 0x46068ebc
+0, 106, 106, 1, 126720, 0xcd987941
+0, 107, 107, 1, 126720, 0x52f37f2e
+0, 108, 108, 1, 126720, 0xc96931a2