1. 16 Jun, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Clamp inverse transform coefficients · 79b78b7d
      Sebastien Alaiwan authored
      When --enable-coefficient-range-checking isn't specificed, clamp the
      coefficient at each stage.
      
      This doesn't change the decoder behaviour for existing AV1 streams.
      However, some AV1 bitstreams that would have been rejected by the
      decoder as illegal (range check failure) are now legal bitstreams.
      
      There is no impact on video quality.
      
      BUG=aomedia:30
      
      Change-Id: Ifa01186bae6bfe5d7712298e33d964c20f88435e
      79b78b7d
  2. 14 Jun, 2017 1 commit
  3. 11 Jun, 2017 1 commit
    • Jingning Han's avatar
      Resolve compiler warning when highbd is off · 105eecf4
      Jingning Han authored
      The highbd_clip_pixel_add() function is generalized to be used in
      the regular 8 bit path. Move its defintions outside the highbd
      experimental flag.
      
      This resolves the comiler warning in unit tests when high bit-depth
      is turned off.
      
      Change-Id: I90a744adb2381c9bf8476aa2a2bd0c87d9afdf57
      105eecf4
  4. 09 Jun, 2017 1 commit
  5. 17 May, 2017 1 commit
  6. 12 Apr, 2017 1 commit
  7. 25 Feb, 2017 1 commit
    • Timothy B. Terriberry's avatar
      Fix signed left-shifts added in e93acb2d. · 4e6a8f30
      Timothy B. Terriberry authored
      Since we now require C99, this is undefined behavior.
      Thanks to Luc Trudeau for the report and Alex Converse for the
      suggestion on how to make the macro safe for all integer sizes.
      
      Change-Id: I99a1342dfedb3e17a6869269be317c2ed26bfe9b
      4e6a8f30
  8. 14 Oct, 2016 1 commit
  9. 02 Sep, 2016 1 commit
  10. 01 Sep, 2016 2 commits
  11. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
      0818a7c8
  12. 10 Aug, 2016 1 commit
  13. 26 Jul, 2016 1 commit
  14. 23 May, 2016 1 commit
    • Geza Lore's avatar
      Add optimized vpx_blend_mask6 · a661bc87
      Geza Lore authored
      This is to replace vp10/common/reconinter.c:build_masked_compound.
      Functionality is equivalent, but the interface is slightly more
      generic.
      
      Total encoder speedup with ext-inter: ~7.5%
      
      Change-Id: Iee18b83ae324ffc9c7f7dc16d4b2b06adb4d4305
      a661bc87
  15. 04 May, 2016 2 commits
  16. 07 Apr, 2016 1 commit
    • Geza Lore's avatar
      Make superblock size variable at the frame level. · 454989ff
      Geza Lore authored
      The uncompressed frame header contains a bit to signal whether the
      frame is encoded using 64x64 or 128x128 superblocks. This can vary
      between any 2 frames.
      
      vpxenc gained the --sb-size={64,128,dynamic} option, which allows the
      configuration of the superblock size used (default is dynamic). 64/128
      will force the encoder to always use the specified superblock size.
      Dynamic would enable the encoder to choose the sb size for each
      frame, but this is not implemented yet (dynamic does the same as 128
      for now).
      
      Constraints on tile sizes depend on the superblock size, the following
      is a summary of the current bitstream syntax and semantics:
      
      If both --enable-ext-tile is OFF and --enable-ext-partition is OFF:
           The tile coding in this case is the same as VP9. In particular,
           tiles have a minimum width of 256 pixels and a maximum width of
           4096 pixels. The tile width must be multiples of 64 pixels
           (except for the rightmost tile column). There can be a maximum
           of 64 tile columns and 4 tile rows.
      
      If --enable-ext-tile is OFF and --enable-ext-partition is ON:
           Same constraints as above, except that tile width must be
           multiples of 128 pixels (except for the rightmost tile column).
      
      There is no change in the bitstream syntax used for coding the tile
      configuration if --enable-ext-tile is OFF.
      
      If --enable-ext-tile is ON and --enable-ext-partition is ON:
           This is the new large scale tile coding configuration. The
           minimum/maximum tile width and height are 64/4096 pixels. Tile
           width and height must be multiples of 64 pixels. The uncompressed
           header contains two 6 bit fields that hold the tile width/heigh
           in units of 64 pixels. The maximum number of tile rows/columns
           is only limited by the maximum frame size of 65536x65536 pixels
           that can be coded in the bitstream. This yields a maximum of
           1024x1024 tile rows and columns (of 64x64 tiles in a 65536x65536
           frame).
      
      If both --enable-ext-tile is ON and --enable-ext-partition is ON:
           Same applies as above, except that in the bitstream the 2 fields
           containing the tile width/height are in units of the superblock
           size, and the superblock size itself is also coded in the bitstream.
           If the uncompressed header signals the use of 64x64 superblocks,
           then the tile width/height fields are 6 bits wide and are in units
           of 64 pixels. If the uncompressed header signals the use of 128x128
           superblocks, then the tile width/height fields are 5 bits wide and
           are in units of 128 pixels.
      
      The above is a summary of the bitstream. The user interface to vpxenc
      (and the equivalent encoder API) behaves a follows:
      
      If --enable-ext-tile is OFF:
           No change in the user interface. --tile-columns and --tile-rows
           specify the base 2 logarithm of the desired number of tile columns
           and tile rows. The actual number of tile rows and tile columns,
           and the particular tile width and tile height are computed by the
           codec ensuring all of the above constraints are respected.
      
      If --enable-ext-tile is ON, but --enable-ext-partition is OFF:
           No change in the user interface. --tile-columns and --tile-rows
           specify the WIDTH and HEIGHT of the tiles in unit of 64 pixels.
           The valid values are in the range [1, 64] (which corresponds to
           [64, 4096] pixels in increments of 64.
      
      If both --enable-ext-tile is ON and --enable-ext-partition is ON:
           If --sb-size=64 (default):
               The user interface is the same as in the previous point.
               --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,
               in units of 64 pixels, in the range [1, 64] (which corresponds
               to [64, 4096] pixels in increments of 64).
           If --sb-size=128 or --sb-size=dynamic:
               --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,
               in units of 128 pixels in the range [1, 32] (which corresponds
               to [128, 4096] pixels in increments of 128).
      
      Change-Id: Idc9beee1ad12ff1634e83671985d14c680f9179a
      454989ff
  17. 30 Mar, 2016 1 commit
    • Geza Lore's avatar
      Extend superblock size fo 128x128 pixels. · 552d5cd7
      Geza Lore authored
      If --enable-ext-partition is used at build time, the superblock size
      (sometimes also referred to as coding unit (CU) size) is extended to
      128x128 pixels.
      
      Change-Id: Ie09cec6b7e8d765b7555ff5d80974aab60803f3a
      552d5cd7
  18. 22 Mar, 2016 1 commit
  19. 07 Mar, 2016 1 commit
  20. 24 Feb, 2016 1 commit
  21. 15 Feb, 2016 1 commit
    • Geza Lore's avatar
      Add optimized vpx_sum_squares_2d_i16 for vp10. · abd00505
      Geza Lore authored
      Using this we can eliminate large numbers of calls to predict intra,
      and is also faster than most of the variance functions it replaces.
      This is an equivalence transform so coding performance is unaffected.
      
      Encoder speedup is approx 7% when var_tx, super_tx and ext_tx are all
      enabled.
      
      Change-Id: I0d4c83afc4a97a1826f3abd864bd68e41bb504fb
      abd00505
  22. 28 Jan, 2016 1 commit
  23. 21 Jan, 2016 1 commit
  24. 31 Aug, 2015 1 commit
  25. 27 Aug, 2015 1 commit
  26. 31 Jul, 2015 1 commit
    • Zoe Liu's avatar
      Code refactor on InterpKernel · 7186a2dd
      Zoe Liu authored
      It in essence refactors the code for both the interpolation
      filtering and the convolution. This change includes the moving
      of all the files as well as the changing of the code from vp9_
      prefix to vpx_ prefix accordingly, for underneath architectures:
      (1) x86;
      (2) arm/neon; and
      (3) mips/msa.
      The work on mips/drsp2 will be done in a separate change list.
      
      Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
      7186a2dd
  27. 27 Jul, 2015 1 commit
  28. 17 Jul, 2015 1 commit
    • Yunqing Wang's avatar
      Migrate quantization functions from vp9/ to vpx_dsp/ · 38f1fbbb
      Yunqing Wang authored
      The following quantization functions were moved:
      vp9_quantize_b
      vp9_quantize_b_32x32
      vp9_highbd_quantize_b
      vp9_highbd_quantize_b_32x32
      
      vp9_quantize_dc
      vp9_quantize_dc_32x32
      vp9_highbd_quantize_dc
      vp9_highbd_quantize_dc_32x32
      
      The purpose of doing that was to allow these functions to be shared
      by multiple codecs.
      
      Change-Id: Id8ab939f283353cdd07bd930d47db3d932a5d87f
      38f1fbbb
  29. 15 Jul, 2015 1 commit
    • Jingning Han's avatar
      Add vpx_dsp_common.h file · db8e731b
      Jingning Han authored
      Move the clamp functions to vpx_dsp_common.h file. Clear out the
      dependency of vp9_loopfilter_filters.c on vp9_common.h file.
      
      Change-Id: I9c4b928bcd7f597106b5aa96354356d3775a3431
      db8e731b