1. 01 Nov, 2016 3 commits
  2. 31 Oct, 2016 12 commits
  3. 30 Oct, 2016 9 commits
    • Deng's avatar
      simp-mv-pred integration with ref-mv · ca8d24d4
      Deng authored
      This commit adds simp-mv-pred experiment. The experiment is to work on
      top of ref-mv experiment to save memory bandwidth and reduce the size
      of line buffer needed in ref-mv experiment.
      
      When compared to ref-mv, this experiment showed:
      low-delay BDR gain: 0.03%
      High-delay BDR gain: 0.01%
      memory/memory bandwidth saving: 40%
      local memory/gate count saving: 20%
      
      Change-Id: Ic4006e041fc58ede411da83d0d730c464ebe1749
      ca8d24d4
    • Jingning Han's avatar
      Fix the top-right reference block location · ea9cf097
      Jingning Han authored
      This commit fixes the top-right reference block location for block
      sizes above 8x8. It improves the coding performance of ref-mv:
      
      lowres 0.08%
      midres 0.15%
      
      Thanks to jiafeng@ for finding this issue.
      
      Change-Id: I70750fc7b18bf0126d3e07abc1b63ca5a160193e
      ea9cf097
    • Thomas Daede's avatar
      Upsample reference frames after size dependent speed features are calculated. · 919bd6ab
      Thomas Daede authored
      This prevents a crash if the upsample_refs speed feature is
      changed as part of set_size_dependent_vars, when the recode
      loop is enabled.
      
      Change-Id: I645e389bfe961879dd2001439a34fde2993868d9
      919bd6ab
    • Angie Chiang's avatar
      Let is_interp_needed always return 1 · a69ce1b3
      Angie Chiang authored
      This CL will cause
      0.122% PSNR drop on lowres dataset
      0.059% PSNR drop on midres dataset
      
      However, it will facilitate hardware implementation.
      
      Change-Id: I0a0713acacbfd571509a721337711c021915dd3c
      a69ce1b3
    • Nathan E. Egge's avatar
      Centralize EC_MULTISYMBOL error checking. · baaaa161
      Nathan E. Egge authored
      The EC_ADAPT experiment cannot work unless EC_MULTISYMBOL is also
       enabled.
      This patch replaces all individual checks with a centralized check in
       both the bitreader.h and bitwriter.h.
      
      Change-Id: I418852d95c5012cc074ed65cd24997e08bc2aadd
      baaaa161
    • Thomas Davies's avatar
      EC_ADAPT: refactor and fix MinArfFreq unit tests. · 6519bebf
      Thomas Davies authored
      Ensure that cdfs are synced with pdfs after every
      forward update.
      
      Change-Id: I5677f78300156c8622f1728d7a343ff6c3a4ea64
      6519bebf
    • Thomas Davies's avatar
      EC_ADAPT: send updates for the correct nodes. · 09ebbfb3
      Thomas Davies authored
      EOB and ZERO token are not currently adapted.
      
      Change-Id: Ie7d657b71fcb157b09e40874fb06a8b7cd95cc70
      09ebbfb3
    • Alex Converse's avatar
      Add ec_multisymbol for common daala_ec and rans code · aca9feba
      Alex Converse authored
      The new ec_multisymbol experiment supersedes the rans experiment and is
      used for multisymbol features that can be backed by either daala_ec or
      rans.
      
      This experiment is automatically enabled by ec_adapt and will try to
      enable daala_ec or ans (in that order).
      
      Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
      aca9feba
    • Alex Converse's avatar
      Fix ec_adapt+daala_ec test failure · bc0a5bac
      Alex Converse authored
      AV1/AqSegmentTest.TestNoMisMatchAQ1/6 was failing with this experiment
      pair.
      
      BUG=aomedia:70
      
      Change-Id: I8c53a043471a87a98a06687afce2e28891592362
      bc0a5bac
  4. 29 Oct, 2016 2 commits
    • Thomas's avatar
      Add EC_ADAPT experiment for symbol-adaptive entropy coding. · 9ac5508f
      Thomas authored
      This experiment performs symbol-by-symbol statistics
      adaptation for non-binary symbols. It requires DAALA_EC or
      RANS and ANS to be enabled. The adaptation is currently
      based on a simple recursive filter and is taken from
      Daala. It has an adaptation rate dependent on alphabet size,
      taken from Daala. It applies wherever non-binary symbols
      are encoded using Cumulative Probability Functions rather
      than trees.
      
      Where symbols are adapted, forward updates in the compressed
      header are removed.
      
      In the case of RANS coefficient token values are adapted,
      with the exception of the zero token which remains a
      binary symbol. In the case of DAALA_EC other values
      such as inter and intra modes are adapted as CDFs are
      provided in those cases.
      
      The experiment is configured with:
      
      ./configure --enable-experimental --enable-daala-ec --enable-ec-adapt
      
      or
      
      ./configure --enable-experimental --enable-ans --enable-rans \
          --enable-ec-adapt
      
      EC_ADAPT is not currently compatible with tiles.
      
      BDR results on Objective-1-fast give a small loss:
      
      PSNR YCbCr:      0.51%      0.49%      0.48%
      PSNRHVS:      0.50%
      SSIM:      0.50%
      MSSSIM:      0.51%
      CIEDE2000:      0.50%
      
      Change-Id: I3888718e42616f3fd87144de7f125228446ac984
      9ac5508f
    • Jingning Han's avatar
      Use the actual transform block size for loop filter selection · 9fb1d69e
      Jingning Han authored
      Parse the recursive transform block partition to fetch the actual
      transform size. Use this correct transform size to select the
      corresponding loop filter kernel. This slightly improves the coding
      performance of recursive transform partition for hdres to 0.14%.
      
      Change-Id: Ibe8bc3fdd0d222a4f1fb8156c56a407bec052b9b
      9fb1d69e
  5. 28 Oct, 2016 14 commits
    • Jingning Han's avatar
      Replace num_4x4_blocks_txsize_loopup table · 32b2028b
      Jingning Han authored
      Unify the transform block size access table in preparation for
      2x2 transform integration.
      
      Change-Id: I308def6729e138ae2b2542175206e3225c0cb392
      32b2028b
    • Jingning Han's avatar
      Refactor rate-distortion optimization of recursive transform partition · 9fdc4229
      Jingning Han authored
      Support rectangular transform block in the rate-distortion cost
      estimator.
      
      Change-Id: I99201fcae797c1ed2f2184021a215867eac0288f
      9fdc4229
    • Urvang Joshi's avatar
      RANGE_CHECK: "==" || ">" is simply ">=". · cd8ab904
      Urvang Joshi authored
      Also:
      - For unsigned ints, don't check value >= 0 as that is always true.
      - Add "-Wlogical-op" warning flag which would have warned that "logical
        'or' of collectively exhaustive tests is always true" before this
        patch.
      
      Change-Id: Idf3bd312464397f2df19256fc69b22f345dc7753
      cd8ab904
    • Sarah Parker's avatar
      Bitwise to logical & in rdopt ext tx prune function · 68a26b6b
      Sarah Parker authored
      Making this change in case the future implementation changes and the
      compairson is no longer between single bits.
      
      Change-Id: I94f474ce7d82febfa23cec65cbe1b9d240b42e02
      68a26b6b
    • Thomas Davies's avatar
      Tile groups: ensure each tile in a TG has a length. · 8fe64a3a
      Thomas Davies authored
      This ensures TGs can be decoded even if the whole
      frame has not been received and the frame length
      is not known.
      
      Change-Id: If24837fcc3b5c46554751be792e91100de73e8d6
      8fe64a3a
    • Jingning Han's avatar
      Fix update_delta_q_probs compile warning · be44c5f4
      Jingning Han authored
      Change-Id: Ifb93970ed876ed61259b2f8da739171857c97fda
      be44c5f4
    • Zoe Liu's avatar
      Clean the code in ref frame context decision for ext-refs · 782c9643
      Zoe Liu authored
      For compound mode, it is a sure thing that one of the 2 reference frames
      would be either a forward predictive reference, or a backward predictive
      reference, and the other would provide a different prediction.
      
      Change-Id: I8d7b40525bec4db0f26ba255c8eefa9f20bd52a3
      782c9643
    • Thomas Davies's avatar
      Encode and decode multiple tile groups · 80188d15
      Thomas Davies authored
      This is a manual adaptation of the following commit from aom/master:
      ce12003d
      
      The original commit message:
      
      A tile group is a set of tiles in scan order.
      
      Each tile group has a version of uncompressed and compressed headers,
      identical apart from tile group parameters.
      Encoding probability updates takes account of the number of
      headers to control overheads.
      
      The decoder supports arbitrary numbers of tile groups with
      arbitrary number of tiles. The number of tiles in a TG is
      signalled in the uncompressed header for that TG.
      
      The encoder currently only supports a fixed number
      of TGs (3, when error resilient mode is on) of equal size
      (except possibly for the last one).
      
      The average BDR performnce with 3 tile groups versus
      anchor with error resilient mode and up to 16 tiles is:
      
      NR YCbCr:      3.02%      3.04%      3.05%
      PSNRHVS:      3.09%
      SSIM:      3.06%
      MSSSIM:      3.05%
      CIEDE2000:      3.04%
      
      Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b
      80188d15
    • Urvang Joshi's avatar
      get_palette_color_context: Make code more readable. · 79f4fc47
      Urvang Joshi authored
      For clarity, use separate variables for 'color_ctx_hash' and
      'color_ctx' instead of reusing same variables for both.
      
      BUG=webm:1324
      
      Change-Id: I3a516ea54353e1f0737822c613a68da252e30c6e
      79f4fc47
    • Angie Chiang's avatar
      Fix tmp_rd type error in handle_inter_mode() · 3655dcd4
      Angie Chiang authored
      Change-Id: I9398c77c12e9c4caa19a76b92e3035a3135cfd7a
      3655dcd4
    • Jingning Han's avatar
      Refactor recursive transform block partition search · 58224044
      Jingning Han authored
      Use unified transform block size and coding block size map. This
      prepares for the integration of 2x2 transform block size and the
      rectangular transform block size.
      
      Change-Id: I99f51017d19aef337639b708ee9c7faedcc20935
      58224044
    • Jingning Han's avatar
      Simplify logics in encode_inter_mb_segment · c4049db5
      Jingning Han authored
      Unify coefficient context used by different experiments. Make
      block size and transform block size consistent with rest codebase.
      
      Change-Id: I237336f161d6c473b88c59c48ee68d24b75ce738
      c4049db5
    • Jingning Han's avatar
      Refactor recursive transform block decoding · 5f614264
      Jingning Han authored
      Unify the transform block and coding block mapping.
      
      Change-Id: Ifb394809a4aafee6adf2b49a2607036cf13c878e
      5f614264
    • Jingning Han's avatar
      Refactor recursive transform block size decoding · 65abc314
      Jingning Han authored
      Unify the transform block size to block size mapping.
      
      Change-Id: Ic7359d016cd5965983c4a5476624c09f3123f91c
      65abc314