1. 29 May, 2017 1 commit
  2. 27 May, 2017 1 commit
  3. 26 May, 2017 2 commits
    • Jingning Han's avatar
      Cover intra tx size count in rect-tx · 2d4fafac
      Jingning Han authored
      Account for intra tx size case when coding block is in skip mode.
      
      Change-Id: I030bc05d890c4a7c8d4628a7f9bdebaba6083a03
      2d4fafac
    • Yi Luo's avatar
      Improve the quantization table interface · c621023e
      Yi Luo authored
      - Add av1_build_quantize() function so that quantization
        related unit test would be able to access quant/dequant
        table without starting an encoder instance and directly
        accessing cpi.
      
      Change-Id: I8ba429e5deb7a4e7f967996aaec1d20bff0feb3c
      c621023e
  4. 25 May, 2017 3 commits
  5. 24 May, 2017 1 commit
  6. 22 May, 2017 1 commit
  7. 21 May, 2017 3 commits
    • Timothy B. Terriberry's avatar
      cb4x4: Don't assume TX units are half MI_SIZE in skip context indexing. · 5e81643d
      Timothy B. Terriberry authored
      Currently the "transform units" used to measure transform sizes
      in some parts of the code are based on the smallest defined
      transform size.
      
      cb4x4 currently defines a 2x2 transform size, even when chroma_2x2
      is not enabled, which means that the scale of the transform units
      was always double that of MODEINFO units.
      
      Several areas of the code were hard-coding this assumption instead
      of converting from one to the other using appropriate constants.
      
      Change-Id: Ibc55671aa5bc3ad272cb8a036f9c4f9621df85ab
      5e81643d
    • Timothy B. Terriberry's avatar
      cb4x4: Fix reset_skip_context() without chroma_2x2 · a2d5cdef
      Timothy B. Terriberry authored
      reset_skip_context() was always clearing the entropy contexts for
      all three color planes, using a block size that corresponded with
      the luma plane.
      
      However, when chroma_2x2 is disabled, then for sub-8x8 luma block
      sizes, the corresponding chroma block size is always 4x4, and the
      skip flag only affects the chroma blocks corresponding to the
      upper-left luma block.
      
      This patch makes reset_skip_context() reset the contexts that
      actually correspond to the chroma blocks that are skipped (if any).
      It also moves reset_skip_context() to av1_reset_skip_context() in
      blockd.c, because blockd.h gets included before onyx_int.h, which
      declares the required is_chroma_reference() function.
      reset_skip_context() was too large and used in too many places to
      be a reasonable candidate for inlining, anyway.
      
      AWCY results on objective-1-fast:
      
      cb4x4-fix-base@2017-05-11T06:26:50.159Z -> cb4x4-fix-reset_skip@2017-05-11T06:28:45.482Z
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0301 |  0.1068 |  0.1463 |   0.0359 | 0.0260 |  0.0347 |     0.0479
      
      A regression (near the noise range), but without this fix, the line
      buffer size required by the entropy contexts will be doubled.
      
      Change-Id: I12fa6e60d9c1c7c85927742775a346ea22b3193f
      a2d5cdef
    • Timothy B. Terriberry's avatar
      cb4x4: Fix indexing of tx_size counts. · fe0fb1d9
      Timothy B. Terriberry authored
      Create named constants for the minimum TX_SIZE used in the luma
      plane, as well as the minimum allowed TX_SIZE for which we have to
      explicitly code a selection (i.e., one larger than the minimum luma
      TX_SIZE).
      
      Then, use these constants consistently with tx_size_to_depth() to
      index the tx_size counts in FRAME_COUNTS, and also consistently use
      TX_SIZE named constants to index the tx_size_implied counts.
      
      Failing to index these counts correctly can, e.g., cause tx_mode to
      be chosen incorrectly.
      
      Change-Id: I706a62a33e2282e67c97a68bade87fb8023ec13b
      fe0fb1d9
  8. 19 May, 2017 2 commits
  9. 17 May, 2017 1 commit
  10. 12 May, 2017 1 commit
  11. 11 May, 2017 1 commit
    • Yue Chen's avatar
      Add CONFIG_INTERINTRA flags and reduce # of interintra modes to 4 · 4d26acb4
      Yue Chen authored
      Use CONFIG_INTERINTRA to properly separate interintra from the basic
      ext_inter experiment.
      When macro REDUCE_INTERINTRA_MODES is 1, only 4 ii modes are enabled
      so as to reduce the complexity overhead.
      (Right now the flag is off)
      
      Change-Id: Iec6f36a1000f181adbb822ad66c7d5b2625e9cc7
      4d26acb4
  12. 10 May, 2017 1 commit
    • David Barker's avatar
      Fix for the use of prev frame mvs when ext-refs is on · 40a42d4b
      David Barker authored
      Also fix a mismatch for resizing with ext-refs enabled.
      
      There are various preconditions which need to be true for it to
      be valid to set cm->use_prev_frame_mvs = 1, including that the
      sizes of this frame and cm->prev_frame must be equal.
      
      With ext-refs enabled, we would sometimes decide to change
      cm->prev_frame to point to the LAST_FRAME reference, without
      re-checking the preconditions. If the LAST_FRAME was smaller
      than the current frame, this could lead to reading garbage off the
      end of its mv array, and eventually to an encode/decode mismatch.
      
      We fix this by rewriting the preconditions as checks on
      cm->prev_frame directly (rather than using cm->last_width and
      cm->last_height), and by testing the preconditions after any
      possible adjustment.
      
      This should not affect the bitstream unless ext-refs is enabled,
      but may affect the bitstream with ext-refs even if resizing is
      not used.
      
      BUG=aomedia:521
      
      Change-Id: I7dfd9ba82cdf77acc2e27e0c9f3aee21d6afeb54
      40a42d4b
  13. 09 May, 2017 3 commits
  14. 08 May, 2017 1 commit
    • Urvang Joshi's avatar
      Add a new experiment SMOOTH_HV. · e6ca8e83
      Urvang Joshi authored
      This experiment extends ALT_INTRA by adding two new modes:
      smooth horizontal and smooth vertical.
      
      Improvement on *intra frames* in BDRate (PSNR):
      ===============================================
      
      AWCY (high latency): -0.46%
      (Also, -1.0% or more on PSNR Cb,Cr and APSNR Cb,Cr).
      
      AWCY (low latency): -0.43%
      (Also, -0.88% to -0.94% on PSNR Cb,Cr and APSNR Cb,Cr).
      
      Google sets:
      lowres: -0.454
      midres: -0.484
      hdres:  -0.525
      
      Improvement on *video overall* in BDRate (PSNR):
      ================================================
      
      AWCY (high latency): -0.15%
      
      Google sets:
      lowres: -0.085
      midres: -0.079
      
      Change-Id: I9f4e7c1b8ded1fe244c72838f336103ccc715d50
      e6ca8e83
  15. 05 May, 2017 3 commits
  16. 04 May, 2017 3 commits
  17. 03 May, 2017 1 commit
  18. 02 May, 2017 2 commits
    • Sarah Parker's avatar
      Move compound segment mask buffer from mbmi to xd · 2cf73eb8
      Sarah Parker authored
      This resolves crashes on awcy due to excessive memory
      use. No change in BDRATE.
      
      Change-Id: If3e67683dee6658db16dd5c1d686111e6415c493
      2cf73eb8
    • Fangwen Fu's avatar
      Set ext_delta_q default and bug fix · 4e2df09c
      Fangwen Fu authored
      * Set ext_delta_q experiment as default
      * Update test for ext_delta_q
      * Fix a bug (BUG=aomedia:485) in encoder which
        cause decoder and encoder mismatch.
      
      Change-Id: I28ece21c32ff8621f8837ed4807b02eef8c92e29
      4e2df09c
  19. 01 May, 2017 1 commit
  20. 29 Apr, 2017 3 commits
  21. 28 Apr, 2017 3 commits
  22. 27 Apr, 2017 2 commits
    • hui su's avatar
      Refactor ext-intra · 0a6731f5
      hui su authored
      Remove the code about block size dependent angle steps and deltas,
      as they are modefied to be the same for all blocks in c81ea6e0.
      
      BUG=aomedia:442
      
      Change-Id: I54607dd752ef895c1418f979410b14c02fc9ce22
      0a6731f5
    • Luc Trudeau's avatar
      [CFL] Store luma as prediction for chroma · e3980281
      Luc Trudeau authored
      Stores the reconstructed luma pixels for each transform block inside a
      prediction block. Rectangular transform blocks are supported.
      
      As for RDO, after all the modes have been tested for luma, an extra
      encoding is perform in order to store the reconstructed pixel values of
      the best mode. These values are then used for RDO on the chromatic
      planes.
      
      Change-Id: I354d9827e32fd41065f1b2ce02832d943a6fa156
      e3980281