1. 18 Nov, 2016 4 commits
  2. 17 Nov, 2016 3 commits
    • David Barker's avatar
      Fix global motion + supertx · 03bd210f
      David Barker authored
      Previously, any uses of global motion inside supertx blocks were not
      counted correctly. This caused encode/decode mismatches when every use
      of global motion in a frame occurred inside supertx blocks.
      This happened in, for example, AV1/ActiveMapTest.Test/0
      
      This patch makes update_state_supertx count global motion usages in
      the same way update_state does, and fixes the above problem.
      
      Change-Id: Id500d5a24c565774fa3aa3b52cd3fdbeab75b486
      03bd210f
    • Debargha Mukherjee's avatar
      Some refactoring and improvements to gobal motion · e3e00797
      Debargha Mukherjee authored
      To facilitate further experiments.
      Fixes border, uses standard interpolation filters for
      translation only global model, and some refactoring.
      
      Change-Id: I38af6cb83723f92baed23e28d7fc9a0a9544757e
      e3e00797
    • Yaowu Xu's avatar
      Fix warnings from static analaysis tools · 637590cd
      Yaowu Xu authored
      Change-Id: Iad227b07b6c3f5beebef971cabec787b01e6f51f
      637590cd
  3. 16 Nov, 2016 10 commits
    • Yaowu Xu's avatar
      Add an explicit conversion to int · 0474b210
      Yaowu Xu authored
      To avoid unsigned int overflow
      
      Change-Id: Ie070fea50b4b6c4a0e80c61371a2366dd79ed570
      0474b210
    • Debargha Mukherjee's avatar
      Add recode loop test for global motion usage · b98a702d
      Debargha Mukherjee authored
      Adds a feature to recode if global motion is used for a reference but
      has very few blocks in the frame actually using it.
      
      lowres improves to -0.512% on average.
      
      Change-Id: I61a36770e1b7103b9a27706909443c3f14ee4e42
      b98a702d
    • Yaowu Xu's avatar
      Fix IOC warnings · 4d34154b
      Yaowu Xu authored
      av1_txfm.h: left shift of a negative number
      av1/encoder/quantize.c: unsigned int overflow
      aom_dsp/entenc.c: unsigned int overflow
      
      Change-Id: I6143e68f7d6e2621f97900808c8ef7ee0ad0c814
      4d34154b
    • Yaowu Xu's avatar
      Remove dead assignments · 4b23059c
      Yaowu Xu authored
      av1/common/x86/av1_fwd_txfm1d_sse4.c
      av1/encoder/rdopt.c
      
      Change-Id: Ia386f78da64029b5f68b68a41485cc068dbf4098
      4b23059c
    • David Barker's avatar
      Enable global motion in high bit depth mode · 557ce7b5
      David Barker authored
      The global motion detection only works on 8-bit buffers,
      so any frames using 16-bit buffers are now down-converted
      to 8 bits when necessary.
      
      Change-Id: I4f88f4ccd449e73a2292cda70fe573dc49fcb8a0
      557ce7b5
    • David Barker's avatar
      Fix an edge case with global motion / warped motion · 94b876f4
      David Barker authored
      There is a rare edge case in ransac(), causing the tests
      AV1/DatarateTestLarge.ChangingDropFrameThresh/{4,5,6}
      to fail when global motion is enabled. The sequence of events is:
      
      * Since GLOBAL_MOTION_TYPES = 3, we try to generate a ROTZOOM model
      * A model is generated at ransac.c:215, and its first 4 components
        are copied to best_params. The last four components of best_params
        are left as {0, 1, 0, 0}.
      * We then finish the trial_count loop, and call find_transformation
        one final time to generate a refined model. But this fails, and
        best_params is not overwritten.
      * get_wmtype decides that this is an AFFINE model, since
        wmmat[4] != -wmmat[3] and wmmat[5] != wmmat[2].
      * We try to encode this global motion model. But the entropy coder
        cannot encode an AFFINE model, and crashes at daalaboolwriter.h:74
        (with OD_ASSERT(symb != -1))
      
      The fix is to copy 8 entries to best_params regardless of the
      model type we are generating, in line with the changes in
      https://aomedia-review.googlesource.com/#/c/5589/
      
      Change-Id: I6dbdfb997924f8ddf7ea3a1d557463264ea63cbe
      94b876f4
    • Debargha Mukherjee's avatar
      Compile fix for var-tx, ext-tx, rect-tx · 949097c3
      Debargha Mukherjee authored
      Change-Id: I8f48db56e3f55b1d2fcc8a06aaa51e5c383e651f
      949097c3
    • Thomas Davies's avatar
      Add overwrite functions which do not zero bytes. · faa7fcfe
      Thomas Davies authored
      In several places bits are overwritten in the bitstream. These
      functions avoid zeroing bytes during writing so that this can
      happen correctly when the number of bits is not 8*N.
      
      Re-addresses the attempted fix in
      133c57c3
      
      which broke threaded encoding tests, which relied on re-using
      byte buffers.
      
      Change-Id: I682c5e3a7869eac7ad475584db8bf170d47a56c9
      faa7fcfe
    • Thomas Davies's avatar
      AOM_QM: fix av1_optimize_b. · e0f8c559
      Thomas Davies authored
      BUG=aomedia:79
      
      Merge of nextgenv2 caused av1_optimize_b not to take account
      of different inverse quantization when quant matrices are on.
      
      Change-Id: I1b8da2e110ce201183be777663222e3d73c9f17b
      e0f8c559
    • Zoe Liu's avatar
      Fix the code to allow a 3rd compound mode · 00d5472a
      Zoe Liu authored
      It is possible down the road new compound modes are added in addition to
      COMPOUND_AVERAGE and COMPOUND_WEDGE.
      
      Change-Id: I85985d4c104effd34df13845344aac2a08d28019
      00d5472a
  4. 15 Nov, 2016 2 commits
  5. 14 Nov, 2016 4 commits
    • Yi Luo's avatar
      Fix compiler warning on get_tx_scale for new_quant · 554bd729
      Yi Luo authored
      Change-Id: I568365060848dc9e2171becaef4928ff430dc622
      554bd729
    • Alex Converse's avatar
      Refactor probability savings search. · a9ce4b7f
      Alex Converse authored
      - Avoid excessive copying
      - Don't bother searching if no update can possibly offer savings
      - Simplify the interface
      - Remove the confusing av1_cost_upd256 macro
      
      (cherry picked from libvpx/master commit
      19e0b406)
      
      Change-Id: Id9d9676a361fd1203b27e930cd29c23b2813ce59
      a9ce4b7f
    • Debargha Mukherjee's avatar
      Support for homography in global motion experiment · 3fb33f07
      Debargha Mukherjee authored
      Change-Id: If4a480633032d8738a84fa8173c6ebd90564f0a4
      3fb33f07
    • Yushin Cho's avatar
      Fix block_rd_txfm() and dist_block() for pvq · 721868c6
      Yushin Cho authored
      1. block_rd_txfm() : av1_optimize_b() should not be called
      if pvq is enabled.
      Setting t_above and t_left is missing when pvq is enabled,
      so added.
      
      2. dist_block() : The nextgen2v has new feature of computing
      distortion in pixel domain for speed level = 0, 1, where pvq
      works incorrectly since it requres the blank destination
      buffer (w/o adding predicted pixels) passed to
      inverse trasnform function.
      
      Change-Id: Ia0ee426e796781ee56b4503ea425d447cf88ed8c
      721868c6
  6. 13 Nov, 2016 1 commit
  7. 12 Nov, 2016 2 commits
  8. 11 Nov, 2016 6 commits
  9. 10 Nov, 2016 8 commits