1. 14 May, 2013 3 commits
    • Jingning Han's avatar
      Enable recursive partition down to 4x4 · 1f26840f
      Jingning Han authored
      This commit allows the rate-distortion optimization recursion
      at encoder to go down to 4x4 block size. It deprecates the use
      of I4X4_PRED and SPLITMV syntax elements from bit-stream
      writing/reading. Will remove the unused probability models in
      the next patch.
      
      The partition type search and bit-stream are now capable of
      supporting the rectangular partition of 8x8 block, i.e., 8x4
      and 4x8. Need to revise the rate-distortion parts to get these
      two partition tested in the rd loop.
      
      Change-Id: I0dfe3b90a1507ad6138db10cc58e6e237a06a9d6
      1f26840f
    • John Koleszar's avatar
      Revert "Preparing vp9_deblock and vp9_denoise to alpha support." · 56efb73b
      John Koleszar authored
      This reverts commit a9333111
      
      Change-Id: I2321f88011178381adbcffeda1bcc6a430ab8f1d
      56efb73b
    • Dmitry Kovalev's avatar
      Adding encode_quantization function. · 3f31b297
      Dmitry Kovalev authored
      Change-Id: Ib7448f7f325ba34a3cba8ab3129028e31e593cf5
      3f31b297
  2. 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
  3. 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
  4. 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
  5. 09 May, 2013 3 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
    • Dmitry Kovalev's avatar
      Code cleanup inside vp9_firstpass.c. · dc541805
      Dmitry Kovalev authored
      Change-Id: Ia2814402e3c2ec97c24c536c05f0f526fe1a431c
      dc541805
  6. 08 May, 2013 8 commits
  7. 07 May, 2013 13 commits
  8. 06 May, 2013 1 commit
    • John Koleszar's avatar
      Remove heap alloc of FIRSTPASS_STATS · 6462eebb
      John Koleszar authored
      There is only one instance of these structures, no need for them
      to be allocated separately on the heap.
      
      Change-Id: I1333cc92d06bbe21be643c2b2f0e3936f0264cac
      6462eebb