1. 21 Nov, 2016 7 commits
  2. 19 Nov, 2016 1 commit
    • Jingning Han's avatar
      Pre-store the pred_diff for nmv context · 3f338830
      Jingning Han authored
      Replace the int_mv storage in the ref_mv_stack struct with unit8_t
      integer to indicate the prediction difference level.
      
      Change-Id: I0bfbcab350a46ecdd5bc47bd918cce9614365227
      3f338830
  3. 18 Nov, 2016 14 commits
  4. 17 Nov, 2016 7 commits
    • Yaowu Xu's avatar
      Use an alternative fix to ubsan warning. · 88cbc582
      Yaowu Xu authored
      This commit revert the previous fix of the ubsan warning for unsigned
      int overflow, and use a better fix by  moving the offs-- inside the
      while loop to avoid "0-1" situation.
      
      Change-Id: Id4a3e03859ebcdf264df0808412b30841028f87c
      88cbc582
    • 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
    • Jingning Han's avatar
      Fix has_top_right() logic · 2837b417
      Jingning Han authored
      If a coding block is in the top row of a 64x64 (or 128x128) block,
      its top-right corner should be available. No major coding performance
      change is observed.
      
      Change-Id: I0ee23db313cd53b34b7bc28230705f1cb1f8fe89
      2837b417
    • Yaowu Xu's avatar
      Fix warnings from static analaysis tools · 637590cd
      Yaowu Xu authored
      Change-Id: Iad227b07b6c3f5beebef971cabec787b01e6f51f
      637590cd
    • David Barker's avatar
      Comment out code accidentally left in the bitstream_debug patch · 4c12cc5f
      David Barker authored
      In https://aomedia-review.googlesource.com/#/c/5864/ , some
      code to stop the decoder at a preselected point was left enabled.
      This code should only be uncommented when debugging, so comment
      it out by default.
      
      Change-Id: Ie168e8a1588ba92971e3ff1a056f597a7dfca136
      4c12cc5f
    • Yaowu Xu's avatar
      Change to use "DISABLED_" prefix to disable a test · 3baf526f
      Yaowu Xu authored
      Also replaced "ToDo" with "TODO" in comments.
      
      BUG=aomedia:86
      
      Change-Id: I5cb044ce5bfdba5bde17d5546b57619ced8dbf77
      3baf526f
  5. 16 Nov, 2016 11 commits
    • Debargha Mukherjee's avatar
      Fix highbd compile error introduced in global mv · 15a608f8
      Debargha Mukherjee authored
      Change-Id: I7b0a00627a9807c42345d3d28c3499c208c5e792
      15a608f8
    • Debargha Mukherjee's avatar
      Use nonlinear goodness of fit metric for global mv · 8d59d113
      Debargha Mukherjee authored
      Uses a |difference| ^ 0.6 metric instead of clamped abs.
      Improves lowres to -0.552%
      
      Change-Id: Ic5159c4e20e5c4de8e7b1501bd68e014c9d1cf4b
      8d59d113
    • Yaowu Xu's avatar
      Add an explicit conversion to int · 0474b210
      Yaowu Xu authored
      To avoid unsigned int overflow
      
      Change-Id: Ie070fea50b4b6c4a0e80c61371a2366dd79ed570
      0474b210
    • Yaowu Xu's avatar
      Disable test for msa version of transforms · 6b3f0db0
      Yaowu Xu authored
      These transforms need to be updated to match c versions after they
      are finalized for AV1.
      
      Change-Id: Iddc3369b58ac3ce8d9c0c08724390c477ae89065
      6b3f0db0
    • 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
    • David Barker's avatar
      Implement bitstream debug for daala_ec · fa2865b5
      David Barker authored
      Change-Id: I809eb52e8a632189c49b8ea0a2b5de760cc2a34c
      fa2865b5
    • 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
    • Yaowu Xu's avatar
      Remove dead assignments · e24609be
      Yaowu Xu authored
      Change-Id: I48c252cf1c8ad9fb6e94e3cadef6061688ab7ad4
      e24609be
    • 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