1. 29 Jul, 2014 1 commit
    • Jingning Han's avatar
      Use frame index directly in get_chessboard_index · c36f78b0
      Jingning Han authored
      The get_chessboard_index() used to call the entire VP9_COMMON
      struct pointer to retrieve the chessboard pattern index. This cl
      makes it call the frame index directly.
      Change-Id: I3cad9d209ea2e77a358085a04fe1ff0ddec5ba03
  2. 28 Jul, 2014 3 commits
    • levytamar82's avatar
      Fix bug 805 · 4ba92dc5
      levytamar82 authored and James Zern's avatar James Zern committed
      Remove all the redundant dct functions (dct4x4, dct8x8)
      in avx2 except dct32x32 those functions were copied originally from dct_sse2
      Change-Id: I742576fbf5175f3ac09f2076976a9247b259323e
    • Pengchong Jin's avatar
      Store block-wise statistics obtained in the first pass · bae65224
      Pengchong Jin authored
      Change-Id: I9956db2ba2f7d28f484daaf5022d8d1ef5db473c
    • Jim Bankoski's avatar
      Fix reference frame size restrictions. · 899585eb
      Jim Bankoski authored
      The issue was introduced by commit g9f37d149 with adding explicit
      restrictions on reference-frame scale factors. The restriction
      is checked against aligned-by-8 frame dimensions, not against
      original ones. So, for example, frame of 35×35 actually can refer
      to frame of 70×70, but the new check won't allow this. It will
      compare 35 vs 72 (not 70), so 2x downscale limit will be exceeded.
      Change-Id: Ic663693034440f64ac8312cbff9e1e773a921060
  3. 25 Jul, 2014 1 commit
    • Jingning Han's avatar
      Fix rd_pick_partition search loop for 4x4 blocks · 84af0486
      Jingning Han authored
      The partition search for 4x4 blocks takes unnecessary steps to
      reconstruct pixels and an extra partition type update. This commit
      removes such operations. No visible compression/speed difference.
      Thanks to Yue (yuec@) for finding this issue.
      Change-Id: I3f83824aa3fd3717d63be0b280fa57258939a70a
  4. 24 Jul, 2014 6 commits
    • Jingning Han's avatar
      Fix potential ioc issue in vp9_get_prob for 4K above sizes · 53844275
      Jingning Han authored
      This commit turns on the existing vp9_get_prob function using
      64 bit in the intermediate step. It fixes the ioc issue for 4K
      above frame sizes (issue 828).
      Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c
    • Jingning Han's avatar
      Remove unnecessary conditional assignment · 7112d70f
      Jingning Han authored
      The assignment of the variable mode_excluded in
      vp9_rd_pick_inter_mode_sub8x8 takes redundant conditional jump.
      This commit removes it.
      Change-Id: Ie195fbe6e54ec2ade7093d562c456a2e93143704
    • Yaowu Xu's avatar
      Changed validation of reference frame size · 9261e1aa
      Yaowu Xu authored
      A previous change, https://gerrit.chromium.org/gerrit/#/c/70632,
      introduced a size validation for reference frames to insuare the
      input stream is a valid VP9 stream. However, the logic requiring
      all reference frames have valid size turned out to be too strict.
      In this commit, we modify the validation to require one of the
      reference frame has valid dimension. In addition, the decoder
      reports error whenever it detects the use of reference frame
      with invalid scalig ratio.
      Change-Id: If8efc312244087556cfe00f1fcbdff811268ebad
    • Adrian Grange's avatar
      Fix allocation of context buffers on frame resize · 423e8a97
      Adrian Grange authored
      The patch:
      changed the test that determined whether the context
      frame buffers needed to be reallocated or not.
      The code checked for a change in total frame area
      to signal the need to reallocate context buffers.
      However, the above_context buffer needs to be
      resized i:xf only the width of the frame has increased.
      Change-Id: Ib89d75651af252908144cf662578d84f16cf30e6
    • Tim Kopp's avatar
      Tim Kopp authored
      This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other
      Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8
    • Alex Converse's avatar
      Refactor inter/intra_suberblock_yrd. · 6eae35c0
      Alex Converse authored
      Move txfm_rd_in_plane into choose_tx_size_from_rd and cleanup callers.
      Change-Id: I1df2d7dc984802bd5e204cbe881ada0d75fbb3f7
  5. 23 Jul, 2014 4 commits
    • Minghai Shang's avatar
      [spatial svc]Fix reference issues · 929001bf
      Minghai Shang authored
      1. Remove last reference flag for first frame upper layers in one pass mode.
      2. Disable refresh golden frame flag for key frames.
      Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
    • Jingning Han's avatar
      Remove redundant argument entry in handle_inter_mode · e945c56d
      Jingning Han authored
      The value of mode_excluded has been properly set in
      vp9_rd_pick_inter_mode_sb(). It is redundant to send it in
      handle_inter_mode() and re-set the value again.
      Change-Id: I408d4731f2f42e0bcf3ae62e85757717bb410471
    • Jingning Han's avatar
      Use the chessboard pattern pred search in newmv mode · 4f2f8672
      Jingning Han authored
      This commit extends the chessboard pattern prediction filter search.
      If the above and left blocks have the same prediction filter type,
      the encoder will skip the prediction filter type search and use the
      reference one.
      The overall chessboard pattern prediction filter type search reduces
      speed 3 runtime for hard clips. Experiments on park joy at 1080p
      and 15000 kbps show that the runtime goes from 723265 ms to 65832 ms,
      i.e., about 10% speed-up. Compression performance wise, it affects
      the coding quality by
      Change-Id: I880975497c7ad166532e9eea9bf46684d77ff327
      derf:    -0.326%
      yt:      -0.257%
      hd:      -0.241%
      stdhd:   -0.417%
    • Jingning Han's avatar
      Remove redundant num_refs definition · 35381910
      Jingning Han authored
      Use is_comp_pred to replace the use case of num_refs.
      Change-Id: I4d0c1e14d5f728428a2ae3d293cd2b4a8b2f31d8
  6. 22 Jul, 2014 6 commits
    • Jingning Han's avatar
      Enable chessboard inter prediction filter type search · 54ad0958
      Jingning Han authored
      This commit enables a chessboard pattern prediction filter type
      search scheme for rate-distortion optimization speed-up. For the
      inferred motion vector modes, the encoder can re-use its above/left
      neighbor blocks' prediction filter type and skip a full test on
      all possible filter types. Such operation is turned on/off
      alternatively in a chessboard manner.
      It is turned on in speed 3. For test clip pedestrian 1080p, the
      runtime is reduced from 231500 ms -> 221700 ms. The compression
      performance is changed:
      derf:  -0.147%
      yt:    -0.134%
      hd:    -0.079%
      stdhd: -0.220%
      Change-Id: I1912f278e7576c2dc632688e3ad7a257410c605a
    • Tim Kopp's avatar
      VP9 denoiser bugfix in debugging code. · 1fe18acb
      Tim Kopp authored
      When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed,
      denoised video to a separate file. Moved the point at which the file is
      written to in order to avoid an extra blank frame at the beginning of the video.
      Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3
    • Adrian Grange's avatar
      Fix get_frame_type function · caad1686
      Adrian Grange authored
      Fixed the function get_frame_type to return the correct
      frame type for golden and last frames.
      Change-Id: I8edddd9aa26cbe7a1de8ff211389410b22b1bd14
    • James Zern's avatar
      vp9_bitstream.c: cosmetics · de4db2dc
      James Zern authored
      fix indent, spelling and drop some vertical whitespace
      Change-Id: I722671381a374a24763b07a02805ab1d149ab3f4
    • Jingning Han's avatar
      USE local best_filter variable in handle_inter_mode · 5de6114e
      Jingning Han authored
      This should be a local variable. Move the definition from
      vp9_rd_pick_inter_mode_sb to handle_inter_mode.
      Change-Id: I14f4168bb1c896ed04e8f6d4cd89fbf4c9839944
    • Minghai Shang's avatar
      [spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC · 24c9d6ad
      Minghai Shang authored
      Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
  7. 21 Jul, 2014 4 commits
    • Jingning Han's avatar
      Turn on adaptive pred filter scheme for sub8x8 below 720p · ffd948bb
      Jingning Han authored
      For sequences of resolution below 720p, the encoder will check
      intra prediction modes and inter prediction modes from LAST_FRAME.
      This commit turns on adaptive prediction filter scheme for sub8x8
      blocks, where inter prediction modes are enabled. For the test
      sequence bus at CIF, the speed 2 runtime goes down from 17879 ms
      to 16783 ms, i.e., 6% speed up. The compression performance of
      derf set is down by -0.128%.
      Change-Id: I01d5321a5ceab4e0666ac5be56c52d896c7a8d45
    • Alex Converse's avatar
      Remove unfinished VP9 alpha channel. · 5926e7c0
      Alex Converse authored
      Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
    • Yaowu Xu's avatar
      Moved call to vp9_clear_system_state() to a proper location · bcaf1d69
      Yaowu Xu authored
      The commit moved a call to vp9_clear_system_state() to a correct
      location, i.e. prior function calls using floating point numbers.
      This was to fix a mismatch mmx code and sse2 version, where a
      floating point number used in adjust_frame_rate(cpi) gets NAN due
      to mmx registers being in wrong state.
      Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6
    • Yunqing Wang's avatar
      Add -DNDEBUG when config option debug is disabled · 765485ca
      Yunqing Wang authored
      For gcc, when libvpx config option debug is disabled, added the
      flag -DNDEBUG to disable the assertions in libvpx for some speedup.
      Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
  8. 18 Jul, 2014 3 commits
  9. 17 Jul, 2014 3 commits
    • Pengchong Jin's avatar
      Fixed a bug of setting wrong first pass mb stats pointer · e358ab5f
      Pengchong Jin authored
      The bug sets the wrong pointer to the first pass mb stats
      if the encoder does the re-coding in the second pass.
      Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
    • Adrian Grange's avatar
      Modified frame buffer handling · f68aaa38
      Adrian Grange authored
      This patch is the first step toward simplifying the
      frame buffer handling.
      The final goal is to have a common frame buffer handling
      framework for both encoder and decoder that incorporates
      the existing ability to use externally allocated memory.
      Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
    • Jim Bankoski's avatar
      allow config options to limit max size of decode · 943e4327
      Jim Bankoski authored
      This is a practical concern to allow us to fail in a decoder instance
      if the size of a file is bigger than we can reasonably handle.
      Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
  10. 16 Jul, 2014 3 commits
    • Yaowu Xu's avatar
      make default_interp_filter choice a speed feature · 51c60a89
      Yaowu Xu authored
      This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed
      feature with the same default value: SWITCHABLE.
      Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1
    • Scott LaVarnway's avatar
      Added vp9_sad64x64_neon(), vp9_sad32x32_neon() · 696fa52e
      Scott LaVarnway authored
      and vp9_sad16x16_neon()
      On a Nexus 7, vpxenc (in realtime mode, speed -6)
      reported a performance improvement of ~17%.
      Change-Id: I91e070cde2973451083d3f3d63b49b7886de9a85
    • Paul Wilkins's avatar
      Changes to rd balance and multi-arf bug fix. · b691230d
      Paul Wilkins authored
      2 pass only change to calculation of rd mult based on Q.
      Make a small adjustment based on frame type and also
      replace adjustment based on iifactor with an one based
      on the ambient GF/ARF boost level.
      Also fix multi arf bug / issue.
      Overall these change give an slight improvement in ssim
      but hurt psnr a little.
      Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e
  11. 15 Jul, 2014 6 commits