1. 21 Dec, 2017 2 commits
  2. 19 Dec, 2017 4 commits
    • Urvang Joshi's avatar
      Tweak for recode_loop_test_global_motion() func. · 02aade85
      Urvang Joshi authored
      There were two assignments to 'recode' earlier, out of which the 2nd one
      was a no-op.
      
      Change-Id: Ia181c736177ad9886c2d0dc4a2002d5bc2fb7742
      02aade85
    • Lei's avatar
      add new experiment loopfiltering_across_tiles_ext · 7bb501d5
      Lei authored
      based on the latest discussion in the HW working group about how loop
      filter should be integrated with tiles, the following decisions have been
      made:
      1. two seperated flages should be added for
      loop_filter_across_tiles_enabled for horizontal tile boundary and
      vertical tile boundary.
      2. encoder and decoder should only check these two flags to determine
      whether loop filtering (including deblocking, CDEF and loop restoration)
      should cross tile boundaries (vertical and/or horizontal) or not
      regardless the horitontal depepdent tile flag.
      
      This change list implemented the support for two seperated
      loop_filter_across_tiles_enabled flags for vertical and horizontal tile
      boundaries. The new experiment is disabled as default before it is
      adopted.
      
      Change-Id: I814377947517f5419c08b004a3b71b950d01eadd
      7bb501d5
    • Sebastien Alaiwan's avatar
      Remove ADAPT_SCAN experiment · 23c511e7
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib3bb07d62f2025ce50dc9bc1b3f9fc22488519a7
      23c511e7
    • Rupert Swarbrick's avatar
      Balance curly braces in encoder.c · a84faf23
      Rupert Swarbrick authored
      This makes code motion a bit easier in editors. To do so, remove some
      copy-paste code in scale_references and rewrite a duplicated loop in
      set_high_precision_mv.
      
      This patch should have no effect on behaviour.
      
      Change-Id: Ia9e72f2c89a7f7f7a1d3cb77822ff8db8b5faaf1
      a84faf23
  3. 18 Dec, 2017 3 commits
    • Cheng Chen's avatar
      Bug fix · a70cd7b5
      Cheng Chen authored
      Remove BLOCK_2X2, BLOCK_2X4, BLOCK_4X2, which has been removed
      from codebase.
      
      Change-Id: I1c4ac7d148b7e95b1b104df7b9664cbb31928ddc
      a70cd7b5
    • Cheng Chen's avatar
      JNT_COMP: add SIMD and interface for high bit-depth · bf3d4964
      Cheng Chen authored
      Add high bit-depth macro definitions:
      highbd_jnt_sad
      highbd_8(10/12)_jnt_sub_pixel_avg.
      
      Add SIMD functions:
      aom_highbd_jnt_comp_avg_pred_sse2
      aom_highbd_jnt_comp_avg_upsampled_pred_sse2
      
      This patch also solves the seg fault caused by low bit-depth and
      high bit-depth paths
      
      BUG=aomedia:967
      BUG=aomedia:944
      
      Change-Id: Iea69f114e81ca226a30d84a540ad846f1b94b8d6
      bf3d4964
    • Cheng Chen's avatar
      LPF_SB: cleanup unused functions and code path · 76224b0e
      Cheng Chen authored
      Since we've decided to use guess filter levels for lpf_sb, I remove
      unused searching functions and coding paths to make codebase clean
      and easy to manage.
      
      Change-Id: I3497add59fc1eaf36acdd0acb85e3bcb6486d01d
      76224b0e
  4. 16 Dec, 2017 1 commit
  5. 15 Dec, 2017 1 commit
  6. 14 Dec, 2017 3 commits
  7. 12 Dec, 2017 3 commits
    • Rupert Swarbrick's avatar
      Remove parameter from av1_loop_restoration_filter_frame · 70c399e4
      Rupert Swarbrick authored
      At both callsites, the "rsi" parameter is the rst_info field from cm,
      which is already passed.
      
      Change-Id: I837ac655a03ebf0de6fbdaece4f4910f750e4898
      70c399e4
    • Rupert Swarbrick's avatar
      Simplify prototype of av1_loop_restoration_filter_frame · 25c57d2b
      Rupert Swarbrick authored
      This is always called with all components and no destination buffer.
      
      Change-Id: I76d1a16a87e05b8ecec387288139e846e9894384
      25c57d2b
    • Cheng Chen's avatar
      Make lpf_sb work with loopfilter_level · 765e34e3
      Cheng Chen authored
      Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1.
      
      Filter levels will be selected based on q index and applied for
      filtering on Y, U, V planes separately.
      
      Current model only allows to guess one filter level.
      Now Y_vert = Y_horz = U = V. In the future, we need to retrain the
      model and get filter levels for Y_vert, Y_horz, U and V separately.
      
      When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet.
      
      Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
      765e34e3
  8. 11 Dec, 2017 3 commits
  9. 10 Dec, 2017 1 commit
    • Imdad Sardharwalla's avatar
      Monochrome control now in colorspace header · 317002fb
      Imdad Sardharwalla authored
      The monochrome bit has been removed from the end
      of the sequence header.
      Monochrome is now coded as a type of colorspace.
      
      Encode in monochrome by using
        aomenc --color-space=monochrome ...
      
      Change-Id: I9550de58eb3d67dae0eb651697cb63dc8b137931
      317002fb
  10. 08 Dec, 2017 2 commits
    • Cheng Chen's avatar
      LPF_SB: select filter level and apply for superblock · ebcee0b6
      Cheng Chen authored
      For each superblock, select the best deblocking filter level and apply
      filtering. The filter level is signaled to decoder using a delta based
      scheme.
      
      Change-Id: I53e32589cabac9e2a4e580808fdd39ac878fe8c6
      ebcee0b6
    • David Barker's avatar
      no-frame-context-signaling + q-adapt-probs: Fix interaction · 11eac7bf
      David Barker authored
      Slightly change the way we save and reload frame contexts during
      frame setup. For "normal" frames everything is the same, but for
      error-resilient and/or intra-only frames, we now:
      
      * Reset the frame context using setup_past_independence()
        (+ extra code if q-adapt-probs is enabled), as usual
      * Store this frame context into a special slot in cm->frame_contexts
      * Use that slot to fill in cm->pre_fc
      
      The main difference from before is that (for error-resilient/intra-only
      frames which are not key frames) we used to throw away the frame
      context after setting it up, and would re-use whatever was set up
      at the last keyframe.
      This was fine when q_adapt_probs is disabled, but it caused an
      inconsistency when combined with q_adapt_probs. See the attached
      bug report for more details on that.
      
      BUG=aomedia:1104
      
      Change-Id: I9532b6b0e8ae29efbb4f059a0c67a73d7c7828ce
      11eac7bf
  11. 05 Dec, 2017 2 commits
    • Dominic Symes's avatar
      max-tile: Fix issues discovered when testing max-tile · 917d6c06
      Dominic Symes authored
      max-tile remains off by default until more testing is performed but I would
      like to check in the fixes that are known so far to prevent this patch getting too big
      
      max_tile was provisionally adopted at the working group meeting 2017-Oct-10
      
      This patch fixes the following issues:
      - max_tile is fixed to suport superblock size 64x64 as well as 128x128 (ext_partition support)
      - max_tile is fixed in combination with loop_restoration
      - max_tile is fixed in combination with ext_tile (Bug: 1013)
      - max_tile is fixed in combination with lv_map and 64x64 subperblock (lv_map memory allocation
        fixed for 64x64 superblock)
      - max_tile reports the size of the first tile for inspection.c used by the analyzer
      
      Change-Id: Ib83ff613e5d66563c81452a085c7984d3b4813e4
      917d6c06
    • Sebastien Alaiwan's avatar
      Remove ANS experiment · b0460fa9
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I8110720cef1b56dbce4008a998d8f4281dd2fe44
      b0460fa9
  12. 30 Nov, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] CfL Initialization Simplification · 1e84af52
      Luc Trudeau authored
      The CfL context is now stored inside MACROBLOCKD instead of
      MACROBLOCKD only storing a pointer to the CfL context.
      The intent is to avoid race conditions as MACROBLOCKD is stored
      inside ThreadData. This change also simplifies CfL Initialization.
      
      Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
      1e84af52
    • Jingning Han's avatar
      Make adaptive scan order support multi-threading · 0bd3bf69
      Jingning Han authored
      Count the non-zero appearance per tile and update per frame. This
      resolves an enc/dec mismatch in multi-threading coding.
      
      BUG=aomedia:1073
      
      Change-Id: I474f05913e6c3f75ca3fa1057bd4809ef51af164
      0bd3bf69
  13. 29 Nov, 2017 3 commits
  14. 22 Nov, 2017 2 commits
    • Cheng Chen's avatar
      JNT_COMP: add ssse3 implementations for sad_avg · d0179a6b
      Cheng Chen authored
      Add ssse3 implementations for the sad_avg c function at low bit-depth.
      With this, aom_jnt_sad c functions can all have simd implementations.
      This CL follows existing MACRO definitions for multiple combinations
      of block sizes.
      
      Change-Id: I882343684026525f5589a239337cfac2dd411e11
      d0179a6b
    • Cheng Chen's avatar
      JNT_COMP: SIMD implementation for aom_jnt_sub_pixel_avg · d286443c
      Cheng Chen authored
      Change function names and add SIMD implementation for two c functions:
      (1) var_filter_block2d_bil_first_pass
      (2) var_filter_block2d_bil_second_pass
      
      This CL allows aom_jnt_sub_pixel_avg_variance now in SIMD.
      
      Change-Id: Ib41ef13d62ae91a0ca481bcebb24568dcd4722c4
      d286443c
  15. 21 Nov, 2017 2 commits
  16. 18 Nov, 2017 1 commit
    • Zoe Liu's avatar
      Add motion selection to ext_skip · f40a9577
      Zoe Liu authored
      A new block mode, referred to as skip_mode is added. If a block is
      coded as skip_mode, it will be inter-coded, with its references and
      motion vectors derived from its neighboring blocks with zero-residue.
      Otherwise, the block can be coded in the current intra or inter mode.
      
      The computational load on skip_mode evaluation at the encoder should
      be kept minimum. No transform size / type evaluations are needed.
      
      Change-Id: I5aef0159c7d5ecd64258510835903375d6c536d6
      f40a9577
  17. 16 Nov, 2017 2 commits
    • Yunqing Wang's avatar
      Modify lightfield encoding example · b041d8a7
      Yunqing Wang authored
      Modified the lightfield encoding example to accommodate HW implementation
      requirements. Fixed the encoding scheme, generated a bitstream of a list
      of references followed by the surrounding large scale tile coded frames.
      All large scale tile coded frames use the same uncompressed frame header
      and the same set of frame contexts. This example also wrote out the frame
      header and frame contexts while encoding a large scale tile frame and
      setting EXT_TILE_DEBUG to 1.
      
      Change-Id: I7cc19099195d0a20335d5c6bfb9f493f1bf3a7b2
      b041d8a7
    • Yunqing Wang's avatar
      Force to have a common frame header in large scale tile coding · b6e23bc4
      Yunqing Wang authored
      In large scale tile coding(namely, large_scale_tile = 1), forced
      all frames to generate a bit-exact uncompressed frame header.
      This patch modified parameters that could change from one frame to
      another.
      
      Change-Id: Ibe72519da0b8a4f5a4ef30a4303ad7d7e4992a65
      b6e23bc4
  18. 15 Nov, 2017 1 commit
  19. 14 Nov, 2017 2 commits