1. 10 Nov, 2016 1 commit
    • Thomas Davies's avatar
      Add options setting number of tile groups or MTU. · af6df175
      Thomas Davies authored
      Default MTU size is 0, which implies a fixed number
      of tile groups. MTU matching overrides fixed tile
      group. MTU matching will succeed unless a single
      tile is bigger than the MTU.
      
      --mtu-size is in bytes, and includes headers but
      not transport/wrapper overheads
      
      Change-Id: I2b70bd41b175b54273b02d836f2a84011f617a7c
      af6df175
  2. 09 Nov, 2016 1 commit
  3. 31 Oct, 2016 2 commits
  4. 25 Oct, 2016 1 commit
  5. 24 Oct, 2016 1 commit
  6. 20 Oct, 2016 1 commit
  7. 19 Oct, 2016 5 commits
    • hui su's avatar
      Add matching brace in aomenc.c · 251e151c
      hui su authored
      Change-Id: Iccb75d5204f0f52f2c7d6e18d1f8223ce10f68ba
      251e151c
    • Thomas's avatar
      Fix Visual Studio build. · e28d92be
      Thomas authored
      Change-Id: I01608dfd597cc1d2bd4e73918aa29cf9251edb08
      e28d92be
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · f693610a
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      f693610a
    • Arild Fuldseth's avatar
      Support for delta-q at superblock level · 07441165
      Arild Fuldseth authored
      Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
      07441165
    • Urvang Joshi's avatar
      Fix warnings reported by -Wshadow: Part4: main directory · 4145bf05
      Urvang Joshi authored
      Now that all warnings are taken care of, add warning flag -Wshadow to
      configure.
      
      Note: Enabling this flag for C++ generates some useless warnings about
      some function parameters shadowing class member function names. So, only
      enabling this warning for C code.
      
      Cherry-picked from aomedia/master: b96cbc44
      
      Change-Id: I3922dea2e6976b16519c4aa4d1bd395c198134f1
      4145bf05
  8. 17 Oct, 2016 1 commit
  9. 11 Oct, 2016 1 commit
  10. 03 Oct, 2016 1 commit
  11. 30 Sep, 2016 1 commit
  12. 29 Sep, 2016 1 commit
  13. 20 Sep, 2016 1 commit
  14. 17 Sep, 2016 1 commit
  15. 15 Sep, 2016 3 commits
    • clang-format's avatar
      apply clang-format · 67948d31
      clang-format authored
      Change-Id: If22018f8911d9d7ee99c2127bdfcc56e42b0e2d7
      67948d31
    • Thomas Davies's avatar
      Step size and arithmetic coding for delta quantization. · dca173a6
      Thomas Davies authored
      Example performance: 1.8% bit rate savings using
      the AQ test mode aq-mode=4 :
      ./aomenc --codec=av1 --ivf --tile-columns=1 --tile-rows=1 \
                       --kf-max-dist=1000 --kf-min-dist=1000 --cpu-used=0 \
                       --passes=1 --threads=1 --lag-in-frames=0 \
                       --end-usage=q --limit=600 --cq-level=42 \
                       --aq-mode=4 --error-resilient=1 out.bits FourPeople_1280x720_60.y4m
      
      Change-Id: Iba01cf2732a57f3c27481ac2a3c8fc37bb9e5533
      dca173a6
    • Arild Fuldseth's avatar
      Support for delta-q at superblock level · 0fe65112
      Arild Fuldseth authored
      Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
      0fe65112
  16. 02 Sep, 2016 1 commit
  17. 01 Sep, 2016 2 commits
  18. 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
  19. 10 Aug, 2016 1 commit
  20. 04 Aug, 2016 1 commit
  21. 28 Jul, 2016 1 commit
  22. 24 May, 2016 1 commit
    • Zoe Liu's avatar
      Fix --test-decode=warn to test mismatch · a63147ae
      Zoe Liu authored
      This patch always compares the most recent show frames between
      the encoder and the decoder to test the mismatch.
      
      Change-Id: I68a91ad0996a598231450debfd616e24992419b5
      a63147ae
  23. 11 May, 2016 1 commit
    • Yunqing Wang's avatar
      Add decoder APIs and unit tests in tile-coding experiment · 8e5e3387
      Yunqing Wang authored
      In the tile-coding experiment,
      1. In tile decoder, added 2 set control APIs:
         VP10_SET_DECODE_TILE_ROW and VP10_SET_DECODE_TILE_COL. It allowed
         users to set the range of decoding at frame level.
      2. Added a unit test while tile-coding experiment is on. It tested
         both tile encoder and decoder to make sure the encoded frame
         can be decoded as a whole frame or as independent tiles.
      
      Change-Id: I73fd0632b685047cb9376008127cde72efa3fb2b
      8e5e3387
  24. 10 May, 2016 1 commit
    • hui su's avatar
      Add VP9 encoder API for level specification. · be3f0698
      hui su authored
      Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to
      control the output bitstream level and/or keep level related
      statistics.
      
      Usage:
                     255         do not care about level (default)
                     0           keep level related stats only
                     10          target for level 1
                     11          target for level 1.1
                     .
                     .
                     .
                     62          target for level 6.2
      
      Usage for vpxenc:
      
      --target-level=0/255/10/11...
      
      Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
      be3f0698
  25. 02 May, 2016 1 commit
  26. 25 Apr, 2016 1 commit
  27. 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
  28. 25 Mar, 2016 1 commit
    • Adrian Grange's avatar
      Convert "vpx" to "aom" · cebe6f0c
      Adrian Grange authored
      Change the name of source files to replace "vpx" with "aom".
      Change occurences of "vpx" in the code to "aom".
      
      Change-Id: I002c0eaa2c350cf1a895bf01bea5788c61328027
      cebe6f0c
  29. 24 Mar, 2016 2 commits
    • Adrian Grange's avatar
      Add AOM copyright header to all .c files · a872b063
      Adrian Grange authored
      Change-Id: I79d52362aec9565cc4b6fe7a1c1c08dcfb726465
      a872b063
    • Geza Lore's avatar
      Port large scale tile coding features from nextgen. · 490ba1ad
      Geza Lore authored
      If configured with --enable-ext-tile, the codec uses an alternative
      tile coding syntax in the bitstream. Changes include::
       - The maximum number of tile rows and columns is extended to 1024
         each.
       - The minimum tile width/height is 64 pixels (1 superblock).
       - A tile copy mode is added where a tile directly reuse the coded
         data of a previous tile
       - The meaning of the tile-columns and tile-rows codec parameters are
         overloaded to mean tile-width and tile-height in units of 64
         pixels.
       - All tiles should now be independent, including rows within the
         same columns, so large scale parallel, or independent decoding is
         possible.
       - vpxdec also gained the options to decode only a particular tile,
         tile row, or tile column.
      
      Changes without --enable-ext-tile:
       - All tiles should now be independent, including rows within the
         same columns, so large scale parallel, or independent decoding is
         possible.
       - vpxenc default tile configuration changed to use 1 tile column.
      
      Change-Id: I0cd08ad550967ac18622dae5e98ad23d581cb33e
      490ba1ad
  30. 22 Mar, 2016 2 commits
    • Yunqing Wang's avatar
      Prevent encoder crash caused by row tile dependencies · dc5f7712
      Yunqing Wang authored
      In multi-thread case, the encoder may crash if using encoder option
      tile-rows > 0. To prevent that, force tile-rows=0 in this situation.
      This is a workaround for WebM issue 1095:
      https://bugs.chromium.org/p/webm/issues/detail?id=1095
      
      The further fix can be done by adding synchronizations after a tile
      row is encoded. But this will hurt multi-threaded encoder performance.
      So, it is recommended to use tile-rows=0 while encoding with threads
      > 1.
      
      Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
      dc5f7712
    • Yaowu Xu's avatar
      Rename vpx to aom · bf4202ed
      Yaowu Xu authored
      Change-Id: Ibc7933fba85feeb30ef9b14b302d932aff19f54e
      bf4202ed