1. 26 Jun, 2017 1 commit
    • Yushin Cho's avatar
      Fix daala_dist to handle visible pixels only · 75b01004
      Yushin Cho authored
      - If invisible pixels, av1_daala_dist() simply use source pixles for dst.
      - Added av1_daala_dist_diff() which inputs diff signal instead of dst.
      
      - Refactored daala_dist code so that av1_daala_dist() and _diff()
      is called inside av1's distortion calculation functions, pixel_sse() and
      sum_squares_visible().
      
      Change-Id: Id857db52fe19856d92c46a9e84ac2962c01ae045
      75b01004
  2. 24 Jun, 2017 8 commits
    • Debargha Mukherjee's avatar
      Fix some valgrind errors in loop-restoration · 6f0566e7
      Debargha Mukherjee authored
      BUG=aomedia:623
      
      Change-Id: I158072895adb8a9f5f177b8146f3beec265d7406
      6f0566e7
    • David Barker's avatar
      Change mv scaling behaviour · 67d968f3
      David Barker authored
      This patch changes the motion vector scaling and clamping to be
      slightly more accurate (removing an occasional 1px offset due to
      multiple roundings) and fixes the border clamping when scaling
      frames.
      
      Change-Id: I032dc0b87854eebafa58f1f803981e23c8cc2d9b
      67d968f3
    • Sebastien Alaiwan's avatar
      Simplify superframe index writing · 6757197a
      Sebastien Alaiwan authored
      Avoids mixing accesses to ctx->pending_cx_data
      with serialization logic.
      "index_sz" is deduced from the write position,
      instead of being redundantly computed.
      
      Change-Id: Ic14f93886da61acc1735fbbe4f787e45a4ca79eb
      6757197a
    • Sebastien Alaiwan's avatar
      Fix double definition of 'pd' · d94476d1
      Sebastien Alaiwan authored
      This reverts commit a3d70911.
      
      Reason for revert: this was fixed in cb637674 which moved the
      definition to a different line causing this change to merge
      cleanly, resulting in a duplicate.
      
      Change-Id: I2d8763f0e2af320f043a1417ba33e82f82163592
      d94476d1
    • James Zern's avatar
      x86: _mm_set_epi64x -> _mm_{set_epi32,cvtsi32_si128} · d937cdbe
      James Zern authored
      _mm_set_epi64x is incompatible with visual studio x86 configurations
      
      Change-Id: I7986e43d0471699553affeefabae66a512d9d46a
      d937cdbe
    • James Zern's avatar
      {decodeframe,rdopt}.c: fix asserts with strings · 88896734
      James Zern authored
      lead with '0 &&' to avoid string to bool conversion warnings
      
      BUG=aomedia:621
      
      Change-Id: I2cd6618377f9ed94f4d9dbc252f6f5cfc81efea4
      88896734
    • Angie Chiang's avatar
      Pass mbmi into get_scan() · bd99b38c
      Angie Chiang authored
      This is to facilitate future experiment related to adapt_scan
      
      Change-Id: I51628f3df81bd82db7f8f553d13da0ee5792d7d9
      bd99b38c
    • Yushin Cho's avatar
      Fix compile warning · a3d70911
      Yushin Cho authored
      Fixed the compile warning when both global-motion
      and warped-motion are disabled.
      
      Change-Id: Ie3ac036fc6c0a15e54a56427452682d7ea7864db
      a3d70911
  3. 23 Jun, 2017 2 commits
    • David Barker's avatar
      Fix bug with chroma-sub8x8 + resizing · 11132ce3
      David Barker authored
      The special path in build_inter_predictors for chroma blocks
      corresponding to sub8x8 luma blocks would always fetch the
      scale factors from 'xd', which correspond (at least in the
      decoder) to the references of the block for which is_chroma_reference
      returns true.
      
      The correct behaviour is to fetch the scale factors from 'ref_buf',
      which corresponds to the references of the block currently being
      predicted.
      
      This patch fixes some encode/decode mismatches which were caused
      by the above behaviour when the various reference frames had
      different sizes.
      
      Change-Id: I48a0a167ea25d47d08018016cf8b77885b3b5d6b
      11132ce3
    • Debargha Mukherjee's avatar
      Do not find transformation for very few points · afe7c5fd
      Debargha Mukherjee authored
      Adds check to make sure that find transformation functions are
      never called for 0 points.
      
      Change-Id: I2d7cf40aace535b1d708d6189aea9c1e0f7c281b
      afe7c5fd
  4. 22 Jun, 2017 7 commits
    • Yaowu Xu's avatar
      Prevent divide-by-zero · 9180b6e8
      Yaowu Xu authored
      Change-Id: Id22615d461bf16272d1b2e2c72ae7e00db8bcb5c
      9180b6e8
    • Yaowu Xu's avatar
      convert to int before apply sign · bdda9d4e
      Yaowu Xu authored
      avoids overflow of unsigned integer.
      
      Change-Id: Ic92974b508bb0cd6fc680203ffa6cff14d644ff7
      bdda9d4e
    • Jingning Han's avatar
      Fix compiler warning in joint_motion_search · cb637674
      Jingning Han authored
      Avoid compiler warning when global-motion is off.
      
      Change-Id: Ie6a0d3e4efc0e06b263e8c8c0c0dc153738c3804
      cb637674
    • Zoe Liu's avatar
      Add entropy stats dump out for individual frame context type · a56f916e
      Zoe Liu authored
      Change-Id: Id0cd184e8b3cea085ecc3adbc7fea7bb765c7986
      a56f916e
    • Yi Luo's avatar
      Add avx2 highbd_quantize_b · 193422e7
      Yi Luo authored
      - First pass encoding time reduces ~10.9% on i7-6700
        at 100 frames, 1080p.
      - avx2 works for coeff number >= 8 cases; coeff number < 8
        case will be implemented by sse2.
      - Unit test is added type B/FP/DC.
      
      Change-Id: Ibe5b7807c64e6dfc2d59c470ed50a6e8ca94ef7c
      193422e7
    • Yushin Cho's avatar
      Fix daala-dist, rd tx search · 04eb9594
      Yushin Cho authored
      Previously, for block >=8x8, and tx < 8x8,
      we skipped setting the early-exit flag in block_rd_txfm() because
      distortion for sub8x8 tx block is from MSE but reference (best)
      is from daala-dist.
      However, not setting early-exit flag turned out to be the reason
      for a regression in MSE probe mode of daala-dist because
      it loses the chance to set rd_stats properly.
      
      On the other hand, there is still a small regression, say 0.05% psnr bd-rate,
      which seems to occur in the case that a tx block in a partition has chosen
      the skipped rd_cost since it is smaller than non-skip rd_cost and
      set the early-exit flag to 0 (so, not exit), but the daala-dist applied
      to the whole partition cannot access the same info but can choose from
      two kinds of rd_costs:
      1) all tx blocks are skipped (even if a tx block has non-zero coeff) and 0 bits
      2) sum of final distortion of all tx blocks (i.e. non-zero coeff decoded)
      and bits to encode coeffs.
      
      Change-Id: I2ec69972aa1f22d465293cb9e8d5e18ef2c6f7f3
      04eb9594
    • Yaowu Xu's avatar
      Add missing accumulation cross threads · a0cc9aa8
      Yaowu Xu authored
      BUG=aomedia:618
      
      Change-Id: Ie96ccc363462a28527c99a72e97b7acaf2ab0ff8
      a0cc9aa8
  5. 21 Jun, 2017 13 commits
  6. 20 Jun, 2017 9 commits
    • Yunqing Wang's avatar
      Handle the invalid warped model error · 8657ad75
      Yunqing Wang authored
      Handled the invalid warped model error in the decoder.
      
      BUG=aomedia:610
      
      Change-Id: I8a67a4f6c6fe4dd6c2a71fdef432b3f689e9efcb
      8657ad75
    • James Zern's avatar
      get_min_tx_size: disable -Warray-bounds · 5d61b609
      James Zern authored
      this warning is covered by an assert and other runtime detection.
      expanding the array, adding a conditional or converting the type to int
      are less desirable.
      
      BUG=aomedia:578
      
      Change-Id: Idb6a1dec5f17db85a0e9c1d0ee372e701f4e1aa4
      5d61b609
    • Frederic Barbier's avatar
      Cleanup useless 'else' · fe06cb72
      Frederic Barbier authored
      Change-Id: Ieaa6c453cd2cf9d5e15801a246ac0aebf9f4501a
      fe06cb72
    • Angie Chiang's avatar
      Integrate global_motion with convolve_round in lbd · 4e5b8f7c
      Angie Chiang authored
      The performance of convolve_round on top of
      global_motion and warped_motion is
      lowres 0.899%
      
      Change-Id: I3b4a343bbac8ca14d62cae5bca38f4daa7140f28
      4e5b8f7c
    • Frederic Barbier's avatar
      Replace dead assertion · 237c53e5
      Frederic Barbier authored
      As delta_q_present_flag is set to 0 if segment_quantizer_active is 1,
      previous assert was never evaluated.
      
      Change-Id: Ia89fffc2f82595198acd2630d5d5d5ba22d43633
      237c53e5
    • Yaowu Xu's avatar
      Change left shifts to multiplications · 36b54588
      Yaowu Xu authored
      avoid warnings about left shift of negative numbers.
      
      BUG=aomedia:617
      
      Change-Id: I8793132c562759b0cc9eefb7c7a50fddb3149184
      36b54588
    • Yunqing Wang's avatar
      Declare rate_mv_bmc in warped motion · 562a3937
      Yunqing Wang authored
      A motion refining was added in warped motion, which required the
      declaration of rate_mv_bmc in warped motion.
      
      BUG=aomedia:613
      
      Change-Id: I74dfc396f915a5cc4599bfbdccad758fa630505f
      562a3937
    • Yi Luo's avatar
      Add high bit depth fast path quantizer avx2 · 6faf349a
      Yi Luo authored
      - User level encoder timer reduction ~4.3% with
        following testing: 1080p, 10-bit, 4Mbps, 4 frames,
        profile=2, i7-6700.
      
      Change-Id: Ib4a579d10cbd705cb7b1c4f0d619159a76bb34d7
      6faf349a
    • Tom Finegan's avatar
      Build static libaom without internal deps in CMake. · 78516fca
      Tom Finegan authored
      Change the internal lib targets so that external apps
      need link only libaom instead of all internal library
      targets and libaom.
      
      BUG=aomedia:76,aomedia:609
      
      Change-Id: I38862fcd90cb585300b6b23e8558f78a1934750f
      78516fca