1. 07 Aug, 2014 - 2 commits
  2. 06 Aug, 2014 - 3 commits
  3. 05 Aug, 2014 - 5 commits
    • Pengchong Jin's avatar
      Directly split the block in partition search · 74593c1e
      Pengchong Jin authored
      This patch allows the encoder to directly split the block
      in partition search, therefore skip searching NONE. It
      computes a score which measures whether 16x16 motion vectors
      from the first pass in the current block are consistent with
      each others. If they are inconsistent and we have enough Q
      to encode, split the block directly, and skip searching NONE.
      
      This feature is under flag CONFIG_FP_MB_STATS. In speed 2,
      it further gives a speedup of 3-8% on sample yt clips as
      compared to the previous version under the same flag. Overall,
      the features under the flag will give 7-15% on typical yt
      clips at up to 6000kbps data rate. The speedup at very high
      data rate is not significant.
      
      For hard stdhd clips:
      park_joy_1080p @ 15000kbps:       504541ms -> 506293ms (-0.35%)
      pedestrian_area_1080p @ 2000kbps: 326610ms -> 290090ms (+11.2%)
      
      The compression performance using the features under the flag:
      derf: -0.068%
      yt:   -0.189%
      hd:   -0.318%
      stdhd:-0.183%
      
      To use the feature, set CONFIG_FP_MB_STATS and turn on
      cpi->use_fp_mb_stats.
      
      Change-Id: Iad58a2966515c8861aa9eb211565b1864048d47f
      74593c1e
    • Adrian Grange's avatar
      Create function vp9_preserve_existing_gf · 0984121f
      Adrian Grange authored
      This code was being called from two places and
      difficult to parse. I rationalized it in to a
      function to improve readability.
      
      Change-Id: I154b8fe0b84e6c01e69601e78e67bd47c954d8b6
      0984121f
    • Alex Converse's avatar
      Use INTER_ALL for VAR based partitions for screencast material. · 2be9ea61
      Alex Converse authored
      This offers 25% more compression on my HD screencast testset.
      
      Change-Id: I85eaef95fd8f2e03e326443e9514482b2ee35cef
      2be9ea61
    • Alex Converse's avatar
      Add a codec control option to tune for screen content. · 572de929
      Alex Converse authored
      Change-Id: I12b0b0a06750cb9a5f1bdc3368deb44137acc9a3
      572de929
    • James Zern's avatar
      vp9_subexp: remove vp9_compute_update_table() · 82e5665f
      James Zern authored
      makes update_bits[] a constant table
      
      Change-Id: If105bf0522487f54a31e12a7cc73aa24671b19d4
      82e5665f
  4. 04 Aug, 2014 - 9 commits
  5. 01 Aug, 2014 - 2 commits
  6. 31 Jul, 2014 - 4 commits
  7. 30 Jul, 2014 - 6 commits
    • Pengchong Jin's avatar
      Early termination after partition NONE is done in RD. · 49866baa
      Pengchong Jin authored
      This patch allows the encoder to skip the search for partition
      SPLIT, HORZ, VERT after the search for partition NONE is done
      in RD optimization. It uses the first pass block-wise statistics
      to make the decision. If all 16x16 blocks in the current partition
      have zero motions and small residues from the frist pass statistics,
      and it has small difference variance, further partition search is
      skipped.
      
      For speed 2 setting, experiments on general youtube clips show that
      the speedup varies from 1% - 10%, 5% on average. On the performance
      side in PSNR, derf 0.004%, yt -0.059%, hd -0.106%, stdhd 0.032%.
      
      For hard stdhd clips:
      park_joy_1080p, 502952 ms -> 503307 ms (-0.07%)
      pedestrian_area_1080p, 227049 ms -> 220531 ms (+3%)
      
      This feature is under the compilation flag CONFIG_FP_MB_STATS and
      it is off in current setting.
      
      Change-Id: I554537e9242178263b65ebe14a04f9c221b58bae
      49866baa
    • Jingning Han's avatar
      Refactor rd_pick_parition interface · d82ff942
      Jingning Han authored
      Remove the variable that indicates the relative block index. This
      is explicitly covered by the use of pc_tree.
      
      Change-Id: Ib13142582fff926c85e375bde656aa050add8350
      d82ff942
    • Jingning Han's avatar
      Chessboard pattern partition search · ca2dcb7f
      Jingning Han authored
      This commit enables a chessboard pattern constrained partition
      search for 720p and above resolutions. The scheme applies stricter
      partition search to alternative blocks based on its above/left
      neighboring blocks' partition range, as well as that of the
      collocated blocks in the previous frame. It is currently turned
      on at 16x16 block size level. The chessboard pattern is flipped
      per coding frame.
      
      The speed 3 runtime is reduced:
      park_joy_1080p, 652832 ms -> 607738 ms (7% speed-up)
      pedestrian_area_1080p, 215998 ms -> 200589 ms (8% speed-up)
      
      The compression performance is changed:
      hd     -0.223%
      stdhd  -0.295%
      
      Change-Id: I2d4d123ae89f7171562f618febb4d81789575b19
      ca2dcb7f
    • Scott LaVarnway's avatar
      Neon version of vp9_quantize_fp() · d4a37db5
      Scott LaVarnway authored
      On a Nexus 7, vpxenc (in realtime mode, speed -12)
      reported a performance improvement of ~12.4%
      
      Change-Id: Id29d215acf58bb108489e218a259adf74b4768d7
      d4a37db5
    • Jim Bankoski's avatar
      clear up cfg unused warning in vp9_pick_inter_mode · 6647ca79
      Jim Bankoski authored
      Change-Id: Iefcf0a25aaf5e44e8e791839aa82d876555025e0
      6647ca79
    • Scott LaVarnway's avatar
      Neon version of vp9_sub_pixel_variance16x16(), · 521cf7e8
      Scott LaVarnway authored
      vp9_variance16x16(), and vp9_get16x16var().
      
      On a Nexus 7, vpxenc (in realtime mode, speed -12)
      reported a performance improvement of ~16.7%.
      
      Change-Id: Ib163aa99f56e680194aabe00dacdd7f0899a4ecb
      521cf7e8
  8. 29 Jul, 2014 - 4 commits
    • Jingning Han's avatar
      Clean up max/min allowed block size in rd_pick_partition · 6646ea73
      Jingning Han authored
      This commit replace the repetitive retrieve of max and min allowed
      partition from speed_feature with local variables max_size and
      min_size.
      
      Change-Id: Ib06f11f16615e4876e4dd5fb6a968c6bf5f7b216
      6646ea73
    • 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
      c36f78b0
    • Scott LaVarnway's avatar
      Added vp9_fdct8x8_neon(), vp9_fdct8x8_1_neon() · d19d222d
      Scott LaVarnway authored
      On a Nexus 7, vpxenc (in realtime mode, speed -12)
      reported a performance improvement of ~3.7%.
      
      Change-Id: I428c72c40df82c6d537955e320a8debf99343004
      d19d222d
    • Pengchong Jin's avatar
      Remove the redundant index computation in the first pass · 64910657
      Pengchong Jin authored
      Remove the redundant index computation when store the first
      pass block-wise statistics. Currently, a single byte is
      allocated for a 16x16 blocks, and all the frame statistics
      saved during the first pass will be kept in memory for use
      in the second pass. For a 1920x1080 300-frame clip, it will
      take about 2.3 MB memory. This feature is off in current
      setting.
      
      Change-Id: I135a95b348ec093d54c6a07e1e8237626909e3bd
      64910657
  9. 28 Jul, 2014 - 2 commits
  10. 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
      84af0486
  11. 24 Jul, 2014 - 2 commits