1. 28 Jun, 2017 2 commits
  2. 27 Jun, 2017 10 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: Add bitstream syntax · 85a8f70c
      Wei-Ting Lin authored
      Define the syntax and entropy coding templates for
      NCOBMC_ADAPT_WEIGHT. The actual values of the default
      probabilities and the index tree structure need to
      be fine tuned.
      
      In this experiment all mv's in a superblock are sent
      first as in the ncobmc case.
      
      Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
      85a8f70c
    • Todd Nguyen's avatar
      Add experiment bgsprite · 302d0970
      Todd Nguyen authored
      Work in progress to generate ARF with stitched background image.
      
      Change-Id: I2fea75bbe5ac6f713f53eb5825776dadfc1d98c5
      302d0970
    • Luc Trudeau's avatar
      [CFL] Sum Alpha Distortion Over Transform Block · 8fb4c9e7
      Luc Trudeau authored
      This change does not impact the bitstream, it changes how to distortion
      is summed when evaluating alpha. The sum is still taken over the entire
      partition. However, instead of iterating over the entire surface all at
      once, CfL now iterates over each transform block. This is in light of
      future work to compute alpha over transform blocks and not prediction
      blocks.
      
      Results on Subset1 (compared to 9c6f8547 with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: Ic7b72201d29ad6b2527748e35b212bec515e3bdb
      8fb4c9e7
    • Debargha Mukherjee's avatar
      Reduce multiplier precision for warp least squares · f053cba2
      Debargha Mukherjee authored
      Includes reordering and other clamping changes, as well as
      changes to reduce multiplier precision.
      
      cam_lowres (60 frames): -0.092% BDRATE improvement in
      --disable-cdef --disable-global-motion --disable-ext-tx
      configuation.
      
      Change-Id: I0660c45b44fcd5a193534d8dadd1aa1ae5c5e27a
      f053cba2
    • Yi Luo's avatar
      Fix inv txfm low/high bitdepth selection logic · 51281095
      Yi Luo authored
      We are going to have several commits to setup new low/high
      bitdepth data path selection logic. This patch is for inverse
      transform. Let me summarize the ideas as following.
      
      - For low/high bitdepth selection, encoder depends on
        input configuration, e.g., video sequence bitdepth,
        profile. Decoder depends on input bitstream. This has
        nothing to do with compiler/build  configuration.
      
      - Typical encoder usage for sampling format 4:2:0.
        1) 8-bit video sequence:
         a) --profile=0
         Fastest encoding/decoding pipeline on speedup.
      
         b) --profile=2 --bit-depth=10
         Image pixels are left shifted by 2 bits. It
         employs 16-bit reference frame buffer and has high
         calculation precision. It usually enjoys higher
         compression performance.
      
        2) 10/12-bit video sequence (HDR):
         --profile=2 --bit-depth=10/12
      
      - Transform coefficient type:
        Lowbitdepth:  int16_t
        Highbitdepth: int32_t
      
      - The type, tran_low_t is still used in codebase,
        Which is int32_t, defining the data path capacity.
        Naturally, it is high bitdepth.
      
      Eventually we shall remove the configuration flags,
      CONFIG_HIGHBITDEPTH/CONFIG_LOWBITDEPTH, and seperate
      low and high bitdepth data path. Two data paths co-exist
      in the same build environment.
      
      Change-Id: I35c06d4d4f19ebf80d909168fdddbae57c3cc884
      51281095
    • Sarah Parker's avatar
      Remove redundant checks in read/write_tx_type · 784596d5
      Sarah Parker authored
      Change-Id: I348dfd1f8b555306a3fb625bf2303f9cd2649e07
      784596d5
    • Rupert Swarbrick's avatar
      supertx: Read and write transforms with CDF in decode_partition · 580943a7
      Rupert Swarbrick authored
      Patch b1bedf5f converted the three writes in bitstream.c that
      specify an extended transform from using av1_write_token (encoded with
      probability trees) to aom_write_symbol (encoded with CDFs).
      
      That patch fixed up the two reads in decodemv.c but didn't fix up the
      corresponding read in decodeframe.c. This patch does so.
      
      The patch also fixes up a write of a (non-extended) transform when not
      CONFIG_EXT_TX and the corresponding read.
      
      Change-Id: Ibf5dcfcf3e7122f08dd0ef8616fb0ecddb95d99a
      580943a7
    • Jingning Han's avatar
      Rework recursive transform block partition search · e3b81bcf
      Jingning Han authored
      Support transform block level kernel selection in the recursive
      transform block partitioning search.
      
      Change-Id: I511c39705ee636b0c9fabbe4720fe5a9764b964a
      e3b81bcf
    • Jingning Han's avatar
      Re-organize the block index in decode_reconstruct_tx · a65f3051
      Jingning Han authored
      Make the block index use cases consistent in the recursive
      transform block partition.
      
      Change-Id: I57778acfab73c786a1db8c8b9110d56ce6df4854
      a65f3051
    • Wei-Ting Lin's avatar
      Fix token-encoding errors in NCOBMC · 1d46d903
      Wei-Ting Lin authored
      mi[0] is not set properly when encoding all mvs in a
      super-block first. After this patch NCOBMC can function
      properly.
      
      Change-Id: I149a50184c4823c0d3b82b6b21c7608e639668e6
      1d46d903
  3. 26 Jun, 2017 5 commits
    • Yushin Cho's avatar
      daala-dist: high bit depth support · 8ab875d6
      Yushin Cho authored
      Change-Id: Idafef140d3425a9a9f66cb8864a804c4d2a89a70
      8ab875d6
    • Adrian Grange's avatar
      Remove redundant code line · 0d6ab64e
      Adrian Grange authored
      Change-Id: Iaf9e8192905ea24946d6e2831be5739eaa564fae
      0d6ab64e
    • Yushin Cho's avatar
      Fix daala-dist for var-tx · 0474912c
      Yushin Cho authored
      The var-tx has its own suite of tx size/type RD search functions,
      which recursively split the partition into square tx blocks.
      
      The Daala-dist requires access to 8x8 pixels (both decoded and predicted)
      since it measures the distortion for multiple of a 8x8 pixels.
      Thus, if tx block is smaller than 8x8, it waits until all of sub8x8 blocks
      are RD searched (with MSE) then replaces the MSE of 8x8 pixels with
      daala-dist's calculated distortion for 8x8 pixels.
      
      It is also applied to luma pixels only.
      
      Change-Id: Ic4891e89b4ef05cf880aa26781d2d06ccf3142de
      0474912c
    • Lester Lu's avatar
      New experiment: LGT · ad8290b8
      Lester Lu authored
      In previous ADSTs, DST-7 and DST-4 are used for length 4 and length
      8/16/32, respectively. In this LGT experiment we explore transforms
      between DST-4 and DST-7. When CONFIG_LGT flag is on, adst4 and adst8
      are replaced by lgt4 and lgt8, the intermediate transforms with
      pre-chosen parameters.
      
      The LGTs applied here are lgt4_160 and lgt8_170, where the numbers
      mean the self-loop weights times 100. The associated values for DST-7
      and DST-4 are 100 and 200.
      
      ovr_psnr:
      lowres: -0.140
      midres: -0.131
      hdres: -0.078
      
      These changes are not applied to the highbd scenario in the
      current version.
      
      Change-Id: I20600456da8766528b2b6b11aa28801e70af498e
      ad8290b8
    • 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
  4. 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
  5. 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
  6. 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
  7. 21 Jun, 2017 6 commits