Merge remote-tracking branch 'qatar/release/9' into release/1.1
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 19 Jan 2013 14:21:40 +0000 (15:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 19 Jan 2013 14:54:36 +0000 (15:54 +0100)
* qatar/release/9:
  fate: update ref after rv30_loop_filter fix
  rv30: fix masking in rv30_loop_filter()
  libcdio: support recent cdio-paranoia
  theora: Skip zero-sized headers
  h264: add 3 pixels below for subpixel filter wait position
  h264: fix ff_generate_sliding_window_mmcos() prototype.
  h264: don't clobber mmco opcode tables for non-first slice headers.

Conflicts:
configure
libavcodec/h264_refs.c
tests/ref/fate/filter-delogo
tests/ref/fate/rv30

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
configure
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_refs.c
libavcodec/rv30.c
libavcodec/vp3.c
libavdevice/libcdio.c
tests/ref/fate/filter-delogo
tests/ref/fate/rv30

diff --cc configure
+++ b/configure
@@@ -1340,10 -1199,10 +1340,12 @@@ HAVE_LIST=
      arpa_inet_h
      asm_mod_q
      asm_mod_y
 +    asm_types_h
      attribute_may_alias
      attribute_packed
+     cdio_paranoia_h
+     cdio_paranoia_paranoia_h
 +    clock_gettime
      closesocket
      cmov
      CommandLineToArgvW
  
  # these are off by default, so fail if requested and not available
  enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
 +enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
  enabled frei0r     && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
  enabled gnutls     && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
- enabled libcdio    && require2 libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio
 +enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
 +enabled libaacplus && require  "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
 +enabled libass     && require_pkg_config libass ass/ass.h ass_library_init
 +enabled libbluray  && require libbluray libbluray/bluray.h bd_open -lbluray
 +enabled libcelt    && require libcelt celt/celt.h celt_decode -lcelt0 &&
 +                      { check_lib celt/celt.h celt_decoder_create_custom -lcelt0 ||
 +                        die "ERROR: libcelt must be installed and version must be >= 0.11.0."; }
 +enabled libcaca    && require_pkg_config caca caca.h caca_create_canvas
  enabled libfaac    && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
  enabled libfdk_aac && require  libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
 +flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
 +enabled libflite   && require2 libflite "flite/flite.h" flite_init $flite_libs
  enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
  enabled libgsm     && require  libgsm gsm/gsm.h gsm_create -lgsm
  enabled libilbc    && require  libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc
Simple merge
Simple merge
@@@ -480,22 -476,52 +480,50 @@@ static void print_long_term(H264Contex
      }
  }
  
- void ff_generate_sliding_window_mmcos(H264Context *h) {
-     MpegEncContext * const s = &h->s;
+ static int check_opcodes(MMCO *mmco1, MMCO *mmco2, int n_mmcos)
+ {
+     int i;
+     for (i = 0; i < n_mmcos; i++) {
+         if (mmco1[i].opcode != mmco2[i].opcode)
+             return -1;
+     }
+     return 0;
+ }
  
-     h->mmco_index= 0;
-     if(h->short_ref_count && h->long_ref_count + h->short_ref_count >= h->sps.ref_frame_count &&
-             !(FIELD_PICTURE && !s->first_field && s->current_picture_ptr->f.reference)) {
-         h->mmco[0].opcode= MMCO_SHORT2UNUSED;
-         h->mmco[0].short_pic_num= h->short_ref[ h->short_ref_count - 1 ]->frame_num;
-         h->mmco_index= 1;
+ int ff_generate_sliding_window_mmcos(H264Context *h, int first_slice)
+ {
+     MpegEncContext * const s = &h->s;
+     MMCO mmco_temp[MAX_MMCO_COUNT], *mmco = first_slice ? h->mmco : mmco_temp;
+     int mmco_index = 0, i;
 -    assert(h->long_ref_count + h->short_ref_count <= h->sps.ref_frame_count);
 -
+     if (h->short_ref_count &&
 -        h->long_ref_count + h->short_ref_count == h->sps.ref_frame_count &&
++        h->long_ref_count + h->short_ref_count >= h->sps.ref_frame_count &&
+         !(FIELD_PICTURE && !s->first_field &&
+           s->current_picture_ptr->f.reference)) {
+         mmco[0].opcode = MMCO_SHORT2UNUSED;
+         mmco[0].short_pic_num = h->short_ref[h->short_ref_count - 1]->frame_num;
+         mmco_index = 1;
          if (FIELD_PICTURE) {
-             h->mmco[0].short_pic_num *= 2;
-             h->mmco[1].opcode= MMCO_SHORT2UNUSED;
-             h->mmco[1].short_pic_num= h->mmco[0].short_pic_num + 1;
-             h->mmco_index= 2;
+             mmco[0].short_pic_num *= 2;
+             mmco[1].opcode = MMCO_SHORT2UNUSED;
+             mmco[1].short_pic_num = mmco[0].short_pic_num + 1;
+             mmco_index = 2;
          }
      }
+     if (first_slice) {
+         h->mmco_index = mmco_index;
+     } else if (!first_slice && mmco_index >= 0 &&
+                (mmco_index != h->mmco_index ||
+                 (i = check_opcodes(h->mmco, mmco_temp, mmco_index)))) {
+         av_log(h->s.avctx, AV_LOG_ERROR,
+                "Inconsistent MMCO state between slices [%d, %d, %d]\n",
+                mmco_index, h->mmco_index, i);
+         return AVERROR_INVALIDDATA;
+     }
+     return 0;
  }
  
  int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count){
Simple merge
Simple merge
Simple merge
 -#tb 0: 1/1000
 -0,          1,          1,        0,   126720, 0x689de87e
 -0,         33,         33,        0,   126720, 0x3db9e91c
 -0,         66,         66,        0,   126720, 0x3db9e91c
 -0,        100,        100,        0,   126720, 0x3db9e91c
 -0,        133,        133,        0,   126720, 0xfa6ae95e
 -0,        166,        166,        0,   126720, 0x5bcbf0e6
 -0,        200,        200,        0,   126720, 0x94a0f126
 -0,        233,        233,        0,   126720, 0x0250f106
 -0,        266,        266,        0,   126720, 0xcf6ab4bc
 -0,        300,        300,        0,   126720, 0x429eb57c
 -0,        333,        333,        0,   126720, 0x3bf0b5bc
 -0,        367,        367,        0,   126720, 0xcaedb591
 -0,        400,        400,        0,   126720, 0xa492b5ec
 -0,        433,        433,        0,   126720, 0x2431b85c
 -0,        467,        467,        0,   126720, 0x8283b8dc
 -0,        500,        500,        0,   126720, 0xd71bb871
 -0,        533,        533,        0,   126720, 0x698eb5cc
 -0,        567,        567,        0,   126720, 0x4719aa98
 -0,        600,        600,        0,   126720, 0x9ca1962c
 -0,        633,        633,        0,   126720, 0x18cda460
 -0,        667,        667,        0,   126720, 0xc230b716
 -0,        700,        700,        0,   126720, 0x8451a4e2
 -0,        734,        734,        0,   126720, 0x59e9a7ea
 -0,        767,        767,        0,   126720, 0xc77ca73d
 -0,        800,        800,        0,   126720, 0x725fb976
 -0,        834,        834,        0,   126720, 0xb30da3b3
 -0,        867,        867,        0,   126720, 0x7af2ea86
 -0,        900,        900,        0,   126720, 0x40d4b4eb
 -0,        934,        934,        0,   126720, 0x49d00307
 -0,        967,        967,        0,   126720, 0x0654849c
 -0,       1000,       1000,        0,   126720, 0xe46d0107
 -0,       1034,       1034,        0,   126720, 0xa483b963
 -0,       1067,       1067,        0,   126720, 0xd0e903f0
 -0,       1101,       1101,        0,   126720, 0x964ed592
 -0,       1134,       1134,        0,   126720, 0x23fbdb3c
 -0,       1167,       1167,        0,   126720, 0x59fdace5
 -0,       1201,       1201,        0,   126720, 0xb1e37954
 -0,       1234,       1234,        0,   126720, 0x8ed9c554
 -0,       1267,       1267,        0,   126720, 0xe3c4b39f
 -0,       1301,       1301,        0,   126720, 0xfd17e0ce
 -0,       1334,       1334,        0,   126720, 0xf26e1dcc
 -0,       1368,       1368,        0,   126720, 0x13cc783c
 -0,       1401,       1401,        0,   126720, 0x47ad47a1
 -0,       1434,       1434,        0,   126720, 0x427c8b0d
 -0,       1468,       1468,        0,   126720, 0x59d99901
 -0,       1501,       1501,        0,   126720, 0xc40707da
 -0,       1534,       1534,        0,   126720, 0xcd060dce
 -0,       1568,       1568,        0,   126720, 0xed4024f6
 -0,       1601,       1601,        0,   126720, 0x7decd2b4
 -0,       1634,       1634,        0,   126720, 0xd1d2e730
 -0,       1668,       1668,        0,   126720, 0x77cee457
 -0,       1701,       1701,        0,   126720, 0xe78d02c0
 -0,       1735,       1735,        0,   126720, 0xad0beb29
 -0,       1768,       1768,        0,   126720, 0xc414eea2
 -0,       1801,       1801,        0,   126720, 0x6a15f17d
 -0,       1835,       1835,        0,   126720, 0x516027f6
 -0,       1868,       1868,        0,   126720, 0x4eda9dce
 -0,       1901,       1901,        0,   126720, 0x7d9bdba3
 -0,       1935,       1935,        0,   126720, 0x7aa3d5c0
 -0,       1968,       1968,        0,   126720, 0x7c7a04f9
 -0,       2001,       2001,        0,   126720, 0x3e8fb6cc
 -0,       2035,       2035,        0,   126720, 0xd5474916
 -0,       2068,       2068,        0,   126720, 0xf3f62bab
 -0,       2102,       2102,        0,   126720, 0x2f054987
 -0,       2135,       2135,        0,   126720, 0x974c2e81
 -0,       2168,       2168,        0,   126720, 0xe7e28a97
 -0,       2202,       2202,        0,   126720, 0x45e38b41
 -0,       2235,       2235,        0,   126720, 0x169c7f19
 -0,       2268,       2268,        0,   126720, 0x91d90ee8
 -0,       2302,       2302,        0,   126720, 0xdd653e24
 -0,       2335,       2335,        0,   126720, 0x0da598c4
 -0,       2369,       2369,        0,   126720, 0x687e62cc
 -0,       2402,       2402,        0,   126720, 0x7631232d
 -0,       2435,       2435,        0,   126720, 0xbd1ea826
 -0,       2469,       2469,        0,   126720, 0xb55f7f4b
 -0,       2502,       2502,        0,   126720, 0x923f3fc9
 -0,       2535,       2535,        0,   126720, 0x15515301
 -0,       2569,       2569,        0,   126720, 0x9ee066e5
 -0,       2602,       2602,        0,   126720, 0x7c21664b
 -0,       2635,       2635,        0,   126720, 0x36849100
 -0,       2669,       2669,        0,   126720, 0x08b1f61a
 -0,       2702,       2702,        0,   126720, 0x5bfca6e2
 -0,       2736,       2736,        0,   126720, 0x929f60e3
 -0,       2769,       2769,        0,   126720, 0xa2b55c29
 -0,       2802,       2802,        0,   126720, 0x68bd3ff3
 -0,       2836,       2836,        0,   126720, 0x30db5b29
 -0,       2869,       2869,        0,   126720, 0x00578f9b
 -0,       2902,       2902,        0,   126720, 0x18368642
 -0,       2936,       2936,        0,   126720, 0xbcb83a80
 -0,       2969,       2969,        0,   126720, 0x90f36b72
 -0,       3002,       3002,        0,   126720, 0x85e46522
 -0,       3036,       3036,        0,   126720, 0x2429660a
 -0,       3069,       3069,        0,   126720, 0xf283dfe2
 -0,       3103,       3103,        0,   126720, 0x896b27dc
 -0,       3136,       3136,        0,   126720, 0x5af4f961
 -0,       3169,       3169,        0,   126720, 0x31897085
 -0,       3203,       3203,        0,   126720, 0x441ce33e
 -0,       3236,       3236,        0,   126720, 0x903f8009
 -0,       3269,       3269,        0,   126720, 0xbdf33dba
 -0,       3303,       3303,        0,   126720, 0x8a364f36
 -0,       3336,       3336,        0,   126720, 0xda5513f6
 -0,       3370,       3370,        0,   126720, 0xd60012b3
 -0,       3403,       3403,        0,   126720, 0x67bce7be
 -0,       3436,       3436,        0,   126720, 0x697e6174
 -0,       3470,       3470,        0,   126720, 0xbe3e3e90
 -0,       3503,       3503,        0,   126720, 0xf3e4bba6
 -0,       3536,       3536,        0,   126720, 0x8124a679
 -0,       3570,       3570,        0,   126720, 0x58d1acde
 -0,       3603,       3603,        0,   126720, 0xd8a15ba3
 +#tb 0: 32768/982057
 +0,          0,          0,        1,   126720, 0x689de87e
 +0,          1,          1,        1,   126720, 0x3db9e91c
 +0,          2,          2,        1,   126720, 0x3db9e91c
 +0,          3,          3,        1,   126720, 0x3db9e91c
 +0,          4,          4,        1,   126720, 0xfa6ae95e
 +0,          5,          5,        1,   126720, 0x5bcbf0e6
 +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
 +0,         19,         19,        1,   126720, 0x18cda460
 +0,         20,         20,        1,   126720, 0xc230b716
 +0,         21,         21,        1,   126720, 0x8451a4e2
 +0,         22,         22,        1,   126720, 0x59e9a7ea
 +0,         23,         23,        1,   126720, 0xc77ca73d
 +0,         24,         24,        1,   126720, 0x725fb976
 +0,         25,         25,        1,   126720, 0xb30da3b3
 +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
 -#tb 0: 1/1000
 -0,          1,          1,        0,   126720, 0xcefaec47
 -0,         33,         33,        0,   126720, 0xa416ece5
 -0,         66,         66,        0,   126720, 0xa416ece5
 -0,        100,        100,        0,   126720, 0xa416ece5
 -0,        133,        133,        0,   126720, 0x60d6ed27
 -0,        166,        166,        0,   126720, 0x259af497
 -0,        200,        200,        0,   126720, 0x5e6ff4d7
 -0,        233,        233,        0,   126720, 0xcc10f4b7
 -0,        266,        266,        0,   126720, 0x763ab817
 -0,        300,        300,        0,   126720, 0xe95fb8d7
 -0,        333,        333,        0,   126720, 0xe2b1b917
 -0,        367,        367,        0,   126720, 0x11abb8f7
 -0,        400,        400,        0,   126720, 0x4b62b947
 -0,        433,        433,        0,   126720, 0xcaf2bbb7
 -0,        467,        467,        0,   126720, 0x2953bc37
 -0,        500,        500,        0,   126720, 0x1dd9bbd7
 -0,        533,        533,        0,   126720, 0x105eb927
 -0,        567,        567,        0,   126720, 0x7fa3ae27
 -0,        600,        600,        0,   126720, 0x722e99f7
 -0,        633,        633,        0,   126720, 0x5ac9a827
 -0,        667,        667,        0,   126720, 0x07beba77
 -0,        700,        700,        0,   126720, 0x29d6a887
 -0,        734,        734,        0,   126720, 0xa5caab87
 -0,        767,        767,        0,   126720, 0x9ca7aac7
 -0,        800,        800,        0,   126720, 0xb7debcd7
 -0,        834,        834,        0,   126720, 0xd115a757
 -0,        867,        867,        0,   126720, 0x6ddaef32
 -0,        900,        900,        0,   126720, 0xde1bb900
 -0,        934,        934,        0,   126720, 0xac6c071b
 -0,        967,        967,        0,   126720, 0x4a9f897c
 -0,       1000,       1000,        0,   126720, 0xd8fa050f
 -0,       1034,       1034,        0,   126720, 0x5d06be59
 -0,       1067,       1067,        0,   126720, 0xdc3e0837
 -0,       1101,       1101,        0,   126720, 0xcac6da2b
 -0,       1134,       1134,        0,   126720, 0x6672dfc9
 -0,       1167,       1167,        0,   126720, 0x7491b176
 -0,       1201,       1201,        0,   126720, 0xa9477df0
 -0,       1234,       1234,        0,   126720, 0xe976c34f
 -0,       1267,       1267,        0,   126720, 0xdb7ab0e2
 -0,       1301,       1301,        0,   126720, 0x1b42db35
 -0,       1334,       1334,        0,   126720, 0xc6e10f9f
 -0,       1368,       1368,        0,   126720, 0x169d61b6
 -0,       1401,       1401,        0,   126720, 0xc7623119
 -0,       1434,       1434,        0,   126720, 0x5b9b7543
 -0,       1468,       1468,        0,   126720, 0x68c27aca
 -0,       1501,       1501,        0,   126720, 0xa0e4e1c9
 -0,       1534,       1534,        0,   126720, 0xbbdae87e
 -0,       1568,       1568,        0,   126720, 0xe67e00a1
 -0,       1601,       1601,        0,   126720, 0x648ea605
 -0,       1634,       1634,        0,   126720, 0x5becb718
 -0,       1668,       1668,        0,   126720, 0xb79ab1da
 -0,       1701,       1701,        0,   126720, 0x0d52d1dc
 -0,       1735,       1735,        0,   126720, 0x1277b853
 -0,       1768,       1768,        0,   126720, 0xc57cbc83
 -0,       1801,       1801,        0,   126720, 0x2126bdc3
 -0,       1835,       1835,        0,   126720, 0x4c1ef41f
 -0,       1868,       1868,        0,   126720, 0x185f6a2c
 -0,       1901,       1901,        0,   126720, 0xb2b5a7d3
 -0,       1935,       1935,        0,   126720, 0x32d7a26d
 -0,       1968,       1968,        0,   126720, 0x0bffd118
 -0,       2001,       2001,        0,   126720, 0x2eed823a
 -0,       2035,       2035,        0,   126720, 0xc4c0147c
 -0,       2068,       2068,        0,   126720, 0x1f8bf8ac
 -0,       2102,       2102,        0,   126720, 0xfcb715e8
 -0,       2135,       2135,        0,   126720, 0xc3e9fa9c
 -0,       2168,       2168,        0,   126720, 0x9ad8572c
 -0,       2202,       2202,        0,   126720, 0x2800596d
 -0,       2235,       2235,        0,   126720, 0x3caa5094
 -0,       2268,       2268,        0,   126720, 0x6162e000
 -0,       2302,       2302,        0,   126720, 0x18200f2c
 -0,       2335,       2335,        0,   126720, 0x649e699f
 -0,       2369,       2369,        0,   126720, 0x5f513367
 -0,       2402,       2402,        0,   126720, 0x71fbf4a8
 -0,       2435,       2435,        0,   126720, 0x5bff7b97
 -0,       2469,       2469,        0,   126720, 0xbad453d4
 -0,       2502,       2502,        0,   126720, 0x56e6161d
 -0,       2535,       2535,        0,   126720, 0x524f2980
 -0,       2569,       2569,        0,   126720, 0x0589405a
 -0,       2602,       2602,        0,   126720, 0x5c264043
 -0,       2635,       2635,        0,   126720, 0x2394696f
 -0,       2669,       2669,        0,   126720, 0x1aa0cd15
 -0,       2702,       2702,        0,   126720, 0xd6ec7840
 -0,       2736,       2736,        0,   126720, 0xde5531f0
 -0,       2769,       2769,        0,   126720, 0x03a42c3a
 -0,       2802,       2802,        0,   126720, 0xbdee0efb
 -0,       2836,       2836,        0,   126720, 0xa6012736
 -0,       2869,       2869,        0,   126720, 0x448f5ae6
 -0,       2902,       2902,        0,   126720, 0x8a2550c3
 -0,       2936,       2936,        0,   126720, 0x143104e7
 -0,       2969,       2969,        0,   126720, 0x75db363d
 -0,       3002,       3002,        0,   126720, 0x906d2f9d
 -0,       3036,       3036,        0,   126720, 0xfc7b30ab
 -0,       3069,       3069,        0,   126720, 0xd3edaa62
 -0,       3103,       3103,        0,   126720, 0x6267f3fc
 -0,       3136,       3136,        0,   126720, 0x87b6c67f
 -0,       3169,       3169,        0,   126720, 0x84da3b79
 -0,       3203,       3203,        0,   126720, 0x72fbae15
 -0,       3236,       3236,        0,   126720, 0xb8474a80
 -0,       3269,       3269,        0,   126720, 0xbeae088b
 -0,       3303,       3303,        0,   126720, 0x538b1a14
 -0,       3336,       3336,        0,   126720, 0x07bbddcd
 -0,       3370,       3370,        0,   126720, 0x807ddf8f
 -0,       3403,       3403,        0,   126720, 0x325bb46d
 -0,       3436,       3436,        0,   126720, 0xd80c2f2a
 -0,       3470,       3470,        0,   126720, 0xfc1b0dec
 -0,       3503,       3503,        0,   126720, 0x46068ebc
 -0,       3536,       3536,        0,   126720, 0xcd987941
 -0,       3570,       3570,        0,   126720, 0x52f37f2e
 -0,       3603,       3603,        0,   126720, 0xc96931a2
 +#tb 0: 32768/982057
 +0,          0,          0,        1,   126720, 0xcefaec47
 +0,          1,          1,        1,   126720, 0xa416ece5
 +0,          2,          2,        1,   126720, 0xa416ece5
 +0,          3,          3,        1,   126720, 0xa416ece5
 +0,          4,          4,        1,   126720, 0x60d6ed27
 +0,          5,          5,        1,   126720, 0x259af497
 +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
 +0,         19,         19,        1,   126720, 0x5ac9a827
 +0,         20,         20,        1,   126720, 0x07beba77
 +0,         21,         21,        1,   126720, 0x29d6a887
 +0,         22,         22,        1,   126720, 0xa5caab87
 +0,         23,         23,        1,   126720, 0x9ca7aac7
 +0,         24,         24,        1,   126720, 0xb7debcd7
 +0,         25,         25,        1,   126720, 0xd115a757
 +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