Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Mar 2012 22:40:03 +0000 (23:40 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 19 Mar 2012 23:03:19 +0000 (00:03 +0100)
* qatar/master: (35 commits)
  fix space type in Changelog
  ZeroCodec Decoder
  RealAudio Lossless decoder
  rtpenc: Use AVFormatContext.packet_size instead of a private option
  url: Document the expected behaviour of url_read
  libavformat: Use AVFormatContext.probesize in init_input
  docs: Fix a stray reference to tags in the generic doxy on dicts
  cosmetics: Align some AVInput/OutputFormat declarations
  zmbv: check decompress result
  zmbv: correct indentation
  adpcm: convert adpcm_thp to bytestream2.
  adpcm: convert adpcm_yamaha to bytestream2.
  adpcm: convert adpcm_swf to bytestream2.
  adpcm: convert adpcm_sbpro to bytestream2.
  adpcm: convert adpcm_ct to bytestream2.
  adpcm: convert adpcm_ima_amv/smjpeg to bytestream2.
  adpcm: convert adpcm_ea_xas to bytestream2.
  adpcm: convert adpcm_ea_r1/2/3 to bytestream2.
  adpcm: convert ea_maxis_xa to bytestream2.
  adpcm: convert adpcm_ea to bytestream2.
  ...

Conflicts:
Changelog
libavcodec/Makefile
libavcodec/adpcm.c
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/version.h
libavcodec/zerocodec.c
libavcodec/zmbv.c
libavformat/riff.c
libavformat/url.h
tests/ref/fate/truemotion1-15
tests/ref/fate/truemotion1-24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
22 files changed:
1  2 
Changelog
doc/general.texi
libavcodec/Makefile
libavcodec/adpcm.c
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/utils.c
libavcodec/version.h
libavcodec/zerocodec.c
libavcodec/zmbv.c
libavformat/rm.c
libavformat/rmdec.c
libavformat/rtpenc.c
libavformat/rtpenc.h
libavformat/rtsp.c
libavformat/rtspdec.c
libavformat/rtspenc.c
libavformat/url.h
libavformat/utils.c
libavutil/dict.h
tests/ref/fate/truemotion1-15
tests/ref/fate/truemotion1-24

diff --cc Changelog
+++ b/Changelog
@@@ -1,21 -1,19 +1,22 @@@
  Entries are sorted chronologically from oldest to youngest within each release,
  releases are sorted from youngest to oldest.
  
 -version <next>:
 -
 -- XWD encoder and decoder
 -- Support for fragmentation in the mov/mp4 muxer
 -- ISMV (Smooth Streaming) muxer
 +version next:
 +- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
 +- setfield filter
  - CDXL demuxer and decoder
  - Apple ProRes encoder
 +- ffprobe -count_packets and -count_frames options
  - Sun Rasterfile Encoder
 -- remove libpostproc
  - ID3v2 attached pictures reading and writing
  - WMA Lossless decoder
 +- bluray protocol
 +- blackdetect filter
 +- libutvideo encoder wrapper (--enable-libutvideo)
 +- swapuv filter
 +- bbox filter
  - XBM encoder
+ - RealAudio Lossless decoder
  - ZeroCodec decoder
  
  
Simple merge
Simple merge
@@@ -864,31 -926,26 +926,29 @@@ static int adpcm_decode_frame(AVCodecCo
          /* Each EA ADPCM frame has a 12-byte header followed by 30-byte pieces,
             each coding 28 stereo samples. */
  
-         src += 4; // skip sample count (already read)
-         current_left_sample   = (int16_t)bytestream_get_le16(&src);
-         previous_left_sample  = (int16_t)bytestream_get_le16(&src);
-         current_right_sample  = (int16_t)bytestream_get_le16(&src);
-         previous_right_sample = (int16_t)bytestream_get_le16(&src);
 +        if(avctx->channels != 2)
 +            return AVERROR_INVALIDDATA;
 +
+         current_left_sample   = sign_extend(bytestream2_get_le16u(&gb), 16);
+         previous_left_sample  = sign_extend(bytestream2_get_le16u(&gb), 16);
+         current_right_sample  = sign_extend(bytestream2_get_le16u(&gb), 16);
+         previous_right_sample = sign_extend(bytestream2_get_le16u(&gb), 16);
  
          for (count1 = 0; count1 < nb_samples / 28; count1++) {
-             coeff1l = ea_adpcm_table[ *src >> 4       ];
-             coeff2l = ea_adpcm_table[(*src >> 4  ) + 4];
-             coeff1r = ea_adpcm_table[*src & 0x0F];
-             coeff2r = ea_adpcm_table[(*src & 0x0F) + 4];
-             src++;
+             int byte = bytestream2_get_byteu(&gb);
+             coeff1l = ea_adpcm_table[ byte >> 4       ];
+             coeff2l = ea_adpcm_table[(byte >> 4  ) + 4];
+             coeff1r = ea_adpcm_table[ byte & 0x0F];
+             coeff2r = ea_adpcm_table[(byte & 0x0F) + 4];
  
-             shift_left  = 20 - (*src >> 4);
-             shift_right = 20 - (*src & 0x0F);
-             src++;
+             byte = bytestream2_get_byteu(&gb);
+             shift_left  = 20 - (byte >> 4);
+             shift_right = 20 - (byte & 0x0F);
  
              for (count2 = 0; count2 < 28; count2++) {
-                 next_left_sample  = sign_extend(*src >> 4, 4) << shift_left;
-                 next_right_sample = sign_extend(*src,      4) << shift_right;
-                 src++;
+                 byte = bytestream2_get_byteu(&gb);
+                 next_left_sample  = sign_extend(byte >> 4, 4) << shift_left;
+                 next_right_sample = sign_extend(byte,      4) << shift_right;
  
                  next_left_sample = (next_left_sample +
                      (current_left_sample * coeff1l) +
  
          /* Initialize the previous sample.  */
          for (i = 0; i < 4; i++)
-             prev[i>>1][i&1] = (int16_t)bytestream_get_be16(&src);
 -            prev[0][i] = sign_extend(bytestream2_get_be16u(&gb), 16);
++            prev[i>>1][i&1] = sign_extend(bytestream2_get_be16u(&gb), 16);
  
          for (ch = 0; ch <= st; ch++) {
              samples = (short *)c->frame.data[0] + ch;
Simple merge
@@@ -395,10 -384,7 +395,11 @@@ enum CodecID 
      CODEC_ID_8SVX_EXP,
      CODEC_ID_8SVX_FIB,
      CODEC_ID_BMV_AUDIO,
-     CODEC_ID_8SVX_RAW   = MKBETAG('8','S','V','X'),
+     CODEC_ID_RALF,
 +    CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'),
++    CODEC_ID_8SVX_RAW    = MKBETAG('8','S','V','X'),
 +    CODEC_ID_SONIC       = MKBETAG('S','O','N','C'),
 +    CODEC_ID_SONIC_LS    = MKBETAG('S','O','N','L'),
  
      /* subtitle codecs */
      CODEC_ID_FIRST_SUBTITLE = 0x17000,          ///< A dummy ID pointing at the start of subtitle codecs.
Simple merge
@@@ -21,8 -21,8 +21,8 @@@
  #define AVCODEC_VERSION_H
  
  #define LIBAVCODEC_VERSION_MAJOR 54
- #define LIBAVCODEC_VERSION_MINOR  11
 -#define LIBAVCODEC_VERSION_MINOR 11
 -#define LIBAVCODEC_VERSION_MICRO  0
++#define LIBAVCODEC_VERSION_MINOR  12
 +#define LIBAVCODEC_VERSION_MICRO 100
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \
Simple merge
@@@ -486,19 -486,22 +486,19 @@@ static int decode_frame(AVCodecContext 
              return -1;
          }
  
 -        tmp = av_realloc(c->cur,  avctx->width * avctx->height * (c->bpp / 8));
 -        if (!tmp)
 -            return AVERROR(ENOMEM);
 -        c->cur = tmp;
 -        tmp = av_realloc(c->prev, avctx->width * avctx->height * (c->bpp / 8));
 -        if (!tmp)
 -            return AVERROR(ENOMEM);
 -        c->prev = tmp;
 -        c->bx   = (c->width  + c->bw - 1) / c->bw;
 -        c->by   = (c->height + c->bh - 1) / c->bh;
 +        c->cur  = av_realloc_f(c->cur, avctx->width * avctx->height,  (c->bpp / 8));
 +        c->prev = av_realloc_f(c->prev, avctx->width * avctx->height,  (c->bpp / 8));
 +        c->bx = (c->width + c->bw - 1) / c->bw;
 +        c->by = (c->height+ c->bh - 1) / c->bh;
 +        if (!c->cur || !c->prev)
 +            return -1;
 +        c->decode_intra= decode_intra;
      }
  
-      if (c->decode_intra == NULL) {
-          av_log(avctx, AV_LOG_ERROR, "Error! Got no format or no keyframe!\n");
-          return AVERROR_INVALIDDATA;
-      }
+     if (c->decode_intra == NULL) {
+         av_log(avctx, AV_LOG_ERROR, "Error! Got no format or no keyframe!\n");
+         return AVERROR_INVALIDDATA;
+     }
  
      if (c->comp == 0) { //Uncompressed data
          memcpy(c->decomp_buf, buf, len);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -532,10 -480,9 +532,10 @@@ static int init_input(AVFormatContext *
      if (s->pb) {
          s->flags |= AVFMT_FLAG_CUSTOM_IO;
          if (!s->iformat)
-             return av_probe_input_buffer(s->pb, &s->iformat, filename, s, 0, 0);
+             return av_probe_input_buffer(s->pb, &s->iformat, filename, s, 0, s->probesize);
          else if (s->iformat->flags & AVFMT_NOFILE)
 -            return AVERROR(EINVAL);
 +            av_log(s, AV_LOG_WARNING, "Custom AVIOContext makes no sense and "
 +                                      "will be ignored with AVFMT_NOFILE format.\n");
          return 0;
      }
  
Simple merge
  #tb 0: 1/15
  #tb 1: 1/44100
 -0,          0,          0,        1,   161280, 0x7041748d
 +0,          0,          0,        1,   161280, 0x677c9fb3
- 1,          0,          0,     2709,    10836, 0x2a531236
- 1,       2709,       2709,     2709,    10836, 0xc58f45af
+ 1,          0,          0,     2708,    10832, 0xe1a811fa
+ 1,       2708,       2708,     2708,    10832, 0xb47841f9
 -0,          1,          1,        1,   161280, 0x3cc4dfb5
 +0,          1,          1,        1,   161280, 0xaa280e0a
- 1,       5418,       5418,     2709,    10836, 0x436cf135
+ 1,       5416,       5416,     2708,    10832, 0x839eedf1
 -0,          2,          2,        1,   161280, 0xca3af22d
 +0,          2,          2,        1,   161280, 0x8a4d2225
- 1,       8127,       8127,     2709,    10836, 0x3a6022cc
+ 1,       8124,       8124,     2708,    10832, 0xb48b1f60
 -0,          3,          3,        1,   161280, 0x23ad1d85
 +0,          3,          3,        1,   161280, 0xf10f46a8
- 1,      10836,      10836,     2709,    10836, 0x57e83a4a
+ 1,      10832,      10832,     2708,    10832, 0x743936c0
 -0,          4,          4,        1,   161280, 0x9c9cf364
 +0,          4,          4,        1,   161280, 0x98d9eab6
- 1,      13545,      13545,     2709,    10836, 0xca4b3a1b
+ 1,      13540,      13540,     2708,    10832, 0xe1f039fb
 -0,          5,          5,        1,   161280, 0x1551d6a8
 +0,          5,          5,        1,   161280, 0xa543ae1e
- 1,      16254,      16254,     2709,    10836, 0xc3da7536
+ 1,      16248,      16248,     2708,    10832, 0xef00751a
 -0,          6,          6,        1,   161280, 0xc39f6b95
 +0,          6,          6,        1,   161280, 0x79d717ae
- 1,      18963,      18963,     2709,    10836, 0x8c57d47b
+ 1,      18956,      18956,     2708,    10832, 0x401ed099
 -0,          7,          7,        1,   161280, 0x3b036dcc
 +0,          7,          7,        1,   161280, 0x1a87e2cb
- 1,      21672,      21672,     2709,    10836, 0x9a79572b
+ 1,      21664,      21664,     2708,    10832, 0x432a53bd
 -0,          8,          8,        1,   161280, 0xa6fac1db
 +0,          8,          8,        1,   161280, 0xe5c000ac
- 1,      24381,      24381,     2709,    10836, 0x7dbd6fd3
+ 1,      24372,      24372,     2708,    10832, 0xc4276bfd
 -0,          9,          9,        1,   161280, 0x67656b62
 +0,          9,          9,        1,   161280, 0xa5827077
- 1,      27090,      27090,     2709,    10836, 0x4454fdde
+ 1,      27080,      27080,     2708,    10832, 0x51f0fa8c
 -0,         10,         10,        1,   161280, 0xb41f47d1
 +0,         10,         10,        1,   161280, 0xfd0615ee
- 1,      29799,      29799,     2709,    10836, 0x68aae686
+ 1,      29788,      29788,     2708,    10832, 0xcebae622
 -0,         11,         11,        1,   161280, 0xc207249e
 +0,         11,         11,        1,   161280, 0xc6fdc861
- 1,      32508,      32508,     2709,    10836, 0x61f2df35
- 1,      35217,      35217,     2709,    10836, 0xe36883c6
+ 1,      32496,      32496,     2708,    10832, 0xe9f6dc1f
+ 1,      35204,      35204,     2708,    10832, 0xda087fee
 -0,         12,         12,        1,   161280, 0xbee8f843
 +0,         12,         12,        1,   161280, 0xaa007c7e
- 1,      37926,      37926,     2709,    10836, 0xefa62217
+ 1,      37912,      37912,     2708,    10832, 0x67a621bb
 -0,         13,         13,        1,   161280, 0x092acf46
 +0,         13,         13,        1,   161280, 0xf15e3a96
- 1,      40635,      40635,     2709,    10836, 0x63b92479
+ 1,      40620,      40620,     2708,    10832, 0xd7be207f
 -0,         14,         14,        1,   161280, 0x8d9e2680
 +0,         14,         14,        1,   161280, 0xce827ae1
- 1,      43344,      43344,     2709,    10836, 0xaf452579
+ 1,      43328,      43328,     2708,    10832, 0x19d32507
 -0,         15,         15,        1,   161280, 0x8becc20c
 +0,         15,         15,        1,   161280, 0xf379fc13
- 1,      46053,      46053,     2709,    10836, 0xdbb10001
+ 1,      46036,      46036,     2708,    10832, 0xe1a3fbfa
 -0,         16,         16,        1,   161280, 0x655e444e
 +0,         16,         16,        1,   161280, 0x89686a0c
- 1,      48762,      48762,     2709,    10836, 0xafb7f7a7
+ 1,      48744,      48744,     2708,    10832, 0xd10df779
 -0,         17,         17,        1,   161280, 0x5c112da0
 +0,         17,         17,        1,   161280, 0x7e8342bd
- 1,      51471,      51471,     2709,    10836, 0xd4b1e591
+ 1,      51452,      51452,     2708,    10832, 0x4428e1a7
 -0,         18,         18,        1,   161280, 0x232fa9eb
 +0,         18,         18,        1,   161280, 0x640dab86
- 1,      54180,      54180,     2709,    10836, 0x4d44b3bb
+ 1,      54160,      54160,     2708,    10832, 0x7ea9b33d
 -0,         19,         19,        1,   161280, 0x9721745d
 +0,         19,         19,        1,   161280, 0xc6a86456
- 1,      56889,      56889,     2709,    10836, 0xff2ea5b3
+ 1,      56868,      56868,     2708,    10832, 0x6852a5a5
 -0,         20,         20,        1,   161280, 0x92f1d880
 +0,         20,         20,        1,   161280, 0xe360b538
- 1,      59598,      59598,     2709,    10836, 0x214e88ad
+ 1,      59576,      59576,     2708,    10832, 0xfeb78863
 -0,         21,         21,        1,   161280, 0x16233978
 +0,         21,         21,        1,   161280, 0xbcc21064
- 1,      62307,      62307,     2709,    10836, 0xde8bfc9a
+ 1,      62284,      62284,     2708,    10832, 0xf157f928
 -0,         22,         22,        1,   161280, 0x19a27e69
 +0,         22,         22,        1,   161280, 0x95bc4e63
- 1,      65016,      65016,     2709,    10836, 0xb3cc4b6a
+ 1,      64992,      64992,     2708,    10832, 0x86414b3e
 -0,         23,         23,        1,   161280, 0x7b6ad73a
 +0,         23,         23,        1,   161280, 0x390fa1bd
- 1,      67725,      67725,     2709,    10836, 0x670bce40
- 1,      70434,      70434,     2709,    10836, 0xc17d31b2
+ 1,      67700,      67700,     2708,    10832, 0x2e28cdf6
+ 1,      70408,      70408,     2708,    10832, 0x00212e44
 -0,         24,         24,        1,   161280, 0xa7a674aa
 +0,         24,         24,        1,   161280, 0xa35b3bb9
- 1,      73143,      73143,     2709,    10836, 0x7bcb9392
+ 1,      73116,      73116,     2708,    10832, 0x2d7f9378
 -0,         25,         25,        1,   161280, 0x4e434abb
 +0,         25,         25,        1,   161280, 0x730b0779
- 1,      75852,      75852,     2709,    10836, 0x230e28c9
+ 1,      75824,      75824,     2708,    10832, 0x84cb25d7
 -0,         26,         26,        1,   161280, 0xb96eea14
 +0,         26,         26,        1,   161280, 0xf3c3a3eb
- 1,      78561,      78561,     2709,    10836, 0x42df4204
+ 1,      78532,      78532,     2708,    10832, 0x3aca41fa
 -0,         27,         27,        1,   161280, 0x1350188c
 +0,         27,         27,        1,   161280, 0x676ecbaa
- 1,      81270,      81270,     2709,    10836, 0xfa9134b9
+ 1,      81240,      81240,     2708,    10832, 0x27ad34b9
 -0,         28,         28,        1,   161280, 0x79c6f305
 +0,         28,         28,        1,   161280, 0x06c4a4e5
- 1,      83979,      83979,     2709,    10836, 0x418c1844
+ 1,      83948,      83948,     2708,    10832, 0xe665144a
 -0,         29,         29,        1,   161280, 0xa9c7782d
 +0,         29,         29,        1,   161280, 0x177d26d9
- 1,      86688,      86688,     2709,    10836, 0x93ba66b6
+ 1,      86656,      86656,     2708,    10832, 0xf9546626
 -0,         30,         30,        1,   161280, 0x40a4f456
 +0,         30,         30,        1,   161280, 0xdaf69ebe
- 1,      89397,      89397,     2709,    10836, 0x264a4ffa
+ 1,      89364,      89364,     2708,    10832, 0xe71c4f22
 -0,         31,         31,        1,   161280, 0xaf291ed6
 +0,         31,         31,        1,   161280, 0xabadc296
- 1,      92106,      92106,     2709,    10836, 0x82c78a8e
+ 1,      92072,      92072,     2708,    10832, 0x5e61869c
 -0,         32,         32,        1,   161280, 0xab29b4e1
 +0,         32,         32,        1,   161280, 0xec144665
- 1,      94815,      94815,     2709,    10836, 0x10d22fdc
+ 1,      94780,      94780,     2708,    10832, 0x571d2c10
 -0,         33,         33,        1,   161280, 0xbfcd2712
 +0,         33,         33,        1,   161280, 0x6785aa48
- 1,      97524,      97524,     2709,    10836, 0x2d25906b
+ 1,      97488,      97488,     2708,    10832, 0xf0e08cd5
 -0,         34,         34,        1,   161280, 0xff22a0d7
 +0,         34,         34,        1,   161280, 0x2a0cfcaf
- 1,     100233,     100233,     2709,    10836, 0xa8a111fb
+ 1,     100196,     100196,     2708,    10832, 0x66650e49
 -0,         35,         35,        1,   161280, 0xb0ae88a9
 +0,         35,         35,        1,   161280, 0x9288d513
- 1,     102942,     102942,     2709,    10836, 0xbd95df87
- 1,     105651,     105651,     2709,    10836, 0x500ddec0
+ 1,     102904,     102904,     2708,    10832, 0x4024deaf
+ 1,     105612,     105612,     2708,    10832, 0xda7bdb14
 -0,         36,         36,        1,   161280, 0x811d1259
 +0,         36,         36,        1,   161280, 0x1d295ad0
- 1,     108360,     108360,     2709,    10836, 0x95d9350b
+ 1,     108320,     108320,     2708,    10832, 0xc27a342f
 -0,         37,         37,        1,   161280, 0x593c39a1
 +0,         37,         37,        1,   161280, 0xb9fd8406
- 1,     111069,     111069,     2709,    10836, 0xfa54ea1f
+ 1,     111028,     111028,     2708,    10832, 0x574fe679
 -0,         38,         38,        1,   161280, 0x5a5a97f8
 +0,         38,         38,        1,   161280, 0x98bced49
- 1,     113778,     113778,     2709,    10836, 0x51b2467e
+ 1,     113736,     113736,     2708,    10832, 0x37db464e
 -0,         39,         39,        1,   161280, 0xa5639ecf
 +0,         39,         39,        1,   161280, 0x42e6fbae
- 1,     116487,     116487,     2709,    10836, 0x5d772af9
+ 1,     116444,     116444,     2708,    10832, 0xb1fa2a83
 -0,         40,         40,        1,   161280, 0x543920c6
 +0,         40,         40,        1,   161280, 0xfd218209
- 1,     119196,     119196,     2709,    10836, 0xae25dd8d
+ 1,     119152,     119152,     2708,    10832, 0x3d98d9b7
 -0,         41,         41,        1,   161280, 0xb41689ee
 +0,         41,         41,        1,   161280, 0x21c2ef31
- 1,     121905,     121905,     2709,    10836, 0xe4bd0cb0
+ 1,     121860,     121860,     2708,    10832, 0xb7c908e2
 -0,         42,         42,        1,   161280, 0xc0ad83de
 +0,         42,         42,        1,   161280, 0xce4be932
- 1,     124614,     124614,     2709,    10836, 0xb33544f0
+ 1,     124568,     124568,     2708,    10832, 0x9f7e44d8
 -0,         43,         43,        1,   161280, 0x9e9e7456
 +0,         43,         43,        1,   161280, 0xd5c0d5fc
- 1,     127323,     127323,     2709,    10836, 0xd5658b12
+ 1,     127276,     127276,     2708,    10832, 0xae9b8774
 -0,         44,         44,        1,   161280, 0x777ccbfe
 +0,         44,         44,        1,   161280, 0xf8d13076
- 1,     130032,     130032,     2709,    10836, 0xeff66e5d
+ 1,     129984,     129984,     2708,    10832, 0x36916e3f
 -0,         45,         45,        1,   161280, 0x9c2df916
 +0,         45,         45,        1,   161280, 0xdbf86007
- 1,     132741,     132741,     2709,    10836, 0xb1fff6c5
+ 1,     132692,     132692,     2708,    10832, 0xd785f5ef
 -0,         46,         46,        1,   161280, 0xe0c13b35
 +0,         46,         46,        1,   161280, 0x9475a651
- 1,     135450,     135450,     2709,    10836, 0x84db56b5
- 1,     138159,     138159,     2709,    10836, 0x0230e3c9
+ 1,     135400,     135400,     2708,    10832, 0x2a3a5673
+ 1,     138108,     138108,     2708,    10832, 0x7320e379
 -0,         47,         47,        1,   161280, 0x39bfa5a5
 +0,         47,         47,        1,   161280, 0x41bf1542
- 1,     140868,     140868,     2709,    10836, 0xe58a7faf
+ 1,     140816,     140816,     2708,    10832, 0xec787be5
 -0,         48,         48,        1,   161280, 0x35dfb264
 +0,         48,         48,        1,   161280, 0x6945297f
- 1,     143577,     143577,     2709,    10836, 0xc4003e2a
+ 1,     143524,     143524,     2708,    10832, 0xd0d13aa0
 -0,         49,         49,        1,   161280, 0x43018613
 +0,         49,         49,        1,   161280, 0x2282025e
- 1,     146286,     146286,     2709,    10836, 0x6360cbbf
+ 1,     146232,     146232,     2708,    10832, 0x34dfcb17
 -0,         50,         50,        1,   161280, 0x43584b8a
 +0,         50,         50,        1,   161280, 0x55aace0c
- 1,     148995,     148995,     2709,    10836, 0xc29c2a05
+ 1,     148940,     148940,     2708,    10832, 0x1a9c29f1
 -0,         51,         51,        1,   161280, 0xa5cd230a
 +0,         51,         51,        1,   161280, 0xc78aa51c
- 1,     151704,     151704,     2709,    10836, 0xb294dd11
+ 1,     151648,     151648,     2708,    10832, 0x3e73dcc1
 -0,         52,         52,        1,   161280, 0x6fe2cfb3
 +0,         52,         52,        1,   161280, 0xb4b84e6c
- 1,     154413,     154413,     2709,    10836, 0x4388b43b
+ 1,     154356,     154356,     2708,    10832, 0x7855b053
 -0,         53,         53,        1,   161280, 0x88a7c0db
 +0,         53,         53,        1,   161280, 0x3bbb3e44
- 1,     157122,     157122,     2709,    10836, 0xdd7be367
+ 1,     157064,     157064,     2708,    10832, 0x5588df8f
 -0,         54,         54,        1,   161280, 0x476f1cd2
 +0,         54,         54,        1,   161280, 0x4dd89d80
- 1,     159831,     159831,     2709,    10836, 0xb9f612a9
+ 1,     159772,     159772,     2708,    10832, 0x6f621299
 -0,         55,         55,        1,   161280, 0x96401d49
 +0,         55,         55,        1,   161280, 0xa446a5c5
- 1,     162540,     162540,     2709,    10836, 0xb64a39fe
+ 1,     162480,     162480,     2708,    10832, 0xce7f39c2
 -0,         56,         56,        1,   161280, 0x7d932919
 +0,         56,         56,        1,   161280, 0x8f56b1d6
- 1,     165249,     165249,     2709,    10836, 0x6eba6594
+ 1,     165188,     165188,     2708,    10832, 0xd88e6552
 -0,         57,         57,        1,   161280, 0x06465481
 +0,         57,         57,        1,   161280, 0xa170df87
- 1,     167958,     167958,     2709,    10836, 0xb4af35c1
+ 1,     167896,     167896,     2708,    10832, 0xddc63597
 -0,         58,         58,        1,   161280, 0x39631520
 +0,         58,         58,        1,   161280, 0x4740a4df
- 1,     170667,     170667,     2709,    10836, 0x4e581c49
- 1,     173376,     173376,     2709,    10836, 0xb062a19f
+ 1,     170604,     170604,     2708,    10832, 0xe3071865
+ 1,     173312,     173312,     2708,    10832, 0x2a44a123
 -0,         59,         59,        1,   161280, 0xc3fff780
 +0,         59,         59,        1,   161280, 0x86608ee7
- 1,     176085,     176085,     2709,    10836, 0x87cd6135
+ 1,     176020,     176020,     2708,    10832, 0x08d85d45
 -0,         60,         60,        1,   161280, 0xa81faf28
 +0,         60,         60,        1,   161280, 0x629b4543
- 1,     178794,     178794,     2709,    10836, 0x37bffbd6
+ 1,     178728,     178728,     2708,    10832, 0x4dc5f83a
 -0,         61,         61,        1,   161280, 0x7a311f4f
 +0,         61,         61,        1,   161280, 0x697fb952
- 1,     181503,     181503,     2709,    10836, 0x6c797900
+ 1,     181436,     181436,     2708,    10832, 0x89497812
 -0,         62,         62,        1,   161280, 0x52f9b931
 +0,         62,         62,        1,   161280, 0x98e84a51
- 1,     184212,     184212,     2709,    10836, 0x1615df36
+ 1,     184144,     184144,     2708,    10832, 0x9ee1db54
 -0,         63,         63,        1,   161280, 0x938cf016
 +0,         63,         63,        1,   161280, 0x97949a90
- 1,     186921,     186921,     2709,    10836, 0xb472d9e9
+ 1,     186852,     186852,     2708,    10832, 0x5277d611
 -0,         64,         64,        1,   161280, 0xf8f6e19c
 +0,         64,         64,        1,   161280, 0x6a8c9b96
- 1,     189630,     189630,     2709,    10836, 0xdfff626e
+ 1,     189560,     189560,     2708,    10832, 0x570a619c
 -0,         65,         65,        1,   161280, 0xca90561b
 +0,         65,         65,        1,   161280, 0xafa714ab
- 1,     192339,     192339,     2709,    10836, 0xffa6d771
+ 1,     192268,     192268,     2708,    10832, 0xa217d70f
 -0,         66,         66,        1,   161280, 0x8594d06b
 +0,         66,         66,        1,   161280, 0x0cf39314
- 1,     195048,     195048,     2709,    10836, 0xa7f3cf96
+ 1,     194976,     194976,     2708,    10832, 0x6f0ecbf4
 -0,         67,         67,        1,   161280, 0xea32bf3b
 +0,         67,         67,        1,   161280, 0x9ccc8171
- 1,     197757,     197757,     2709,    10836, 0xf556b50a
+ 1,     197684,     197684,     2708,    10832, 0x2704b114
 -0,         68,         68,        1,   161280, 0x4646111a
 +0,         68,         68,        1,   161280, 0x8232d5a8
- 1,     200466,     200466,     2709,    10836, 0x99b86b39
+ 1,     200392,     200392,     2708,    10832, 0xf24e679f
 -0,         69,         69,        1,   161280, 0xee891162
 +0,         69,         69,        1,   161280, 0x250dd5cb
- 1,     203175,     203175,     2709,    10836, 0x886920d3
+ 1,     203100,     203100,     2708,    10832, 0x05572099
 -0,         70,         70,        1,   161280, 0xcfc32082
 +0,         70,         70,        1,   161280, 0xf764e43a
- 1,     205884,     205884,     2709,    10836, 0xefb0305a
- 1,     208593,     208593,     2709,    10836, 0x4ab7aa32
+ 1,     205808,     205808,     2708,    10832, 0x33942d0c
+ 1,     208516,     208516,     2708,    10832, 0xa77ea674
 -0,         71,         71,        1,   161280, 0x863c281a
 +0,         71,         71,        1,   161280, 0x2f4bec00
- 1,     211302,     211302,     2709,    10836, 0x7f106530
+ 1,     211224,     211224,     2708,    10832, 0xeba663bc
 -0,         72,         72,        1,   161280, 0x01b591aa
 +0,         72,         72,        1,   161280, 0x76f1598b
- 1,     214011,     214011,     2709,    10836, 0x6461559a
+ 1,     213932,     213932,     2708,    10832, 0x1338524a
 -0,         73,         73,        1,   161280, 0x211fbc62
 +0,         73,         73,        1,   161280, 0xa91b84da
- 1,     216720,     216720,     2709,    10836, 0x25e3b12b
+ 1,     216640,     216640,     2708,    10832, 0x6182b0b3
 -0,         74,         74,        1,   161280, 0xae2bafe2
 +0,         74,         74,        1,   161280, 0x011a77fb
- 1,     219429,     219429,     2709,    10836, 0x32cfa3ba
+ 1,     219348,     219348,     2708,    10832, 0xa410a364
 -0,         75,         75,        1,   161280, 0xcfe46dca
 +0,         75,         75,        1,   161280, 0xdbf5341c
- 1,     222138,     222138,     2709,    10836, 0x0bff78a4
+ 1,     222056,     222056,     2708,    10832, 0x2f4374b0
 -0,         76,         76,        1,   161280, 0xcf8fe8a3
 +0,         76,         76,        1,   161280, 0x40d5abfa
- 1,     224847,     224847,     2709,    10836, 0xe4323d53
+ 1,     224764,     224764,     2708,    10832, 0xf41f3a07
 -0,         77,         77,        1,   161280, 0x3f8474eb
 +0,         77,         77,        1,   161280, 0x9fb8360c
- 1,     227556,     227556,     2709,    10836, 0x70b35196
+ 1,     227472,     227472,     2708,    10832, 0x2b1c50c6
 -0,         78,         78,        1,   161280, 0x06da345a
 +0,         78,         78,        1,   161280, 0xabc5fba8
- 1,     230265,     230265,     2709,    10836, 0xf2b8b07f
+ 1,     230180,     230180,     2708,    10832, 0x3692ac89
 -0,         79,         79,        1,   161280, 0xbd4d3280
 +0,         79,         79,        1,   161280, 0x98090909
- 1,     232974,     232974,     2709,    10836, 0x826cc972
+ 1,     232888,     232888,     2708,    10832, 0x5d6bc87e
 -0,         80,         80,        1,   161280, 0xb5e70fea
 +0,         80,         80,        1,   161280, 0x9a3613bd
- 1,     235683,     235683,     2709,    10836, 0x8a0fdce8
+ 1,     235596,     235596,     2708,    10832, 0x1b1cda0c
 -0,         81,         81,        1,   161280, 0x0c99c804
 +0,         81,         81,        1,   161280, 0x9071024f
- 1,     238392,     238392,     2709,    10836, 0xa072a503
+ 1,     238304,     238304,     2708,    10832, 0x11eaa15f
+ 1,     241012,     241012,     2708,    10832, 0x73c7d7ef
 -0,         82,         82,        1,   161280, 0x19841ed4
 +0,         82,         82,        1,   161280, 0x4df39487
- 1,     241101,     241101,     2709,    10836, 0xd698d8e7
- 1,     243810,     243810,     2709,    10836, 0xfe80e794
+ 1,     243720,     243720,     2708,    10832, 0x65d7e3be
 -0,         83,         83,        1,   161280, 0xf81dea50
 +0,         83,         83,        1,   161280, 0x17658524
- 1,     246519,     246519,     2709,    10836, 0xdd580a5a
+ 1,     246428,     246428,     2708,    10832, 0xb9c00688
 -0,         84,         84,        1,   161280, 0x7777d81c
 +0,         84,         84,        1,   161280, 0xbcd794df
- 1,     249228,     249228,     2709,    10836, 0x121bc1bb
+ 1,     249136,     249136,     2708,    10832, 0x0b98c125
 -0,         85,         85,        1,   161280, 0x0497cfd8
 +0,         85,         85,        1,   161280, 0x2a14ae05
- 1,     251937,     251937,     2709,    10836, 0x8cebd7d9
+ 1,     251844,     251844,     2708,    10832, 0x331ed413
 -0,         86,         86,        1,   161280, 0x50b6eb64
 +0,         86,         86,        1,   161280, 0x664feab2
- 1,     254646,     254646,     2709,    10836, 0x6eaef4d7
+ 1,     254552,     254552,     2708,    10832, 0x9b68f485
 -0,         87,         87,        1,   161280, 0x5071fc07
 +0,         87,         87,        1,   161280, 0xf6b721f4
- 1,     257355,     257355,     2709,    10836, 0x8f0b5d0b
+ 1,     257260,     257260,     2708,    10832, 0x1b865c55
 -0,         88,         88,        1,   161280, 0xbb7527fb
 +0,         88,         88,        1,   161280, 0xfec565f3
- 1,     260064,     260064,     2709,    10836, 0x40ccf61f
+ 1,     259968,     259968,     2708,    10832, 0x68cef565
 -0,         89,         89,        1,   161280, 0x13054f1f
 +0,         89,         89,        1,   161280, 0xd39aabee
- 1,     262773,     262773,     2709,    10836, 0xb6db5f1d
+ 1,     262676,     262676,     2708,    10832, 0x3a605f15
 -0,         90,         90,        1,   161280, 0x4b78fb27
 +0,         90,         90,        1,   161280, 0x1f3d5de7
- 1,     265482,     265482,     2709,    10836, 0xa089f250
+ 1,     265384,     265384,     2708,    10832, 0xd72ff22e
 -0,         91,         91,        1,   161280, 0xf504968f
 +0,         91,         91,        1,   161280, 0xaf97f50c
- 1,     268191,     268191,     2709,    10836, 0xd3512f2b
+ 1,     268092,     268092,     2708,    10832, 0x1c672b67
 -0,         92,         92,        1,   161280, 0x555b10b7
 +0,         92,         92,        1,   161280, 0xe34b6b6a
- 1,     270900,     270900,     2709,    10836, 0xfa127f74
+ 1,     270800,     270800,     2708,    10832, 0xfd1a7e7e
 -0,         93,         93,        1,   161280, 0xcc0dde40
 +0,         93,         93,        1,   161280, 0x4117371e
- 1,     273609,     273609,     2709,    10836, 0xd6a60ead
- 1,     276318,     276318,     2709,    10836, 0x00000000
+ 1,     273508,     273508,     2708,    10832, 0x9bf20ead
+ 1,     276216,     276216,     2708,    10832, 0x00000000
 -0,         94,         94,        1,   161280, 0xcc0dde40
 +0,         94,         94,        1,   161280, 0x4117371e
- 1,     279027,     279027,     2709,    10836, 0x00000000
+ 1,     278924,     278924,     2708,    10832, 0x00000000
 -0,         95,         95,        1,   161280, 0x367f60c8
 +0,         95,         95,        1,   161280, 0xe555b55e
- 1,     281736,     281736,     2709,    10836, 0x00000000
+ 1,     281632,     281632,     2708,    10832, 0x00000000
 -0,         96,         96,        1,   161280, 0x367f60c8
 +0,         96,         96,        1,   161280, 0xe555b55e
- 1,     284445,     284445,     2709,    10836, 0x00000000
+ 1,     284340,     284340,     2708,    10832, 0x00000000
 -0,         97,         97,        1,   161280, 0x367f60c8
 +0,         97,         97,        1,   161280, 0xe555b55e
- 1,     287154,     287154,     2709,    10836, 0x00000000
+ 1,     287048,     287048,     2708,    10832, 0x00000000
 -0,         98,         98,        1,   161280, 0x367f60c8
 +0,         98,         98,        1,   161280, 0xe555b55e
- 1,     289863,     289863,     2709,    10836, 0x00000000
+ 1,     289756,     289756,     2708,    10832, 0x00000000
 -0,         99,         99,        1,   161280, 0x367f60c8
 +0,         99,         99,        1,   161280, 0xe555b55e
- 1,     292572,     292572,     2709,    10836, 0x00000000
+ 1,     292464,     292464,     2708,    10832, 0x00000000
 -0,        100,        100,        1,   161280, 0x367f60c8
 +0,        100,        100,        1,   161280, 0xe555b55e
- 1,     295281,     295281,     2709,    10836, 0x00000000
+ 1,     295172,     295172,     2708,    10832, 0x00000000
 -0,        101,        101,        1,   161280, 0x367f60c8
 +0,        101,        101,        1,   161280, 0xe555b55e
- 1,     297990,     297990,     2709,    10836, 0x00000000
+ 1,     297880,     297880,     2708,    10832, 0x00000000
 -0,        102,        102,        1,   161280, 0x367f60c8
 +0,        102,        102,        1,   161280, 0xe555b55e
- 1,     300699,     300699,     2709,    10836, 0x00000000
+ 1,     300588,     300588,     2708,    10832, 0x00000000
 -0,        103,        103,        1,   161280, 0x367f60c8
 +0,        103,        103,        1,   161280, 0xe555b55e
- 1,     303408,     303408,     2709,    10836, 0x00000000
+ 1,     303296,     303296,     2708,    10832, 0x00000000
 -0,        104,        104,        1,   161280, 0x367f60c8
 +0,        104,        104,        1,   161280, 0xe555b55e
@@@ -1,46 -1,45 +1,46 @@@
  #tb 0: 1/15
  #tb 1: 1/44100
  0,          0,          0,        1,    69120, 0x68beb30f
- 1,          0,          0,     2709,    10836, 0xedecb6a7
- 1,       2709,       2709,     2709,    10836, 0x8098a323
+ 1,          0,          0,     2708,    10832, 0x1597b4c8
+ 1,       2708,       2708,     2708,    10832, 0xf9479f8b
  0,          1,          1,        1,    69120, 0x3976f5cf
- 1,       5418,       5418,     2709,    10836, 0xcfa1112e
+ 1,       5416,       5416,     2708,    10832, 0x8db50e74
  0,          2,          2,        1,    69120, 0xf815bc3c
- 1,       8127,       8127,     2709,    10836, 0xe241ede4
+ 1,       8124,       8124,     2708,    10832, 0x2b33ecbb
  0,          3,          3,        1,    69120, 0xa7cc0ae6
- 1,      10836,      10836,     2709,    10836, 0xddf254bb
+ 1,      10832,      10832,     2708,    10832, 0x8d0f537b
  0,          4,          4,        1,    69120, 0xd85ac282
- 1,      13545,      13545,     2709,    10836, 0xa16c8507
+ 1,      13540,      13540,     2708,    10832, 0x922081c7
  0,          5,          5,        1,    69120, 0xf7fd7edb
- 1,      16254,      16254,     2709,    10836, 0xbe211f93
+ 1,      16248,      16248,     2708,    10832, 0x40291f19
  0,          6,          6,        1,    69120, 0x433bb6f6
- 1,      18963,      18963,     2709,    10836, 0x26c7283d
+ 1,      18956,      18956,     2708,    10832, 0x88f5271a
  0,          7,          7,        1,    69120, 0xdbac8bee
- 1,      21672,      21672,     2709,    10836, 0x4d18be56
+ 1,      21664,      21664,     2708,    10832, 0x55c6bbe5
  0,          8,          8,        1,    69120, 0x88e2a799
- 1,      24381,      24381,     2709,    10836, 0x57b9af6f
+ 1,      24372,      24372,     2708,    10832, 0x9b51ae82
  0,          9,          9,        1,    69120, 0x49617b26
- 1,      27090,      27090,     2709,    10836, 0xd5864280
+ 1,      27080,      27080,     2708,    10832, 0xcdf2409b
  0,         10,         10,        1,    69120, 0xeb44ca01
- 1,      29799,      29799,     2709,    10836, 0xd582b451
+ 1,      29788,      29788,     2708,    10832, 0x0933b1a4
  0,         11,         11,        1,    69120, 0x6fea37e8
- 1,      32508,      32508,     2709,    10836, 0xec13731d
- 1,      35217,      35217,     2709,    10836, 0xe3d4fbb8
+ 1,      32496,      32496,     2708,    10832, 0x24b77006
+ 1,      35204,      35204,     2708,    10832, 0xf612fa8a
  0,         12,         12,        1,    69120, 0xf55d74c7
- 1,      37926,      37926,     2709,    10836, 0xcbb54d18
+ 1,      37912,      37912,     2708,    10832, 0x99884b06
  0,         13,         13,        1,    69120, 0xb5082ca7
- 1,      40635,      40635,     2709,    10836, 0xff7e7133
+ 1,      40620,      40620,     2708,    10832, 0x3c746fbe
  0,         14,         14,        1,    69120, 0x5876d758
- 1,      43344,      43344,     2709,    10836, 0xcc28b1a7
+ 1,      43328,      43328,     2708,    10832, 0x05f3b08a
 +0,         15,         15,        1,    69120, 0x45e7dd5c
- 1,      46053,      46053,     2709,    10836, 0xbf9e07a5
- 1,      48762,      48762,     2709,    10836, 0x16408f38
- 1,      51471,      51471,     2709,    10836, 0x2b000c9f
- 1,      54180,      54180,     2709,    10836, 0x0ccd9811
- 1,      56889,      56889,     2709,    10836, 0xf9575d48
- 1,      59598,      59598,     2709,    10836, 0x1ee68190
- 1,      62307,      62307,     2709,    10836, 0xde435373
- 1,      65016,      65016,     2709,    10836, 0xd83be17a
- 1,      67725,      67725,     2709,    10836, 0x9a7f0bbe
- 1,      70434,      70434,     2709,    10836, 0x8709e4d3
- 1,      73143,      73143,     2709,    10836, 0xde1879cb
+ 1,      46036,      46036,     2708,    10832, 0xa6560483
+ 1,      48744,      48744,     2708,    10832, 0xd98a8e19
+ 1,      51452,      51452,     2708,    10832, 0xf98a0b2e
+ 1,      54160,      54160,     2708,    10832, 0xb1039582
+ 1,      56868,      56868,     2708,    10832, 0x85dd5c3f
+ 1,      59576,      59576,     2708,    10832, 0x19fc801a
+ 1,      62284,      62284,     2708,    10832, 0x95805089
+ 1,      64992,      64992,     2708,    10832, 0x576fdec3
+ 1,      67700,      67700,     2708,    10832, 0x704a0905
+ 1,      70408,      70408,     2708,    10832, 0xf87ce1fa
+ 1,      73116,      73116,     2708,    10832, 0xfc0076b9