1. 06 May, 2016 5 commits
  2. 05 May, 2016 4 commits
    • Jingning Han's avatar
      Clean up ext-interp experiment · 8b084b68
      Jingning Han authored
      Remove the unused sub-experiments within the ext-interp experiment.
      
      Change-Id: I716e3392412d02c56f9395a86c9cab02f580fa59
      8b084b68
    • Jingning Han's avatar
      Remove a redundant variable definition from sub8x8 RD loop · cf512171
      Jingning Han authored
      Change-Id: I464cbb75fbd3872f66ca024dd803605542a9d887
      cf512171
    • Geza Lore's avatar
      Fix mismatch with ext-interp. · 1502d9e4
      Geza Lore authored
      The encoder signals the interp filter type in the frame header if all
      blocks use the same filter (see bitstream.c:fix_interp_filter). This
      decision is made based on the counts, but with ext-interp, the counts
      are actually only incremented for blocks that fail vp10_is_interp_needed
      (see for example encodeframe.c:update_state), otherwise a default value
      is used (EIGHTTAP_REGULAR). The decoder however first checks if the
      interp filter is signaled at the frame level, and uses that filter type
      for all blocks, even if the default value should have been used.
      
      This patch makes the decoder first check with vp10_is_interp_needed
      to see if the default value should be used and then checks the frame
      level signaling, which reconciles the difference between encoder and
      decoder.
      
      Change-Id: I87857ade42dea06b0d5ec2a029e9219268334dbb
      1502d9e4
    • Geza Lore's avatar
      Refactor supertx rd search · a905c45c
      Geza Lore authored
      General code cleanup, but also use the same supertx condition for
      ext-partition-types as for conventional partitions.
      
      Change-Id: If86eb18b3c07b9c60434eec2c98b97ce93665b67
      a905c45c
  3. 04 May, 2016 6 commits
    • Yaowu Xu's avatar
      Change to call build_masked_compound_highbd() · f0c7e767
      Yaowu Xu authored
      from combine_interintra_highbd(). This fixes a crash in encoder in
      highbitdepth build.
      
      Change-Id: I0aa4cc30200703ff21e9990163bb26ace41aabbc
      f0c7e767
    • Jingning Han's avatar
      Refactor intra filter type context fetch function · 928d72f3
      Jingning Han authored
      Factor out common codes from vp10_get_pred_context_intra_interp().
      This prevents a potential invalid access of pointers xd->left_mbmi
      and xd->above_mbmi.
      
      The coding statistics are identical.
      
      Change-Id: I72dbf9380da7359b997bbe925010faab8e9e7f8d
      928d72f3
    • Yaowu Xu's avatar
      Remove the use of non-declared "plane" · 357c5387
      Yaowu Xu authored
      The variable is not defined, it is not needed by the called function
      either.
      
      Change-Id: Ia601c03231afc0ae68a10ae1f35e8fc4121c3d28
      357c5387
    • Yaowu Xu's avatar
      Change to use proper type in vp10_token_state · 0d7dc0ca
      Yaowu Xu authored
      "qc" in vp10_token_state is used to save quantized coefficients, this
      commit changes the type from short to tran_low_t to properly reflect
      the value range for highbitdepth build.
      
      This fixes an out-of-range bug when optimize_b is used in highbitdepth
      build.
      
      Change-Id: I914c6fd3d3f4b9d061f9ed7cc5f08a883ab59dcd
      0d7dc0ca
    • Sarah Parker's avatar
      Add 1D tx set that corresponds to reduced ext tx inter sets · 3da61efe
      Sarah Parker authored
      This is the set of 1D transforms that are used in each
      ext_tx_used_inter set. The 1D sets will help speed up
      the ext tx pruning functions.
      
      Change-Id: Ib46ad26be2df60b3bfcd2f22d96e7f38ae286df5
      3da61efe
    • Geza Lore's avatar
      Fix vp10_accumulate_frame_counts once and for all. · c959151f
      Geza Lore authored
      This ensures the multi-threaded and single-threaded encoder/decoder
      always uses the same probability contexts.
      
      Change-Id: I6f1e7c6bd8808c390c1dc0a628ae97db3acedf6d
      c959151f
  4. 03 May, 2016 4 commits
    • Geza Lore's avatar
      Compute end of frame data precisely with ext-tile. · cba70d29
      Geza Lore authored
      Decoding superframes correctly requires computing the end of the
      frame contents in the bitstream precisely. This patch enables
      ext-tile to do so.
      
      Also extended superframe_test to test with multiple tiles if using
      ext-tile.
      
      Change-Id: I04bb8cde8755a3d764ee3c36aa8b7a6c5c9db742
      cba70d29
    • Geza Lore's avatar
      Test tile row independence. · 1982d677
      Geza Lore authored
      Tile rows should now be independent, so make pbi->inv_tile_order
      invert the decoding order of tile rows as well as tile columns.
      This should improve test coverage. Also added more tile configurations
      to the tile_independence_tests.
      
      Change-Id: I14b0f2fa9241c1acaf9e2a07071952cb33feca77
      1982d677
    • Jingning Han's avatar
      Replace hard coded values in mv_has_subpel · 113f8d87
      Jingning Han authored
      Change-Id: Id437740c2db1a3a56c1ad29d8b51bb763c044c1d
      113f8d87
    • Debargha Mukherjee's avatar
      Refactoring and uv fix for wedge · 34077855
      Debargha Mukherjee authored
      lowres: -1.72%
      
      Change-Id: I4c883097caac72fab8e01945454579891617145e
      34077855
  5. 30 Apr, 2016 3 commits
    • Yue Chen's avatar
      Bug fixes for obmc/ext-inter/ext-tile experiment · c1d47384
      Yue Chen authored
      Fix 1: in ext-inter + obmc config, properly identify if the left
      predictor used for obmc is a compound one in the case that the
      neighbor uses wedgeinterinter pred and we will dump the ALTREF part.
      This will fix the seg fault in unit test:
      VP10/AltRefForcedKeyTestLarge.Frame1IsKey/0
      
      Fix 2: in ext-tile + obmc experiment, handle the case that the
      above block does not fit in the same row tile with the current one,
      so as to prevent potential crashes.
      
      Change-Id: I1c177d4f4ad15e10d11d8756e146496437753eea
      c1d47384
    • Jingning Han's avatar
      Fix encoder failure in segmentation mode · e729d28c
      Jingning Han authored
      This commit fixes an encoder segment fault in the codebase, when
      the segmentation feature is turned on. The issue was introduced in
      
      5cce322a Porting ext_partition experiment from nextgen
      
      Change-Id: Ifb4c06c5a6976114a8bd061d40d0338a136abaaf
      e729d28c
    • Yi Luo's avatar
      HBD hybrid transform 8x8 SSE4.1 optimization · 299c5fc2
      Yi Luo authored
      - Tx_type: DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST.
      - Update bit-exact unit test against current C version.
      - HBD encoder speed improves ~3.8%.
      
      Change-Id: Ie13925ba11214eef2b5326814940638507bf68ec
      299c5fc2
  6. 29 Apr, 2016 1 commit
  7. 28 Apr, 2016 3 commits
    • Debargha Mukherjee's avatar
      Make the backward updates work with bitshifts · e4bf50b9
      Debargha Mukherjee authored
      Removes integer divides from backward updates for VP10.
      Currently this is put in as part of the entropy experiment.
      Coding efficiency change is in the noise level.
      
      Change-Id: I5b3c0ab6169ee6d82d0ca1778e264fd4577cdd32
      e4bf50b9
    • Debargha Mukherjee's avatar
      Brings back near-near compound mode into ext-inter · 7ff79434
      Debargha Mukherjee authored
      lowres: improves by 0.1%
      
      Change-Id: I245019916bf47c6e24bc8c3953b86715ab0193c9
      7ff79434
    • Geza Lore's avatar
      Fix some mismatches when using ext-interp. · bf93b385
      Geza Lore authored
      With ext interp, write_switchable_interp_filter calls
      vp10_is_interp_needed, which needs access to the reference frame
      buffers to check if they are scaled, the ref frame buffer pointer
      at this point used to be uninitialized in the encoder resulting in
      bitstream syntax mismatch when the encoder/decoder did not read/write
      the interp filter element consistently.
      
      Change-Id: Ie0be2a19cbfcb5639a751aa857458e91c23b8fe3
      bf93b385
  8. 27 Apr, 2016 7 commits
  9. 26 Apr, 2016 4 commits
    • Yue Chen's avatar
      Optimization for EXT_INTER + OBMC · 3ac12aec
      Yue Chen authored
      Remove the restriction that the neighboring predictor cannot be
      used in obmc prediction if it is an interintra or wedgeinterinter
      block. The inter predictor of the interintra block, or the first
      inter predictor(using LAST or GOLDEN frame) of the wedgeinterinter
      block will be exploited in obmc prediction.
      
      Coding gain: 0.248% (2.833%->3.081%) lowres
      
      Change-Id: I4ac0368b9d2f2956f266b30c1ac97db8bafa0742
      3ac12aec
    • Yue Chen's avatar
      Remove double counting for mv costs · 34177e67
      Yue Chen authored
      The bug is introduced by commit 1a0352d1, in which mv costs are
      counted twice in joint_motion_search() in ext_inter experiment.
      
      Change-Id: Ibace453df999d3c2e781d73f1f0912038fee2d4e
      34177e67
    • Jingning Han's avatar
      Rework motion vector precision limit · 8678ab4c
      Jingning Han authored
      This commit enables 1/8 luma component motion vector precision
      for all motion vector cases. It improves the compression performance
      of lowres by 0.13% and hdres by 0.49%.
      
      Change-Id: Iccfc85e8ee1c0154dfbd18f060344f1e3db5dc18
      8678ab4c
    • Debargha Mukherjee's avatar
      Reduce intra transform set · 8851acc5
      Debargha Mukherjee authored
      Reduce transform set for intra for 8x8 and smalller to 7 from 12.
      Also fixes an issue with prob updates.
      
      Enocder Speed-up about 8-10%
      
      Coding efficiency very little change.
      lowres: -2.996 (from -3.055 before)
      midres: -2.482 (from -2.552 before)
      
      Change-Id: I4ba50ff967521b33c748fe423bd92f7cf4105ebc
      8851acc5
  10. 25 Apr, 2016 3 commits