1. 20 Apr, 2017 1 commit
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      tiles;
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
      d8cd55f4
  2. 19 Apr, 2017 1 commit
  3. 18 Apr, 2017 1 commit
  4. 17 Apr, 2017 1 commit
    • Fergus Simpson's avatar
      bitstream-dbg: Add missing include to decodeframe · 350a9b76
      Fergus Simpson authored
      If daala_ec is disabled while bistream_debug is enabled, decodeframe.c
      fails to compile due to aom_util/debug_util.h not being included
      directly.
      
      This patch just adds the missing include so that decodeframe.c will
      still build with bitstream_debug enabled and daala_ec disabled.
      
      Change-Id: I2e7eebdd17431a804be5b00239a9ae581e73f731
      350a9b76
  5. 15 Apr, 2017 1 commit
    • Angie Chiang's avatar
      get_tx_type after av1_read_coeffs_txb_facade · b6d770cd
      Angie Chiang authored
      In lv_map experiment, tx_type will be decoded after
      av1_read_coeffs_tx_facade.
      So one should only call get_tx_type after that.
      
      This CL fix a mismatch happens in lv_map
      
      Change-Id: I91193f0952e82e6ee53b63c51305f0eafbbf29c9
      b6d770cd
  6. 14 Apr, 2017 1 commit
    • Sarah Parker's avatar
      Refactor gm/wm/obmc for cleaner warping interactions · 4c10a3c2
      Sarah Parker authored
      This creates a central function which defines when a
      block should be warped. It also refactors the
      WARPED_MOTION code so that all calls to av1_warp_plane
      happen in the same location.
      
      No change in performance.
      
      Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
      4c10a3c2
  7. 12 Apr, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Homogenize configuration option name. · 71e87847
      Sebastien Alaiwan authored
      Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth'
      
      Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
      71e87847
    • Timothy B. Terriberry's avatar
      pvq: Remove support for disabling nodesync. · 44bb6d06
      Timothy B. Terriberry authored
      This was broken by commit 1238137c.
      
      When calling the generic coder with a max, it truncates the CDF, but
      then tries to encode/decode with the Q15 entropy coder functions
      with built-in adaptation. That causes assertion failures, because the
      total probability isn't 32768.
      
      We could fix it by re-scaling the CDF, and then doing adaptation
      assuming there was no max, but that requires several special-case
      code paths.
      
      Instead, since non-robust streams were the only thing that still
      required calling the generic coder with a max, and since the gain
      from them is very small (and they require doing more DSP just to be
      able to parse the stream), we simply remove the option and force
      the use of robust streams all the time.
      
      With robust streams enabled, encoder output should not change, and
      all streams should remain decodable without decoder changes.
      
      Thanks to Nathan Egge for reporting the problem.
      
      Change-Id: I6c81481abb796688bf703d68f164d208e6a69f20
      44bb6d06
  8. 11 Apr, 2017 2 commits
  9. 10 Apr, 2017 2 commits
    • Angie Chiang's avatar
      Use block_idx rather than block_raster_idx · 752ccce7
      Angie Chiang authored
      1) block_raster_idx is actually raster order only when tx_size
      is TX_4x8.
      It's very specific, so we should put it near to the place it's
      actually used.
      
      2) Sync the meaning of block_idx on encoder/decoder sides
      
      Change-Id: I7d37a992cb773503e29f9c0d9d2586e580aa6173
      752ccce7
    • Jingning Han's avatar
      Temporarily disable multi-thread loop filter in cb4x4 · 52ece884
      Jingning Han authored
      The loop filter parameters change due to many experiments. The
      multi-thread loop filter is built on certain assumptions that would
      require changes in many table contents. Temporarily disable the
      multi-thread loop filter pass and only maintain the single frame
      reference during the development process.
      
      Change-Id: I33a6a7a6fc4299f8fc414ae7f28c5a463af1e12b
      52ece884
  10. 07 Apr, 2017 2 commits
  11. 05 Apr, 2017 4 commits
    • Yushin Cho's avatar
      PVQ uses backward updated context in a tile · c49ef3a1
      Yushin Cho authored
      In the beginning of encoding and bitstream packing,
      the frame context in common of codec is copied to the frame context
      in each tile.
      Initial prob and context is based on flat probability and
      does not come from table at the moment.
      
      The bd-rate change for the test set objective-1-fast
      on awcy with high delay mode is:
      
      PSNR   PSNR  HVS  SSIM  CIEDE 2000  PSNR Cb PSNR Cr MS SSIM
      -0.77  -1.05      -0.74 -0.67       -0.67   -0.77   -0.88
      
      Change-Id: Ic9105ac68aceb7486cb5f6f1c0b19df5853f2cb9
      c49ef3a1
    • Yushin Cho's avatar
      Add PVQ frame context in common and tiles. · b188ea14
      Yushin Cho authored
      In preparation for enabling backward updates of contexts for PVQ.
      1. Default prob setting for PVQ,
      which is based on flat probabilities at the moment.
      2. At the end of encoding a frame, average probablities and expected values
      of PVQ are copied to the frame context.
      
      Change-Id: I1d087b98e6b0d55ebf8aef696dd986f88197cedf
      b188ea14
    • Sarah Parker's avatar
      Reduce the number of bits sent for global translation model · 13d0662b
      Sarah Parker authored
      When a global translation model is found, the only 3 bits
      of precision are used for the motion parameters. This case
      uses a smaller precision than the translation parameters
      in a global model that is rotzoom or greater.
      Change-Id: Ic972e9edf46e301f2894cce2b723960d0297c8e8
      13d0662b
    • Yushin Cho's avatar
      Change PVQ's skip symbols to use dyadic and ec_adapt adaptation · 0077927b
      Yushin Cho authored
      Change-Id: I4f7d37af84220971a839f4f8f42aafa1adeb04e4
      0077927b
  12. 04 Apr, 2017 1 commit
  13. 03 Apr, 2017 4 commits
  14. 31 Mar, 2017 1 commit
  15. 28 Mar, 2017 5 commits
    • hui su's avatar
      Add av1_ prefix to fwd_txfm() · f11fb882
      hui su authored
      Change-Id: Ie18fd2b8a3caf3948748ee353fe41e37f5803ba3
      f11fb882
    • Alex Converse's avatar
      ext_partition_types: Uncopy-paste update_ext_partition_context · ffabff35
      Alex Converse authored
      Change-Id: I8cd35f4697bc5ee90cfcb1fd37042770d6b5a544
      ffabff35
    • Jingning Han's avatar
      Refactor read_partition() · 5fe79db3
      Jingning Han authored
      Replace multiple calls for partition_cdf with a unified variable
      in ec-multisymbol. This siliences a compiler warning in the
      ec-multisymbol.
      
      Change-Id: I56b07579e89e8fba565c4960d081817c86bc0097
      5fe79db3
    • Jingning Han's avatar
      Explicitly use block size to determine partition info · cd95976b
      Jingning Han authored
      Replace the use of num_4x4_log2 with the actual block size as the
      condition to check if a block is partitionable. This avoids conflict
      issues when multiple experiments are turned on.
      
      Change-Id: I666d52458590a6f88c3995a140d20b0d66d27bfb
      cd95976b
    • Fergus Simpson's avatar
      frame_superres: Add scale to uncompressed header · e7508413
      Fergus Simpson authored
      A bit and a three bit literal have been added to the uncompressed frame
      header for use by the frame superres experiment.
      
      The bit is true if scaling is to be used, and is immediately followed by
      a three bit literal that encodes the scale to use. If the first bit is
      false, scaling is disabled and the scale factor numerator is set to the
      denominator (ie. 1:1 scaling). No literal follows if scaling is
      disabled.
      
      The denominator has been defined as a constant 16. The literal is biased
      by a defined constant of 8 - allowing fractions from 1/2 to 15/16
      scaling in steps of 1/16 when scaling is used. Experimentation will be
      needed to discover which of these are useful.
      
      The bit and literal are immediately after the optional render_width and
      render_height, so that the superres parameters can be written and read
      just after the regular width and height, without interfering with the
      render_size parameters.
      
      This patch also adds an arbitrary write to make the scale 1:1, so as to
      not trigger any scaling until it's ready.
      
      Accompanying encode and decode helper functions are added.
      
      Change-Id: I8caa6247c73f5c7f84ef1fde1e80eb9b20bde0e3
      e7508413
  16. 27 Mar, 2017 1 commit
    • Debargha Mukherjee's avatar
      Adds binary code lib for coding various symbols · 47748b56
      Debargha Mukherjee authored
      Adds a variable length binary code library for
      coding various symbols for typical use in headers.
      
      The main codes implemented are:
      1. Coding a symbol from an n-ary alphabet using a
      quasi-uniform code.
      2. A bilevel code for coding symbols from an n-ary
      alphabet based on a reference value for the symbol
      also taken from the same alphabet.
      The code has two steps. If the symbol is close to
      the reference a shorter code is used, while if it is
      farther away a longer code is used.
      3. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k.
      4. A finite (terminated) subexponential code that codes
      a symbol from an n-ary alphabet using subexp parameter k,
      based on a given reference also taken from the same
      alphabet. This code essentially reorders the values
      before using the same code as 3.
      
      Also adds corresponding encoder side functions to count
      the number of bits used.
      
      These codes will be subsequently used for more efficient
      encoding of loop-restoration parameters and global motion
      parameters.
      
      Change-Id: I28c82b611925c1ab17f544c48c4b1287930764b7
      47748b56
  17. 24 Mar, 2017 2 commits
  18. 23 Mar, 2017 2 commits
    • Jean-Marc Valin's avatar
      Do real chroma RDO search for CDEF · e9f77424
      Jean-Marc Valin authored
      Chroma now has a list of strenghts too, with the superblock signalling
      shared between luma and chroma.
      
      low-latency, cpu=4:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0114 | -1.4626 | -1.4745 |  -0.0423 | 0.0430 | -0.0001 |    -0.7416
      
      Change-Id: I389c77f1d80020f810e45f8502c656ad9d397c8c
      e9f77424
    • Alex Converse's avatar
      Fix Wundef warnings inside the codec · 64d7ef67
      Alex Converse authored
      Change-Id: I2f4a5c836905b089b91b211368bf3a0dea682b75
      64d7ef67
  19. 22 Mar, 2017 6 commits