- 05 Dec, 2016 1 commit
-
-
Peter de Rivaz authored
BUG=aomedia:84 Change-Id: Ieb4bd4893970a910e7277d49956a389ed19be777
-
- 01 Dec, 2016 1 commit
-
-
Jingning Han authored
Add 2x2 block size syntax to the codec system. It prepares for the 4x4 coding block unit for 420 format. This change retains the same coding statistics. Change-Id: If8e9a31bd6b4b75bc994539dc4dd8021d455ba57
-
- 23 Nov, 2016 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I95455ed7e44f3a163c751bd8a89f6119c0055c71
-
- 22 Nov, 2016 2 commits
-
-
Jingning Han authored
The recursive transform block partitioning system naturally supports the use of rectangular transform block size. Hence there is no need to make a separate coding route for the rectangular transform block size support there. Change-Id: I709b61f94cd4a6ea3f33c05abe319488c7d24f5a
-
Debargha Mukherjee authored
Change-Id: I8e02440bfe8e7cb7bb7e92c464981e184367b773
-
- 29 Oct, 2016 1 commit
-
-
Jingning Han authored
Parse the recursive transform block partition to fetch the actual transform size. Use this correct transform size to select the corresponding loop filter kernel. This slightly improves the coding performance of recursive transform partition for hdres to 0.14%. Change-Id: Ibe8bc3fdd0d222a4f1fb8156c56a407bec052b9b
-
- 26 Oct, 2016 4 commits
-
-
Jingning Han authored
Make the codec support 2x2 tranform block unit for chroma components. Change-Id: Ic454535bd5620abe88a2e99789160cc4664ee518
-
Ryan Lei authored
This commit fixes two major bugs in parallel deblocking experiment, the first one is missing initialization of lfm->lfl_uv array for horizontal filtering. The second one is inconsistent order of vertical/horizontal filtering of superblocks within a frame between encoder and decoder. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=45#c2 BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=53#c1 Change-Id: I2df7eb313d49203fb70efe2bdf957b9d7e0bf678
-
Janne Salonen authored
Change-Id: I61f91855430e11da45d4e91ec6d3a8976c461cb7
-
- 20 Oct, 2016 1 commit
-
-
Peter de Rivaz authored
BUG=webm:1277 Change-Id: I052239e8a6c468da8704bdbbb663b59533c01be2
-
- 19 Oct, 2016 1 commit
-
-
Urvang Joshi authored
While we are at it: - Rename some variables to more meaningful names - Reuse some common consts from a header instead of redefining them. Cherry-picked from aomedia/master: 863b0499 Change-Id: Ida5de713156dc0126a27f90fdd36d29a398a3c88
-
- 12 Oct, 2016 1 commit
-
-
Yaowu Xu authored
Manually cherry-picked the following commits: 4b5e462d Upgrade vpx_lpf_{vertical,horizontal}_4 mmx to sse2 3ea537c0 lpf_8_test: remove unneeded function wrapper 110d3778 remove loopfilter 'count' param TODOs 9b44d9d0 split vpx_highbd_lpf_horizontal_16 in two 1b519fb6 split vpx_lpf_horizontal_16 in two e7a23d70 vpx_highbd_lpf_horizontal_4: remove unused count param 51718573 vpx_highbd_lpf_horizontal_8: remove unused count param 3c1019e4 vpx_highbd_lpf_vertical_4: remove unused count param 72a9f06a vpx_highbd_lpf_vertical_8: remove unused count param b1e97c6a vpx_lpf_horizontal_4: remove unused count param ab25e46pgrade vpx_lpf_{vertical,horizontal}_4 mmx to sse2 bd5a5bb5 vpx_lpf_horizontal_8: remove unused count param 109a47b3 vpx_lpf_vertical_4: remove unused count param 37225744 vpx_lpf_vertical_8: remove unused count param 47dee375 lpf_8_test: add missing dspr2 tests 4fec4a8e lpf_8_test: add missing vpx_lpf_horizontal_4 tests c3f2c8ad lpf_8_test: add missing vpx_lpf_vertical_4 tests 45a7b5eb lpf_8_test: simplify function wrapper generation Change-Id: I0e9212497bbf30de37b19cd2d6ea63b505abe06d
-
- 30 Sep, 2016 1 commit
-
-
Yaowu Xu authored
This commit merges the fix for the oddities and bugs in original VP9 loopfilter and subsequent fixes. Related tracking issues: https://bugs.chromium.org/p/webm/issues/detail?id=1016 https://bugs.chromium.org/p/webm/issues/detail?id=1280 Original libvpx commit: 034c28b0 Later bug fix commit: https://aomedia-review.googlesource.com/#/c/4500/ Change-Id: Ie907aa55ee905fe9954a325f4c56c99c3ce26fb3
-
- 28 Sep, 2016 3 commits
-
-
Yaowu Xu authored
This commit merges the fix that separates "has_no_coeffs" from skip flag. Related tracking issue: https://bugs.chromium.org/p/webm/issues/detail?id=1014 Original libvpx commit: a5d930e4 Change-Id: Ieda635c97e08137c20c8a191262ec88f186d7b4e
-
Ryan Lei authored
This commit fixes two major bugs in parallel deblocking experiment, the first one is missing initialization of lfm->lfl_uv array for horizontal filtering. The second one is inconsistent order of vertical/horizontal filtering of superblocks within a frame between encoder and decoder. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=45#c2 BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=53#c1 Change-Id: I2df7eb313d49203fb70efe2bdf957b9d7e0bf678
-
Janne Salonen authored
Change-Id: I61f91855430e11da45d4e91ec6d3a8976c461cb7
-
- 26 Sep, 2016 4 commits
-
-
Yaowu Xu authored
This commit merges the fix of oddities in several intra prediction modes. Related tracking issue: https://bugs.chromium.org/p/webm/issues/detail?id=1043 Original libvpx commit: c7dc1d78 Change-Id: Idbf65e07280848459bfffdefac3c252eef2a1274
-
Yaowu Xu authored
This commit merges the fix that separates "has_no_coeffs" from skip flag. Related tracking issue: https://bugs.chromium.org/p/webm/issues/detail?id=1014 Original libvpx commit: a5d930e4 Change-Id: I7ec19d672a594907d7301ae3a2abef1fab373e5c
- 19 Sep, 2016 1 commit
-
-
Jingning Han authored
Make the codec support 2x2 tranform block unit for chroma components. Change-Id: If428abeb55fd772bdd74da0d0449b436f60eb0e3
-
- 17 Sep, 2016 2 commits
-
-
Change-Id: I863fc85c7dc1b4f4e5740ac086fe1a852c62d26e
-
Debargha Mukherjee authored
Includes a major refactoring/enhancement to support tile-adaptive switchable restoration. The framework can be readily extended to add more restoration schemes in the future. Also includes various cleanups and fixes. Specifically the framework allows restoration to be conducted on tiles such that each tile can be either left unrestored, or use bilateral or wiener filtering. There is a modest improvemnt in coding efficiency (0.1 - 0.2%). Further enhancements will be added subsequently to improve coding efficiency and complexity. Change-Id: I5ebedb04785ce1ef6f324abe209e925c2d6cbe8a
-
- 06 Sep, 2016 1 commit
-
-
Yue Chen authored
Bitstream syntax: For a rectangular inter block, 'rect_tx' flag is sent to indicate if the biggest rect tx is used. If no, continue to decode regular recursive tx partition. Change-Id: I127e35cc619b65acb5e9a0717f399cdcdb73fbf0
-
- 05 Sep, 2016 1 commit
-
-
Debargha Mukherjee authored
Uses an array to map block sizes, y tx sizes, and subsampling factors to various transform sizes for UV. Results improve by 0.1-0.2% Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
-
- 02 Sep, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
-
- 01 Sep, 2016 2 commits
-
-
Yaowu Xu authored
Cherry-Picked the following commits: 0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia" 54e66767 Replace "VPx" by "AVx" 5082a369 Change "Vpx" to "Avx" 7df44f17 Replace "Vp9" w/ "Av1" 967f722f Remove kVp9CodecId 828f30ce Change "Vp8" to "AOM" 030b5ffc AUTHORS regenerated 2524caee Add ref-mv experimental flag 016762be Change copyright notice to AOMedia form 81e55269 Replace vp9 w/ av1 9b94565b Add missing files fa8ca9f2 Change "vp9" to "av1" ec838b76 Convert "vp8" to "aom" 80edfa01 Change "VP9" to "AV1" d1a11fb9 Change "vp8" to "aom" 7b582513 Point to WebM test data dd1a5c8d Replace "VP8" with "AOM" ff00fc0f Change "VPX" to "AOM" 01dee0bb Change "vp10" to "av1" in source code cebe6f0c Convert "vpx" to "aom" 17b05679 rename vp10*.mk to av1_*.mk fe5f8a8a rename files vp10_* to av1_* Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
-
- 23 Aug, 2016 1 commit
-
-
Yue Chen authored
Adapt rectangular txfm experiment to syntax/tokenization/loopfilter framework of VAR_TX Change-Id: Idcb005ecf5b3712de3e1cccb0d811ca16d87af24
-
- 22 Aug, 2016 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I02f44713b99284092ecfc50ce7ab268e91d2c6f8
-
- 12 Aug, 2016 1 commit
-
-
Change-Id: I01d8241eba3ccaf4d06c00a51df2d17c126f6f9d
-
- 04 Aug, 2016 1 commit
-
-
Zoe Liu authored
We have renamed following Macros to avoid name confusion: REFS_PER_FRAME --> INTER_REFS_PER_FRAME (= ALTREF_FRAME - LAST_FRAME + 1) MAX_REF_FRAMES --> TOTAL_REFS_PER_FRAME (= ALTREF_FRAME - INTRA_FRAME + 1) INTER_REFS_PER_FRAME specifies the maximum number of reference frames that each Inter frame may use. TOTAL_REFS_PER_FRAME is equal to INTER_REFS_PER_FRAME + 1, which counts the INTRA_FRAME. Further, at the encoder side, since REF_FRAMES specifies the maximum number of the reference frames that the encoder may store, REF_FRAMES is usually larger than INTER_REFS_PER_FRAME. For example, in the ext-refs experiment, REF_FRAMES == 8, which allows the encoder to store maximum 8 reference frames in the buffer, but INTER_REFS_PER_FRAME equals to 6, which allows each Inter frame may use up to 6 frames out of the 8 buffered frames as its references. Hence, in order to explore the possibility to store more reference frames in future patches, we modified a couple of array sizes to accomodate the case that the number of buffered reference frames is not always equal to the number of the references that are being used by each Inter frame. Change-Id: I19e42ef608946cc76ebfd3e965a05f4b9b93a0b3
-
- 21 Jul, 2016 1 commit
-
-
Debargha Mukherjee authored
Added a new expt rect-tx to be used in conjunction with ext-tx. [rect-tx is a temporary config flag and will eventually be merged into ext-tx once it works correctly with all other experiments]. Added 4x8 and 8x4 tranforms for use initially with rectangular sub8x8 y blocks as part of this experiment. There is about a -0.2% BDRATE improvement on lowres, others pending. When var-tx is on rectangular transforms are currently not used. That will be enabled in a subsequent patch. Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
-
- 14 Jun, 2016 1 commit
-
-
Geza Lore authored
Segment based loopfilter strength for supertx coded blocks is now selected based on the minimum of all segment IDs within a supertx coded block (same as the quantiser settings). Change-Id: Ib056bd0d05f6a1d3b512a76deb4e2ad4db0f7dc4
-
- 28 Apr, 2016 1 commit
-
-
Debargha Mukherjee authored
lowres: improves by 0.1% Change-Id: I245019916bf47c6e24bc8c3953b86715ab0193c9
-
- 23 Apr, 2016 1 commit
-
-
Jingning Han authored
This commit fixes an out-of-bound memory access case in the loop filter mask setting. This issue was introduced in 10232eda Refactor loopfilter level arrays to 2D. https://chromium-review.googlesource.com/#/c/336645/ Change-Id: I7101a4a79b9ecfdd8ec5ef13a0b314cc95f48d12
-
- 07 Apr, 2016 1 commit
-
-
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
-
- 01 Apr, 2016 1 commit
-
-
Debargha Mukherjee authored
Fixes mismatch introduced in https://chromium-review.googlesource.com/#/c/336645 Change-Id: I15cded221c18dbf87b5029bc464e975d5c7c40e3
-
- 31 Mar, 2016 1 commit
-
-
Geza Lore authored
Change-Id: Id20526d0b6d1371dc9f45cb8b5f24b6974da7bc4
-