1. 16 Jun, 2017 17 commits
  2. 15 Jun, 2017 12 commits
    • Urvang Joshi's avatar
      Remove 'rddiv' member from various structs. · 70006e46
      Urvang Joshi authored
      This was initialized from a const and never modified. But was still
      passed around and stored in multiple structs.
      
      Removed these 'rddiv' member variables and now RDOPT() and RDOPT_DBL()
      always use the const RDDIV_BITS directly.
      
      Change-Id: I1a8dfd2c8fa857d466ad1207b4f0dd6ec07eafb8
      70006e46
    • Sebastien Alaiwan's avatar
      Simplify FOREACH_STREAM · 0b993846
      Sebastien Alaiwan authored
      With C99 we can now declare iterators inside the 'for' statements,
      allowing a better syntax for this macro.
      This new syntax accepts #if/#endif inside the loop body,
      and makes explicit, at loop body level, what the iterator name is.
      
      Change-Id: Icbd363a34a9264ff566ee8057c08a705736b509f
      0b993846
    • Sebastien Alaiwan's avatar
      Cleanup debug trace · 2e5933f5
      Sebastien Alaiwan authored
      Change-Id: I9158a54b80cf76346356e8dba90ee37f80808bf5
      2e5933f5
    • Zoe Liu's avatar
      Add the new coding tool "speed_refs" · d1ac0321
      Zoe Liu authored
      This patch will not cause any performance change regardless of whether
      speed_refs is on or off.
      
      This coding tool is targeted to speed up the encoder side reference
      frame selection process. The essential idea is to have two scanning
      passes for each superblock of size 64x64 and this CL lays out the
      initial framework but no reference frame selection is done yet:
      
      First scanning pass - To simplify the partition and the mode
      candidates (e.g. considering nearestmv / nearmv / zeromv only) and
      identify the best reference frame prediction candidates;
      
      Second scanning pass - Use the best reference frame candidate(s)
      obtained from the first pass to encode the current superblock.
      
      Change-Id: I11266d468de3077271a5e866eebd341a8014d136
      d1ac0321
    • Sebastien Alaiwan's avatar
      Fix unit tests with --disable-lowbitdepth · 8b7a4e16
      Sebastien Alaiwan authored
      This moves up to the main the decision of which coding path to use,
      aligning the decoder's logic on the encoder's logic.
      
      Change-Id: I61c709ca1160aefb156d0be25cab8bb1c20ff92a
      8b7a4e16
    • David Barker's avatar
      Remove unused speed feature · cc8a1bed
      David Barker authored
      The 'intra_y_mode_bsize_mask' speed feature is never set or
      checked, so can be deleted from the SPEED_FEATURES structure.
      
      Change-Id: I3094ab7e8e87334e35a6646f6fbf0a8adaf78c00
      cc8a1bed
    • Alex Converse's avatar
      intrabc: Fix compatibility with global motion · 7d5559cc
      Alex Converse authored
      Change-Id: I64ec8d3b67db10b2d2d1cc130f845baf26d122c2
      7d5559cc
    • Ryan's avatar
      clean up the logic for generating tile boundary information · 639a9eba
      Ryan authored
      the tile boundary info flag was updated for each mi data structure
      which starts from cm->mi. there is the second level buffer which
      contains the pointer to the mi structure. it starts at
      cm->mi_grid_visible. for every coded block, pointer in the second level
      buffer only points to the top left mi structure of that particular coded
      block. in order to get the correct boundary info for each mi. we have to
      access the mi structure from cm->mi instead of cm->mi_grid_visible.
      this change doesn't impact the result, it only cleans up the logic.
      
      Change-Id: I8f883a284f600e3075754124b8197d78898a56be
      639a9eba
    • Urvang Joshi's avatar
      optimize_b_greedy: Avoid left shift of negative value. · 6eb35eb4
      Urvang Joshi authored
      Before:
      -------
      accu_error was always <= 0:
      - It was initialized to zero, and
      - Became more and more negative through the iterations.
      
      This meant that RDOPT() macro usage on accu_error was causing left shift
      of negative value.
      
      Now:
      ----
      - accu_error is initialized to a large positive value.
      - It becomes smaller on every iteration but remains >= always.
      
      This is functionally equivalent: verified that there's no change in
      output due to this patch.
      
      BUG=aomedia:600
      
      Change-Id: I654572a72234c588c8f332d5b66a5587fc6610b4
      6eb35eb4
    • Arild Fuldseth (arilfuld)'s avatar
      Fix a bug in determination of reference_mode · 6c20c78f
      Arild Fuldseth (arilfuld) authored
      Fix a bug where the encoder sets reference_mode =
      COMPOUND_REFERENCE even if the frame contains some
      4x4 blocks (but no larger blocks) that are single
      reference. This occurs only in corner cases,
      typically for very small frame sizes (e.g. 16x8).
      
      BUG=aomedia:575
      
      Change-Id: I5caedaa753a56e9f9b48995c1d2e0a0886aa4366
      6c20c78f
    • Debargha Mukherjee's avatar
      Unify and clean up resize arguments · 29e40a65
      Debargha Mukherjee authored
      Unifies the command line arguments for resize and superes.
      Removes resize arguments that are currently unused.
      
      Change-Id: I1362dffceb8257cee539f92679d1e8d79df08e66
      29e40a65
    • Fergus Simpson's avatar
      frame_superres: Add aomenc argument · c4e78942
      Fergus Simpson authored
      Adds "superres-mode" and "superres-numerator" arguments to configure
      superres scaling.
      
      There are only two modes right now: SUPERRES_FIXED and SUPERRES_DYNAMIC.
      0 sets the fixed mode and 1 sets the dynamic mode.
      
      For the fixed mode superres will scale to the provided numerator where
      possible. The cumulative scale change over resizing and superres is
      limited to 1/2, so it may have to back off.
      
      For the dynamic mode, the provided numerator will be used as the initial
      numerator. Asides from that it's just random for now.
      
      Change-Id: Ibae01c77abba2599fbf51096459d09ddca458d4f
      c4e78942
  3. 14 Jun, 2017 11 commits