1. 09 Feb, 2011 1 commit
  2. 08 Feb, 2011 2 commits
  3. 07 Feb, 2011 1 commit
  4. 06 Feb, 2011 2 commits
    • Timothy B. Terriberry's avatar
      16-bit int fixes. · 285bc372
      Timothy B. Terriberry authored
      This fixes a number of issues for platforms with a 16-bit int, but
       by no means all of them.
      The type change for ec_window (for platforms where sizeof(size_t)==2)
       will break ABI (but not API) compatibility with libsilk and libopus,
       and reduce speed on x86-64, but allows the code to work in real-mode
       DOS without using the huge memory model, which is useful for testing
       16-bit int compliance.
    • Jean-Marc Valin's avatar
  5. 05 Feb, 2011 1 commit
  6. 04 Feb, 2011 12 commits
  7. 03 Feb, 2011 13 commits
  8. 02 Feb, 2011 3 commits
  9. 01 Feb, 2011 5 commits
    • Timothy B. Terriberry's avatar
      Limit mode creation to supported modes. · aa6fec66
      Timothy B. Terriberry authored
      We did no real error checking to see if a mode is supported when it
       is created.
      This patch implements checks for Jean-Marc's rules:
      1) A mode must have frames at least 1ms in length (no more than
          1000 per second).
      2) A mode must have shorts of at most 3.33 ms (at least 300 per
      It also adds error checking to dump_modes so we report the error
       instead of crashing when we fail to create a mode.
    • Jean-Marc Valin's avatar
    • Timothy B. Terriberry's avatar
      Add assertions for band size restrictions. · 2799c297
      Timothy B. Terriberry authored
      The way folding is implemented requires two restrictions:
      1. The last band must be the largest (so we can use its size to
       allocate a temporary buffer to handle interleaving/TF changes).
      2. No band can be larger than twice the size of the previous band
       (so that once we have enough data to start folding, we will always
       have enough data to fold).
      Mode creation makes a heuristic attempt to satisfy these
       conditions, but nothing actually guarantees it.
      This adds some asserts to check them during mode creation.
      They current pass for all supported custom modes.
    • Timothy B. Terriberry's avatar
      Don't allow empty eBands. · cb8f366a
      Timothy B. Terriberry authored
      Currently compute_ebands()'s attempts to round bands to even sizes
       and enforce size constraints on consecutive bands can leave some
       bands entirely empty (e.g., Fs=8000, frame_size=64, i=11).
      This adds a simple post-processing loop to remove such bands.
    • Jean-Marc Valin's avatar