1. 07 Jun, 2013 10 commits
    • Yaowu Xu's avatar
      Remove two un-used entries in mode_lf_delta[] · b097a3ba
      Yaowu Xu authored
      With the removal of i4X4 and SPLIT_MV modes, the two entries for the
      modes are no longer used. This patch remove the coding of the deltas.
      
      Change-Id: Iea4eb500404ebe9706159380a03b8eca542fb4c3
      b097a3ba
    • Ronald S. Bultje's avatar
      Revert "Align frame size to 8 instead of 16." · e7d306aa
      Ronald S. Bultje authored
      This reverts commit c2574414
      
      Change-Id: Ie9013cb0bb43e639e01b4588f630b1da59295d38
      e7d306aa
    • Paul Wilkins's avatar
      Fix bug in segment skip. · 576c2bb0
      Paul Wilkins authored
      Wrong max data size (skip has no data) and use of vp9_get_segdata()
      when it should be vp9_segfeature_active().
      
      Change-Id: I1eb97d33df6e2a42cc589049f704266fe3639902
      576c2bb0
    • Paul Wilkins's avatar
      Compound inter encoder bug fix. · 653a2556
      Paul Wilkins authored
      In the longer term the encoder should allow compound as long
      as one of the buffers has opposite sign bias and as per the decoder
      this buffer is then set as the fixed reference. However at the moment
      the encoder and RD loop only supports the case where the ALTREF_FRAME
      buffer (or third of the 3 allowed in any given frame) is the odd one out.
      
      This patch fixes a bug that would allow compound inter and set
      fixed ref to ALTREF_FRAME when it is not the odd one out.
      
      Change-Id: Ic83a69486e088a147ba83a4aedc2a0042f6b3721
      653a2556
    • Yaowu Xu's avatar
      fix a typo · e127bdc0
      Yaowu Xu authored
      Change-Id: I8fd21e3a8435b873c5687d8b273922fc60988295
      e127bdc0
    • Yaowu Xu's avatar
      Fix a merge conflict · 472669be
      Yaowu Xu authored
      ref_frame in MB_Mode_Info was changed in the ref frame coding patch
      to be an array to handle first and second reference frame, this patch
      fix the loop filter code that use the pointer directly as reference
      frame.
      
      Change-Id: I71afa5a49deb50c1bc38029fd07470b984c6dfe9
      472669be
    • Yaowu Xu's avatar
      Removed rectangular intra prediction code · 9470c1a2
      Yaowu Xu authored
      As all intra predictions happen on squared transform block now.
      
      Change-Id: I7ec91e3f0ad01383a03d2bd3099bbf32e87e3466
      9470c1a2
    • Ronald S. Bultje's avatar
      Align frame size to 8 instead of 16. · c2574414
      Ronald S. Bultje authored
      Change-Id: Ic22f416a33de558519d5c30a929f6a954546ade9
      c2574414
    • Ronald S. Bultje's avatar
      Fix FIXME. · bc41af00
      Ronald S. Bultje authored
      Change-Id: I47a9857d35da1bff6153f8090c6b98b689b31a61
      bc41af00
    • Ronald S. Bultje's avatar
      Change ref frame coding. · 6ef805eb
      Ronald S. Bultje authored
      Code intra/inter, then comp/single, then the ref frame selection.
      Use contextualization for all steps. Don't code two past frames
      in comp pred mode.
      
      Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95
      6ef805eb
  2. 06 Jun, 2013 11 commits
    • Jim Bankoski's avatar
      fix vp9_wb_write_bit uninitialized variable · c003b97d
      Jim Bankoski authored
      This fixes a valgrind error.
      
      Change-Id: I0e1ef212ba09d65e3d71dd209f0786ae6530d2c8
      c003b97d
    • Dmitry Kovalev's avatar
      Moving segmentation and tile info to uncompressed header. · a2375763
      Dmitry Kovalev authored
      Change-Id: I0ca77329d882a2026f6c1941b8e447d86bc87bda
      a2375763
    • Ronald S. Bultje's avatar
      New intra mode and partitioning probabilities. · ad343687
      Ronald S. Bultje authored
      Split partition probabilities between keyframes and non-keyframes,
      since they are fairly different. Also have per-blocksize interframe
      y intramode probabilities, since these vary heavily between different
      blocksizes.
      
      Lastly, replace default probabilities for partitioning and intra modes
      with new ones generated from current codec. Replace counts with actual
      probabilities also.
      
      Change-Id: I77ca996e25e4a28e03bdbc542f27a3e64ca1234f
      ad343687
    • Jingning Han's avatar
      Bug fix in rd_pick_inter_mode_sb_ · d03e974f
      Jingning Han authored
      Fix the calculation of step size in height.
      
      Change-Id: I0e0c0175f141f5a41214ae51cef233d13942d3c5
      d03e974f
    • Jim Bankoski's avatar
      signs reverted · b4c4f648
      Jim Bankoski authored
      Change-Id: Ieface458c83eb6e7ee95595d9fc662f372117c9a
      b4c4f648
    • John Koleszar's avatar
      Reimplementation of loop filter · 043d348a
      John Koleszar authored
      This version of the loop filter supports non-4:2:0 subsampling and
      a fourth plane, as well as changing the filtering order to be more
      friendly to hardware implementations.
      
      The filters are applied first to all vertical edges within the
      64x64 SB, followed by the top horizontal edge and any internal
      horizontal edges. Since filtering is applied on each 4x4 edge
      serially, a dependency is created from filtering one block edge
      to the next. It would be possible to remove this depencnecy by
      building all filtering decisions from the unfiltered
      reconstruction data.
      
      Change-Id: I08f3e9683eb7bded8a76651cbc50fc0dfdd05fa7
      043d348a
    • Paul Wilkins's avatar
      Rd thresholds change with block size. · c3316c2b
      Paul Wilkins authored
      Added structures to support independent rd thresholds
      for different block sizes (and set experimental block
      size correction factors).
      
      Added structure to to allow dynamic adaptation of thresholds
      per mode and per block size basis depending on how often
      the mode/block size combination is seen (currently fixed factor).
      
      Removed some unused variables.
      
      TODO
      - Adaptation of thresholds based on how often each mode chosen.
      - The baseline mode values could also be adjusted based on
        the block size (e.g. for a particular intra mode use a low threshold
        for 4x4 prediction blocks but a relatively high value for 64x64.
      
      Change-Id: Iddee65ff3324ee309815ae7c1c5a8584720e7568
      c3316c2b
    • Paul Wilkins's avatar
      Turn off compound inter search refinement for good quality. · c880e02f
      Paul Wilkins authored
      Turn this feature off for some modes in  "good" quality.
      
      Change-Id: I3f262d62cca8f01736b977af1465291e8be29f0a
      c880e02f
    • Jim Bankoski's avatar
      don't tokenize & encode tokens for blocks in UMV · 5a88271b
      Jim Bankoski authored
      This avoids encoding tokens for blocks that are entirely
      in the UMV border. This changes the bitstream.
      
      Change-Id: I32b4df46ac8a990d0c37cee92fd34f8ddd4fb6c9
      5a88271b
    • Jingning Han's avatar
      Fix UV intra coding rd loop · f04b1548
      Jingning Han authored
      This commit makes the coding/reconstruction operations of intra
      coding rate-distortion loop for UV components consistent with those
      of the encoding process.
      
      key frame coding gains:
      derf:   0.11%
      stdhd:  0.42%
      
      Change-Id: I8d49f83924a320e3689ef2d60096c49d7f0c7a40
      f04b1548
    • Dmitry Kovalev's avatar
      Moving bits from compressed header to uncompressed one. · 12345cb3
      Dmitry Kovalev authored
      Bits moved: refresh_frame_flags, active_ref_idx[], ref_frame_sign_bias[],
      allow_high_precision_mv, mcomp_filter_type, ref_pred_probs[].
      
      Derf results: +0.040%
      
      Change-Id: I011f43c7eac0371d533b255fd99aee5ed75b85a5
      12345cb3
  3. 05 Jun, 2013 3 commits
  4. 04 Jun, 2013 1 commit
    • Jingning Han's avatar
      Make sb intra rd search consistent with encoding · 51b6e73a
      Jingning Han authored
      This commit makes operations of the superblock intra coding rate
      distortion optimization consistent with those used in the encoding
      process. Given the test prediction mode and transform size, the rd
      optimizer encodes and reconstructs each transformed block of the
      superblock consecutively, then computes the total rate-distortion
      costs accosicated with the current superblock to select the coding
      decisions.
      
      It achieves coding performance gains:
      derf 0.353%
      yt   1.111%
      
      Change-Id: I0da2eb7a71361dfb8c1384927fc536b0c2790d07
      51b6e73a
  5. 03 Jun, 2013 3 commits
    • Yaowu Xu's avatar
      Fix a off-by-one bug · 0449ee0f
      Yaowu Xu authored
      in the calculation of maximum number of tiles in log2 scale.
      
      Change-Id: Id283d6e51a8b926015fd3fc631cdbfb4b8268d4a
      0449ee0f
    • Dmitry Kovalev's avatar
      Moving quantization and loopfilter data to uncompressed header. · b8b91b2f
      Dmitry Kovalev authored
      Overall PSNR drop on derf set is -0.024.
      
      Change-Id: I1c05d2ace83488205ca16e3b06cd5f0ebceec8d6
      b8b91b2f
    • Jingning Han's avatar
      Put iterative motion search under speed control · 9068bce4
      Jingning Han authored
      Enable iterative motion search for compound inter-inter prediction
      of block sizes 4x4/4x8/8x4 only when best coding quality is selected.
      The iterative motion search provides about 0.1% gains for derf and
      stdhd at this point, at the expense of longer runtime.
      
      Change-Id: Idc03e7f827e51f1bb8d269bc3752ee297a6bbfe5
      9068bce4
  6. 31 May, 2013 12 commits