- 17 Dec, 2012 1 commit
-
-
John Koleszar authored
Prefer the standard fixed-size integer typedefs. Change-Id: Iad75582350669e49a8da3b7facb9c259e9514a5b
-
- 13 Dec, 2012 1 commit
-
-
Deb Mukherjee authored
Change-Id: I3c751f8d57ac7d3b754476dc6ce144d162534e6d
-
- 11 Dec, 2012 1 commit
-
-
Yaowu Xu authored
Change-Id: I0c1be01aae933243311ad321b6c456adaec1a0f5
-
- 08 Dec, 2012 3 commits
-
-
Yaowu Xu authored
This commit changed the ENTROPY_CONTEXT conversion between MBs that have different transform sizes. In additioin, this commit also did a number of cleanup/bug fix: 1. removed duplicate function vp9_fix_contexts() and changed to use vp8_reset_mb_token_contexts() for both encoder and decoder 2. fixed a bug in stuff_mb_16x16 where wrong context was used for the UV. 3. changed reset all context to 0 if a MB is skipped to simplify the logic. Change-Id: I7bc57a5fb6dbf1f85eac1543daaeb3a61633275c
-
Ronald S. Bultje authored
Don't use vp9_decode_coefs_4x4() for 2nd order DC or luma blocks. The code introduces some overhead which is unnecessary for these cases. Also, remove variable declarations that are only used once, remove magic offsets into the coefficient buffer (use xd->block[i].qcoeff instead of xd->qcoeff + magic_offset), and fix a few Google Style Guide violations. Change-Id: I0ae653fd80ca7f1e4bccd87ecef95ddfff8f28b4
-
Ronald S. Bultje authored
Use these, instead of the 4/5-dimensional arrays, to hold statistics, counts, accumulations and probabilities for coefficient tokens. This commit also re-allows ENTROPY_STATS to compile. Change-Id: If441ffac936f52a3af91d8f2922ea8a0ceabdaa5
-
- 07 Dec, 2012 1 commit
-
-
Ronald S. Bultje authored
This adds Debargha's DCT/DWT hybrid and a regular 32x32 DCT, and adds code all over the place to wrap that in the bitstream/encoder/decoder/RD. Some implementation notes (these probably need careful review): - token range is extended by 1 bit, since the value range out of this transform is [-16384,16383]. - the coefficients coming out of the FDCT are manually scaled back by 1 bit, or else they won't fit in int16_t (they are 17 bits). Because of this, the RD error scoring does not right-shift the MSE score by two (unlike for 4x4/8x8/16x16). - to compensate for this loss in precision, the quantizer is halved also. This is currently a little hacky. - FDCT and IDCT is double-only right now. Needs a fixed-point impl. - There are no default probabilities for the 32x32 transform yet; I'm simply using the 16x16 luma ones. A future commit will add newly generated probabilities for all transforms. - No ADST version. I don't think we'll add one for this level; if an ADST is desired, transform-size selection can scale back to 16x16 or lower, and use an ADST at that level. Additional notes specific to Debargha's DWT/DCT hybrid: - coefficient scale is different for the top/left 16x16 (DCT-over-DWT) block than for the rest (DWT pixel differences) of the block. Therefore, RD error scoring isn't easily scalable between coefficient and pixel domain. Thus, unfortunately, we need to compute the RD distortion in the pixel domain until we figure out how to scale these appropriately. Change-Id: I00386f20f35d7fabb19aba94c8162f8aee64ef2b
-
- 29 Nov, 2012 2 commits
-
-
Yaowu Xu authored
Previously, the "!=" check is logically incorrect when eob is at 0 and effective coefficient starting position is 1. This commit should have no effect on bitstream. Change-Id: I6ce3a847c7e72bfbe4f7c74f88e3310c6b9b6d30
-
Deb Mukherjee authored
This patch allows use of 8x8 and 4x4 ADST correctly for Intra 16x16 modes and Intra 8x8 modes when the block size selected is smaller than the prediction mode. Also includes some cleanups and refactoring. Rebase. Change-Id: Ie3257bdf07bdb9c6e9476915e3a80183c8fa005a
-
- 28 Nov, 2012 2 commits
-
-
Jim Bankoski authored
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
-
Yaowu Xu authored
This commit makes sure Y2 entropy coding context is always updated on every macroblock even there is no Y2 block. Change-Id: Ie307cfc46526efe55613be39f9f178d2531b56ba
-
- 27 Nov, 2012 1 commit
-
-
John Koleszar authored
Support for gyp which doesn't support multiple objects in the same static library having the same basename. Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
-
- 25 Nov, 2012 1 commit
-
-
Ronald S. Bultje authored
Add a new function vp9_decode_mb_tokens() that handles the switch between different per-tx-size detokenize functions. Make actual implementations (vp9_decode_mb_tokens_NxN()) static. Change-Id: I9e0c4ef410bfa90128a02b472c079a955776816d
-
- 23 Nov, 2012 4 commits
-
-
Ronald S. Bultje authored
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Split out UV and Y coefficient loops for clarity. Use xd->block[].qcoeff instead of xd->qcoeff + magic to remove use of magic offset variables. Change-Id: I5b17eda1bb666c69c2b7ea957d5525cd78192e33
-
Ronald S. Bultje authored
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Also remove unneeded brackets around a code block, and remove the magic offsets 64 and 256 for chroma values in the coefficient memory block. Change-Id: I14fc14120a81ea1d6fb862674e8bf8cf6ba3d114
-
Ronald S. Bultje authored
Change-Id: Idde3ab97960eda7022367c1f91a873a479bc9d7b
-
Ronald S. Bultje authored
Also fix the type (TX_SIZE instead of int). Change-Id: Ib9b3f33835e58a6e758ed5f37bb64543e62b6a86
-
- 21 Nov, 2012 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I1272ae3f0fdfb7ed8eb364ef0c6dd1818d3179d7
-
- 17 Nov, 2012 7 commits
-
-
Ronald S. Bultje authored
this prevents duplicating the same line of code in each caller of decode_coefs(). Change-Id: Id7996ad394828bf77ef3d5e03002f577c9f79609
-
Ronald S. Bultje authored
Change-Id: I8d2539ba1046012c948520ac23a1f1978be921c5
-
Ronald S. Bultje authored
Change-Id: I0a36d1efb3bb81a54005b10316550ec67100559e
-
Ronald S. Bultje authored
This prevents the relatively expensive token-from-coefficient lookup function get_token(), plus a duplicate loop.. Change-Id: Ibecd407b2a91d3593d439ec4646e43fa26d2ff91
-
Ronald S. Bultje authored
Change-Id: I1970f43e2cb5f7d9744c7249099eed226f16f162
-
Ronald S. Bultje authored
Change-Id: I178f250b1a4d41d5a9c1619091f5ae51cebffb10
-
Ronald S. Bultje authored
Just like for all other block modes, b_pred tokens can be read together before starting macroblock reconstruction. This removes special cases for b_pred in decode_macroblock() and allows to make decode_coefs_4x4() static in detokenize.c. While at it, remove the redundant handling and checking of plane_type and block_index (i) in decode_coefs_4x4(). Since the function is static, and is called only from decode_mb_tokens_4x4(), we don't need to worry that the arguments ever go out of sync. Change-Id: I2d415da0b51b89d0490a6b9e24cc86363c2090f7
-
- 15 Nov, 2012 1 commit
-
-
John Koleszar authored
Update decode_coefs() to break when c >= eob, since it's possible that c starts the loop from 1 and eob is 0. The loop won't terminate in that case. Add new get_eob() function to consistently clamp the eob based on the segment level EOB and the block size. It's possible to code a segment level EOB that's greater than the block size, and that leads to an out of bounds access. Change-Id: I859563b30414615cf1b30dcc2aef8a1de358c42d
-
- 14 Nov, 2012 1 commit
-
-
Paul Wilkins authored
Silenced a few VS compiler warnings. Change-Id: I658ea409c36c05cd11042675e2e42ccde0ef2420
-
- 10 Nov, 2012 1 commit
-
-
Deb Mukherjee authored
Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the dominant direction from the context is used to encode. Various decoder changes are needed to support decoding of B_CONTEXT_PRED in conjunction with hybrid transforms since the scan order and tokenization depends on the actual direction of prediction obtained from the context. Currently the traditional directional modes are used in conjunction with the B_CONTEXT_PRED, which also seems to provide the best results. The gains are small - in the 0.1% range. Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
-
- 06 Nov, 2012 1 commit
-
-
Yaowu Xu authored
there are still a couple type of warning left, which are related to double constants assigned to float type. As those would be addressed by the conversion of transforms into integer version. This commit has left those un-dealt with. Change-Id: I48fd9b489c0c27ad6b543f4177423419f929f2bb
-
- 02 Nov, 2012 1 commit
-
-
Yunqing Wang authored
The block sizes for decoding tokens are up to 16x16, which means eobs is within [0, 256]. Using (signed) char is not enough. Changed eobs data type to unsigned short to fix the problem. Change-Id: I88a7d3098e1f1604c336d6adb88ffec971fb03a6
-
- 01 Nov, 2012 2 commits
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
Ronald S. Bultje authored
For non-static functions, change the prefix to vp9_. For static functions, remove the prefix. Also fix some comments, remove unused code or unused function prototypes. Change-Id: I1f8be05362f66060fe421c3d4c9a906fdf835de5
-
- 31 Oct, 2012 4 commits
-
-
Ronald S. Bultje authored
This change encompasses VP8_PTR, VP8_COMP, VP8D_COMP, VP8_COMMON, VP8Decompressor and VP8Common. Change-Id: I514ef4ad4e682370f36d656af1c09ee20da216ad
-
Ronald S. Bultje authored
For local symbols, make them static instead. Change-Id: I13d60947a46f711bc8991e16100cea2a13e3a22e
-
Ronald S. Bultje authored
Most of these were picked up in the previous commit (prefix change from vp8_ to vp9_), but I'm pushing this separately so that it's easier to review. Change-Id: Ifce2cdd6f008f4b1fbc2d89b5196d75e35fe115d
-
Ronald S. Bultje authored
Change-Id: Iedb4c3b4171d8640cc525727b4c3658e2bb400db
-
- 30 Oct, 2012 2 commits
-
-
Ronald S. Bultje authored
Change-Id: Ie8ba934a757acec1c80ac37ab9307c9a2783254e
-
Ronald S. Bultje authored
Change-Id: Ie80d13ce095faa8bca21bcdca3ca8249d9abc398
-
- 22 Oct, 2012 2 commits
-
-
Ronald S. Bultje authored
Change-Id: Ibc4425bb6e01606751021e57c93106c365a2da21
-
Deb Mukherjee authored
Change-Id: I99f1982b30a630a9a070a8326d83b34a33cba14c
-