1. 07 Oct, 2014 3 commits
  2. 06 Oct, 2014 2 commits
    • Jingning Han's avatar
      Fix eobs buffer pointer mis-use · a7555158
      Jingning Han authored
      This commit fixes a buffer pointer mis-use in store_coding_context.
      The compression performance for stdhd set of speed 3 is improved by
      0.097%. It fixes issue 869.
      
      Change-Id: Idc59e22035eaf39f7133ca04174894374d647ff7
      a7555158
    • Jingning Han's avatar
      Add range check in inverse ADST 16x16 · 12344f26
      Jingning Han authored
      Bit-stream clarification related to Issue 868.
      
      Change-Id: I92a7bc5b7782c9ea5c3f6cceec761742183c9514
      12344f26
  3. 05 Oct, 2014 1 commit
    • Jingning Han's avatar
      Fix an IOC issue in vp9_rd_pick_inter_mode_sb · 085b97aa
      Jingning Han authored
      It is possible that the GOLDEN reference frame is not avaiable, in
      which setting the predicted mv will be associated with a residual
      value of INT_MAX. This commit checks this condition before
      left shift and comparison with that of ALTREF frame, to avoid
      overflow issue.
      
      Change-Id: Ib98c3149dbdd016f2fe5beaafb13f67d469dd07c
      085b97aa
  4. 04 Oct, 2014 1 commit
  5. 03 Oct, 2014 6 commits
    • Yaowu Xu's avatar
      Properly initialize segmentID in nonrd coding path · 0065b734
      Yaowu Xu authored
      This commit adds proper initialization of segment id for variance AQ
      mode in non-rd coding path. It fixes the enc/dec mismatch issue of
      rt=7 with --aq-mode=1, as reported in issue #816
      
      Change-Id: I02fa41b96345bf2e66077d5ea553f85ba800f7bb
      0065b734
    • Jingning Han's avatar
      Fix indent in encode_rd_sb_row · ef622333
      Jingning Han authored
      Change-Id: Icbcfe7b56d88474f4398b4c5b52f6719d551ab4a
      ef622333
    • Jingning Han's avatar
      Rework partition search skip scheme · bb260d90
      Jingning Han authored
      This commit enables the encoder to skip split partition search if
      the bigger block size has all non-zero quantized coefficients in low
      frequency area and the total rate cost is below a certain threshold.
      It logarithmatically scales the rate threshold according to the
      current block size. For speed 3, the compression performance loss:
      derf  -0.093%
      stdhd -0.066%
      
      Local experiments show 4% - 20% encoding speed-up for speed 3.
      blue_sky_1080p, 1500 kbps
      51051 b/f, 35.891 dB, 67236 ms ->
      50554 b/f, 35.857 dB, 59270 ms (12% speed-up)
      
      old_town_cross_720p, 1500 kbps
      14431 b/f, 36.249 dB, 57687 ms ->
      14108 b/f, 36.172 dB, 46586 ms (19% speed-up)
      
      pedestrian_area_1080p, 1500 kbps
      50812 b/f, 40.124 dB, 100439 ms ->
      50755 b/f, 40.118 dB,  96549 ms (4% speed-up)
      
      mobile_calendar_720p, 1000 kbps
      10352 b/f, 35.055 dB, 51837 ms ->
      10172 b/f, 35.003 dB, 44076 ms (15% speed-up)
      
      Change-Id: I412e34db49060775b3b89ba1738522317c3239c8
      bb260d90
    • Deb Mukherjee's avatar
      Incorporate WRAPLOW macro into non-highbitdepth tx · d50716fa
      Deb Mukherjee authored
      Incorporates the WRAPLOW macro into the non-highbitdepth transforms
      to aid hardware verification between a software C model and an
      intended hardware implementation though the use of the configure
      options: --enable-experimental --enable-emulate-hardware.
      Note that to avoid further discrepancies between the sse/sse2
      implementations of the transforms and the C implementation, when the
      emulate hardware option is invoked, we also disable sse/sse2/etc.
      
      Also incudes some minor cleanups/renaming etc.
      
      Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
      d50716fa
    • Deb Mukherjee's avatar
      Prevent negative cost for highbitdepth · 431cdc33
      Deb Mukherjee authored
      Adds proper scaling for highbitdepth in a rdopt cost.
      
      Change-Id: I066694799a7f491b830945ef1c66eb202071c355
      431cdc33
    • Deb Mukherjee's avatar
      rdmult data type change · 00a4b20f
      Deb Mukherjee authored
      To fix a VS warning.
      
      Change-Id: I4c530c0afe8d06acdb8cc78b7995aba57a25373d
      00a4b20f
  6. 02 Oct, 2014 5 commits
  7. 01 Oct, 2014 10 commits
    • Deb Mukherjee's avatar
      Adds support of 440 content. · a30774c5
      Deb Mukherjee authored
      Adds enums and corresponding vpx level code.
      
      Change-Id: Ia402d47490a4466988d7edc6b7e3e5163f20a381
      a30774c5
    • Jingning Han's avatar
      Remove redundant header file from vp9_idct.h · 74c2997b
      Jingning Han authored
      Change-Id: Id92544762e7b96d3c729dfc8e04ecff91cbcc7f9
      74c2997b
    • Jingning Han's avatar
      Remove unused header files from vp9_encodemb.h · 72a78a0c
      Jingning Han authored
      Change-Id: Icfc3fb62cc0b05e435814035bfe1f2e2870442b4
      72a78a0c
    • Deb Mukherjee's avatar
      High-bitdepth bugfixes · a160d725
      Deb Mukherjee authored
      Miscellaneous bug-fixes for high bitdepth functionality.
      With this patch, high bit-depth profiles become mostly functional,
      except for an intermittent assert failure issue that is being
      tracked.
      
      Change-Id: I6a7fcbdcf1e5b09842e88535f8442d2e1230748c
      a160d725
    • Jingning Han's avatar
      Remove repeated header files from vp9_block.h · 0a9f5fa1
      Jingning Han authored
      This commit removes unused header file vp9_onyxc_int.h and repeatedly
      included file vpx_ports/mem.h from vp9_block.h
      
      Change-Id: I400b210bd1da48f1880bd50a8f4a6e2c690e15a1
      0a9f5fa1
    • Yunqing Wang's avatar
      Modify block transform skipping check · e4aac6bb
      Yunqing Wang authored
      Block transform skipping was implemented based on DCT's energy
      conservation property. Modified the thresholds using zero bin
      parameters. AC and DC coefficients were checked separately to
      allow better identifying of skippable blocks.
      
      Borg test at speed 3 showed:
      stdhd set: psnr gain: 0.153%, ssim gain: 0.051%;
      derf set: psnr gain: 0.023%, ssim gain: 0.036%
      
      For most test clips, the encoding speedup is 1% - 2%.
      parkrun(720p): 7.5% speedup, park_joy(1080p): 3.5% speedup.
      
      Change-Id: If28eb81113a077414f5ca7b021c14f9069b373bb
      e4aac6bb
    • Jingning Han's avatar
      Remove repeated vpx_integer.h from vp9_prob.h · 3d17f0d4
      Jingning Han authored
      The file vpx_integer.h has been included and used in the parent
      file vp9_common.h.
      
      Change-Id: I9c65f08353576f9ef1e5ea17244fc5ca964ec002
      3d17f0d4
    • Jingning Han's avatar
      Use precise header files in vp9_entropymv.h · 764c00ab
      Jingning Han authored
      The commit cleans up the header files in vp9_entropymv.h. This
      file should only depend on vp9_mv.h and vp9_prob.h. Remove the
      giant vp9_blockd.h from header file list.
      
      Change-Id: I44cd26d2cfd10a16a9325778347dd53f888a874c
      764c00ab
    • Jingning Han's avatar
      Conditionally skip reference frame check · 891793a5
      Jingning Han authored
      For regular inter frames, if the distance from GOLDEN_FRAME is larger
      than 2 and if the predicted motion vector of LAST_FRAME gives lower
      sse than that of GOLDEN_FRAME, skip the GOLDE_FRAME mode checking in
      the rate-distortion optimization. It provides about 5% speed-up at
      expense of -0.137% and -0.230% performance down for speed 3. Local
      experiment results:
      
      pedestrian 1080p 2000 kbps
      66712 b/f, 40.908 dB, 113688 ms ->
      66768 b/f, 40.911 dB, 108752 ms
      
      blue_sky 1080p 2000 kbps
      51054 b/f, 35.894 dB, 70406 ms ->
      51051 b/f, 35.891 dB, 67236 ms
      
      old_town_cross 720p 1500 kbps
      14412 b/f, 36.252 dB, 60690 ms ->
      14431 b/f, 36.249 dB, 57346 ms
      
      Change-Id: Idfcafe7f63da7a4896602fc60bd7093f0f0d82ca
      891793a5
    • Deb Mukherjee's avatar
      Moves transform type defines to vp9_common · 872b207b
      Deb Mukherjee authored
      Moves transform type defines to vp9_common.h from vp9_idct.h
      so that they can be included in vp9_rtcd_defs.pl safely.
      
      Change-Id: Id5106227bee5934f7ce8b06f2eb9fa8a9a2e0ddb
      872b207b
  8. 30 Sep, 2014 4 commits
    • James Zern's avatar
      Revert "Fix compiling error in vp9_idct.h" · 4a296e6b
      James Zern authored
      This reverts commit eafc8c9c.
      
      tran_low_t/tran_high_t don't belong in a public header, they're private.
      Similarly the public headers shouldn't rely on config defines,
      vpx_config.h isn't installed.
      
      Change-Id: I194ec273598da418df8dd727b6c0e78a556740ad
      4a296e6b
    • Deb Mukherjee's avatar
      Misc. high-bit-depth fixes · 40479dfe
      Deb Mukherjee authored
      Change-Id: Ie9fb6a4078eb6a3fb7c4ff1453831ab9afe23121
      40479dfe
    • Jingning Han's avatar
      Remove redundant header file declaration · 0829d2be
      Jingning Han authored
      Some header file in vp9_idct.c has been included in vp9_idct.h.
      This commit removes these redundant declarations.
      
      Change-Id: I0238c27e4efff5c981eb437022c6bc6970c4e445
      0829d2be
    • Jingning Han's avatar
      Fix compiling error in vp9_idct.h · eafc8c9c
      Jingning Han authored
      This commit fixes a compiling error in vp9_idct.h, where the codec
      checks that the intermediate steps of transformation fit within
      16-bit length. The issue was due to broken file dependency.
      
      Change-Id: Ib22bba13a1e6df28489cb23d6774c561969f1fdc
      eafc8c9c
  9. 29 Sep, 2014 3 commits
    • JackyChen's avatar
      Fix a bug in calculating delta in VP9 denoiser. · 7ba646f7
      JackyChen authored
      When calculating delta in VP8 denoiser, since the block size is fixed to 16x16,
      the divisor is 256, which is the number of the pixel.
      But in VP9, the block size varies, the divisor should correspond to the block
      size.
      
      Change-Id: Ibdc1e5d23ba8c788b0d0dc6d406bcdfc34c1b142
      7ba646f7
    • Deb Mukherjee's avatar
      Adds two new subpel search methods · 4e9c0d2a
      Deb Mukherjee authored
      One is a more aggressive version of the pruned subpel tree
      search where only a single halfpel candidate is searched.
      The search candidate is based on a surface fit result.
      The other is a method to obtain the subpel position at one
      shot based on the same surface fit.
      
      The methods have not been deployed in any speed setting yet.
      
      Change-Id: I34fef3f2e34f11396c9d1ba97f4be8c4ffca62d3
      4e9c0d2a
    • Deb Mukherjee's avatar
      Miscellaneous decoder changes for high bitdepth · 9ed23de1
      Deb Mukherjee authored
      Also includes yv12 config changes.
      
      Change-Id: Iacf40d8bf486815b54c32a127ce3cd4516b7e44f
      9ed23de1
  10. 26 Sep, 2014 3 commits
    • Deb Mukherjee's avatar
      Fix a bug introduced in a previous patch on highbd · d4713f1d
      Deb Mukherjee authored
      Change-Id: Ice692334f75157446a44a6e81503cada977934f4
      d4713f1d
    • Jingning Han's avatar
      Skip certain ALTREF inter modes in ARF coding · ccdb518f
      Jingning Han authored
      This commit enables the encoder to skip checking ALTREF inter modes
      in ARF coding, if the predicted motion vectors suggest that the
      GOLDEN_FRAME provides higher prediction accuracy than ALTREF_FRAME.
      
      It improves the speed 3 encoding speed by about 5%, at the expense
      of compression performance loss -0.041% and -0.225% for derf and
      stdhd, respectively.
      
      pedestrian_area 1080p 2000 kbps
      66705 b/f, 40.909 dB, 118738 ms ->
      66732 b/f, 40.908 dB, 113688 ms
      
      old_town_cross 720p 1500 kbps
      14427 b/f, 36.256 dB, 62746 ms ->
      14412 b/f, 36.252 dB, 60690 ms
      
      blue_sky 1080p 1500 kbps
      51026 b/f, 35.897 dB, 73310 ms ->
      50921 b/f, 35.893 dB, 70406 ms
      
      bus CIF 1000 kbps
      21301 b/f, 34.841 dB, 7326 ms ->
      21248 b/f, 34.837 dB, 7196 ms
      
      Change-Id: I76cf88b4d655e1ee3c0cb03c8a5745493040e8d2
      ccdb518f
    • Yunqing Wang's avatar
      Skip the partition search for still frames · 1fcbf6ed
      Yunqing Wang authored
      This patch re-enabled the feature in Pengchong's patch
      (commit 12861260). Originally, it
      was turned on while use_lastframe_partitioning > 0(not used anymore).
      Now it was added as a feature, and turned on while speed >= 2.
      As described in the original patch, this feature helps speed up the
      slideshows in YouTube.
      
      Change-Id: I1b0f18d65da1ee1c8d1e117dabba910c5207c471
      1fcbf6ed
  11. 25 Sep, 2014 2 commits
    • hkuang's avatar
      Avoid calling vp9_is_scaled two times in a function. · c53a95ad
      hkuang authored
      Use a local variable to hold the result of vp9_is_scaled.
      
      Change-Id: I5e203909805923e20eefef596bc84424da47dbe2
      c53a95ad
    • Yaowu Xu's avatar
      Fix a couple of comments · 845d4f33
      Yaowu Xu authored
      The first comment is obselete given the way is now normative in VP9
      bitstream. The second comment line was too long.
      
      Change-Id: I6546585babf60d466485ddcf2daa6d2fa79e999a
      845d4f33