1. 20 May, 2013 - 2 commits
    • Deb Mukherjee's avatar
      Updating the model coef experiment · 39a90bc8
      Deb Mukherjee authored
      Cleans up the experiment. Actually uses reduced counts for backward
      updates, and reduced number of probabilities in the context.
      
      No change in bitstream when the experiment is on.
      
      Between expt on and off:
      derfraw300 is down only -0.062% (which is better than when expts
      were run previously).
      
      Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5
      39a90bc8
    • Jingning Han's avatar
      Give VP9 a different sync code from VP8 · 2c93a8ed
      Jingning Han authored
      The new code is 0x49, 0x83, 0x42
      
      There is nothing particularly special about this code bitstream wise.
      Its derivation is the word "sync" coded using 4x6bit alphabetic indices.
      
      Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647
      2c93a8ed
  2. 19 May, 2013 - 1 commit
    • Jingning Han's avatar
      Enable bit-stream support to 8x4 and 4x8 partition · 810b612c
      Jingning Han authored
      The recursive partition type search is enabled down to 4x4, 4x8 and
      8x4, followed by the corresponding rate-distortion optimization for
      the per-partition encoding mode decisions.
      
      The bit-stream writing/reading synchronized in supporting the
      rectangular partition of 8x8 block.
      
      This provides above 1% coding performance gains on derf.
      
      To do next:
      1. re-design the rate-distortion loop for inter prediction below 8x8.
      2. re-design the rate-distortion loop for intra prediction below 4x4.
      3. make the loop-filter aware of rectangular partition of 8x8 block.
      4. clean the unused probability models.
      5. update default probability values.
      
      Change-Id: Idd41a315b16879db08f045a322241f46f1d53f20
      810b612c
  3. 17 May, 2013 - 4 commits
    • Jingning Han's avatar
      Make nmv_count update 4x8/8x4 aware · 5f3612c3
      Jingning Han authored
      This commit modifies the vp9_update_nmv_count_ to support rectangular
      partition of 8x8 block.
      
      Change-Id: I3e742f80f18f95b031c1c785d756d9365503c24c
      5f3612c3
    • Jingning Han's avatar
      Fix parameters in 4x8 variance calc · 481a7c59
      Jingning Han authored
      Correct the stride parameter of 4x8 in vp9_sub_pixel_variance4x8_
      and vp9_sub_pixel_avg_variance4x8.
      
      Change-Id: I2ca74d4043817503b21737563994270e3b0619ff
      481a7c59
    • Paul Wilkins's avatar
      Replace default counts with default probs. · 99c4b1ee
      Paul Wilkins authored
      Replace vp9_kf_default_bmode_counts structure with
      direct default probabilities. The probability structure is
      smaller and it removes the need to specify in the bitstream
      how to convert the counts to probabilities.
      
      Note that I have concerns still about the size and value of
      the large intra mode context. This may cause problems for
      HW but it also means we rely heavily on reverse update as
      forwards update of a structure this size is problematic. I
      intend to review this more generally in the next few days to
      see if we can come up with a competitive solution that does
      not rely on such a large context.
      
      Change-Id: I0a36071079d5d26a57ab0e9fbf91af4199aa7984
      99c4b1ee
    • Paul Wilkins's avatar
      Remove MODE_STATS flag and code · 51bc4bf4
      Paul Wilkins authored
      Change-Id: I6c70a8a8a4633399842ac74792003ae5f7859ffa
      51bc4bf4
  4. 16 May, 2013 - 8 commits
    • Jingning Han's avatar
      Refactor encode_sb_ for 4x8/8x4 partition · 5a1c9533
      Jingning Han authored
      Deprecate set_block_index. Replace it with get_sb_index_ for
      consistency with partition search and bit-stream writing/reading.
      
      Use b_width/height_log2 instead of mi_width/height_log2, to support
      4x4 resolution partition types.
      
      Change-Id: Ic1e71981e163c669f7ea6b3c12b831c284c4a494
      5a1c9533
    • Jingning Han's avatar
      Use b_width_log2_ in partition type parse · 3819f11b
      Jingning Han authored
      Replace mi_width/height_log2 with b_width/height_log2 in partition
      type parsing at bit-stream writing stage. This allows parsing
      resolution at 4x4 block level and makes the 4x4/4x8/8x4 partition
      coding consistent with other superblock types.
      
      Change-Id: I7db3617ea042e0db2dc898999b0c323bff91a22f
      3819f11b
    • John Koleszar's avatar
      Remove vp9_extend_mb_row() · 16ac5a5c
      John Koleszar authored
      This code is no longer needed for correct intra prediction.
      
      Change-Id: I822d1a8b0ad0a00e7c4c6e7b2931790c39d1267d
      16ac5a5c
    • Scott LaVarnway's avatar
      WIP: 8x8 idct/recon merge · 794a7bed
      Scott LaVarnway authored
      This patch eliminates the intermediate diff buffer usage by
      combining the short idct and the add residual into one function.
      The encoder can use the same code as well.
      
      Change-Id: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45
      794a7bed
    • Jingning Han's avatar
      Add building blocks for 4x8/8x4 rd search · 8e3d0e4d
      Jingning Han authored
      These building blocks enable rate-distortion optimization search
      over block sizes of 8x4 and 4x8. Need to convert them into mmx/sse
      forms.
      
      Change-Id: I570ea2d22d14ceec3fe3575128d7dfa172a577de
      8e3d0e4d
    • Paul Wilkins's avatar
      New inter mode context. · 6ff3eb16
      Paul Wilkins authored
      This patch creates a new inter mode contest that avoids
      a dependence on the reconstructed motion vectors from
      neighboring blocks. This was a change requested by
      a hardware vendor to improve decode performance.
      
      As part of this change I have also made some modifications
      to stats output code (under a flag) to allow accumulation of
      inter mode context flags over multiple clips
      
      Some further changes will be required to accommodate the
      deprecation of the split mv mode over the next few days.
      
      Performance as stands is around -0.25% on derf and
      std-hd but up on the YT and YT-HD sets. With further tuning
      or some adjustment to the context criteria it should be
      possible to make this change broadly neutral.
      
      Change-Id: Ia15cb4470969b9e87332a59c546ae0bd40676f6c
      6ff3eb16
    • John Koleszar's avatar
      Add vp9_extend_frame_borders · 418564e7
      John Koleszar authored
      Adds a subsampling aware border extension function. This may be reworked
      soon to support more than 3 planes.
      
      Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
      418564e7
    • Dmitry Kovalev's avatar
      Removing lossless flag from the bitstream. · b0c101e2
      Dmitry Kovalev authored
      Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea
      b0c101e2
  5. 15 May, 2013 - 6 commits
  6. 14 May, 2013 - 5 commits
  7. 13 May, 2013 - 4 commits
    • Dmitry Kovalev's avatar
      Using loop through all planes inside scale_and_extend_frame function. · 9f39ab66
      Dmitry Kovalev authored
      Change-Id: I493bcf7bac930e9937a9b57e4b7c803da22728bd
      9f39ab66
    • Dmitry Kovalev's avatar
      Preparing vp9_deblock and vp9_denoise to alpha support. · a9333111
      Dmitry Kovalev authored
      Change-Id: Id1cc1c2663b9c2219cb830ffb4b0c6ab3468dc04
      a9333111
    • Yunqing Wang's avatar
      Do joint motion search iteratively · 60456083
      Yunqing Wang authored
      Allow motion search multiple times iteratively, and break out
      the loop if this search couldn't find better motion vectors.
      Limit the maximum number of search to 2.
      
      Tests results:
      1. stdhd set: 0.311%(overall psnr); 0.346%(ssim).
      positive gain on 10 out of 16 clips(best: 2.746% on sunflower;
      worst: -0.434% on old_town_cross).
      2. derf set: 0.016%(overall psnr); 0.062%(ssim).
      positive gain on half of the clips(best: 0.499% on bowing;
      worst: -0.387 on city).
      
      Change-Id: Ibf0a51776d4caf7707be0586346db08128117559
      60456083
    • Paul Wilkins's avatar
      Change to band calculation. · e5f71520
      Paul Wilkins authored
      Change band calculation back to simpler model based
      on the order in which coefficients are coded in scan order
      not the absolute coefficient positions.
      
      With the scatter scan experiment enabled the results were
      appear broadly neutral on derf (-0.028) but up a little on std-hd +0.134).
      
      Without the scatterscan experiment on the results were up derf as well.
      
      Change-Id: Ie9ef03ce42a6b24b849a4bebe950d4a5dffa6791
      e5f71520
  8. 11 May, 2013 - 3 commits
    • Jingning Han's avatar
      Use consistent partition context setup in enc/dec · 6910f178
      Jingning Han authored
      Move set_partition_seg_context_ to common file. Use consistent
      context setup conditions for partition probability model update at
      encoder and decoder.
      
      Change-Id: I24b7ed3b1c48e3d2568191a46b70136b99b67b1a
      6910f178
    • Jingning Han's avatar
      Force bsize for UV in I4X4 and SPLITMV · 4c2c3503
      Jingning Han authored
      Use 4x4 block coding for UV components arbitrarily in I4X4_PRED and
      SPLITMV coding modes. This is a temporary solution to enable
      bit-stream support for recursive partition down to 4x4 block size.
      Will separate the functionalities of 4x4 block coding rate-distortion
      out from those of superblocks.
      
      Change-Id: I03dc15d5897014f175f3f2c91e9b266091d56797
      4c2c3503
    • Jingning Han's avatar
      Move get_sb_index to vp9_blockd.h · 2117d4ee
      Jingning Han authored
      Use common function to fetch/assign sb_index in rd loop, bit-stream
      writing and reading.
      
      Change-Id: I1d8a214a57ed9cbcd026040436ef33e5e39d65b7
      2117d4ee
  9. 10 May, 2013 - 5 commits
    • Yunqing Wang's avatar
      Remove unused mdcounts · 9755d9fd
      Yunqing Wang authored
      mdcounts seems no longer used.
      
      Change-Id: Idd8162e8acfa3f5be7a18767156cc79ccbc2bdee
      9755d9fd
    • Yunqing Wang's avatar
      Add joint motion search in comp_inter_inter mode(experiment) · 9f5811c2
      Yunqing Wang authored
      In current code, motion vectors got from single prediction mode are used
      in compound prediction mode directly. These motion vectors may not give
      accurate prediction since they are searched independently. In this patch,
      we took Pascal's suggestion, and did joint motion search in compound
      prediction mode to find better motion vectors in this situation.
      Test results:
      Overall PSNR: 0.570%(derf), 0.918%(stdhd);
      SSIM: 0.572%(derf), 1.009%(stdhd);
      
      The encoder is a little slower. This can be improved since some c
      code is used in motion search.
      
      Change-Id: Ib30c9240f6c56c9b070867b4ca89412a76d9f3c6
      9f5811c2
    • Jingning Han's avatar
      Enable recursive partition type search · e44678c0
      Jingning Han authored
      This commit enables the search for the optimal superblock
      partition types in the recursion form. The intention is to
      make the optimization process more concise and ready to
      support partition down to 4x4 block size next.
      
      Change-Id: Iae279a67df3a7cc372553c84c775bc4d2f3e4336
      e44678c0
    • John Koleszar's avatar
      Fix 4:2:0 assumptions in debug plane output · 6dab4d20
      John Koleszar authored
      Fixes some debugging code to be able to write out frames with
      chroma other than 4:2:0.
      
      Change-Id: I5ee3d29e584db1f52d2de344db249e927eff10b7
      6dab4d20
    • John Koleszar's avatar
      Subsampling aware allocs and bitstream · da58436f
      John Koleszar authored
      Make framebuffer allocations according to the chroma subsamping
      factors in use. A bit is placed in the raw part of the frame header for
      each of the two subsampling factors. This will be moved in a future
      commit to make them part of the TBD feature set bits, probably only set
      on keyframes, etc.
      
      Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
      da58436f
  10. 09 May, 2013 - 2 commits
    • John Koleszar's avatar
      Make firstpass encode Y-only · 236ec08c
      John Koleszar authored
      The chroma planes are not used during the first pass encode,
      but the vp9_encode_sb() function was operating on them anyway.
      This was causing the use of uninitialized memory.
      
      Change-Id: I5ebafcd3d5e34ed91a8336dad159b573995a939f
      236ec08c
    • John Koleszar's avatar
      Use common get_uv_tx_size() · 1fec23be
      John Koleszar authored
      Use a single method for calculating the transform size of
      non-luma planes.
      
      Change-Id: I16ebd10e7944d7b9075ab79d15e6a5b5f9bab775
      1fec23be