summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_entropy.h
AgeCommit message (Collapse)Author
2018-09-15cosmetics: normalize include guardsJames Zern
use the recommended format [1] of: <PROJECT>_<PATH>_<FILE>_H_ [1] https://google.github.io/styleguide/cppguide.html#The__define_Guard "All header files should have #define guards to prevent multiple inclusion. The format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_." Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
2018-01-18clang-format v5.0.0 vp9/Johann
Remove trailing commas to keep multiple elements on one line. Add blank lines to prevent comments from being treated as blocks. clang-format guards for struct with a comment in the middle. Change-Id: I3bcb8313ae8aaf69179249a13b4087b1272cdbc0
2016-09-15apply clang-formatclang-format
Change-Id: I501597b7c1e0f0c7ae2aea3ee8073f0a641b3487
2016-08-02vp9/common: apply clang-formatclang-format
Change-Id: Ie0f150fdcfcbf7c4db52d3a08bc8238ed1c72e3b
2015-10-29Make the zero handling in extend_to_full_distribution more explicit.Alex Converse
The old workaround "p = 0 ? 0 : p -1" is misleading. ?: happens before = assigning back to p truncates to one byte. Therefore it is equivalent to (p - 1) & 0xFF, but the check just exists to work around a first pass bug, so let's make the work around more clear. https://bugs.chromium.org/p/webm/issues/detail?id=1089 Change-Id: I587c44dd61c1f3767543c0126376f881889935af
2015-10-28Revert "Replace the zero handling in extend_to_full_distribution."Alex Converse
This reverts commit 7f56cb29787b187c8cb1b778918ca3b80184c804. It causes uninitialized reads in the first pass setting up later cost tables. Change-Id: I2df498df3f5c03eff359f79edf045aed0c618dc9
2015-10-26Replace the zero handling in extend_to_full_distribution.Alex Converse
The old workaround "p = 0 ? 0 : p -1" is misleading. ?: happens before = assigning back to p truncates to one byte. Therefore it is equivalent to (p - 1) & 0xFF, but the check just exists to work around a first pass bug, so let's make the work around more clear. https://code.google.com/p/webm/issues/detail?id=1089 Change-Id: Ia6dcc8922e1acbac0eeca23a4d564a355c489572
2015-10-06vp9: simplify extrabits encodingAlex Converse
Change-Id: I5a2abd35cb303d8f6354b3119ab95acf90405116
2015-07-20vpx_dsp/prob.h: vp9_ -> vpx_Yaowu Xu
change prefix vp9_ to vpx_ for non codec specific functions and data structures. Change-Id: I97c7e6422eceea99212b93f4942bc2187763a07c
2015-07-20vpx_dsp/bitreader.h: vp9_->vpx_Yaowu Xu
Replace vp9_ in names to vpx_ as they are not codec specific. Change-Id: I2e583aa63dee769353ada4b42417aa15c4074ebb
2015-07-20Removed vp9_ prefix from vpx_dsp/bitreader file namesYaowu Xu
Change-Id: I0426126d0a65f13f9250983e44cc366b1b1a9c4a
2015-07-17Move bit reader files to vpx_dspYaowu Xu
Change-Id: Ib1cb1fbe92a39ff5312cee069559be6d3ea458d0
2015-06-12vp9_entropy: delete vp9_coefmodel_tree[]James Zern
it's been unused since: 4ac6a25 Moving vp9_tree_probs_from_distribution() to encoder. Change-Id: Ieae65864277fc3dbe993c5c08d75c6c5fcaa3a2d
2015-05-22Re-worked header filesScott LaVarnway
Various header/test files had to be re-worked in order to build "Remove cm parameter from vp9_decode_block_tokens()". This patch reverts the "Remove cm" part and only contains the re-worked header files. Change-Id: I520958a88d1991fee988a3c784d0eac40e117a32
2015-04-28vpx_mem: remove vpx_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2015-04-21Revert "Remove mi_grid_* structures."Scott LaVarnway
(see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6) For the test clip used, the decoder performance improved by ~2%. This is also an intermediate step towards adding back the mode_info streams. Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
2015-03-31Move vp9_coef_con_tree to common/hui su
This tree should be defined in common/, as it is needed for both encoder and decoder. Change-Id: I4f5cbc80025cf2ced14182c98f7c82dc7d0f87db
2014-12-23WIP: Remove giant value cost tableJim Bankoski
Change-Id: Iabe8a8868a747626c24bb13f1796f4c7827af367
2014-10-07Clean up header files in vp9_blockd.h and related filesJingning Han
This commit breaks the overly broad header files into more targeted and smaller ones, to help better structure the system layout. Change-Id: I7b24559d3ea6e582cf5d9bbe8f71459f9824d71b
2014-09-19Remove mi_grid_* structures.hkuang
mi_grid_* are arrays of pointer to pointer. They save the pointers that point to the MIs in cm->mi. But they are unnecessary and complicated. The original goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer inside MODE_INFO_t, same goal could be achieved. This commit totally removes the mi_grid_* structures. But there are still many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit will do on-demand MODE_INFO_t allocation in order to save these memories. Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
2014-09-19High bit-depth coefficient coding functionsDeb Mukherjee
Tokenization and Detokenization enhancements for 10/12 bit Change-Id: I3c269ec30f8eb160ee024905638a193975237559
2014-08-04break at the end of clauses with assert(0) to avoid gcc warningJim Bankoski
Change-Id: I1b3c5337f018dde27dc819ab18bd081d169a91e8
2014-08-01vp9_entropy: inline comes first to avoid warning.Jim Bankoski
Change-Id: I5b050122e6ed183a5b33c1f38e4fbf63b6721062
2014-07-11Some extra bit probability cleanupsDeb Mukherjee
Refactoring to remove some duplication of probability tables between tokenization and detokenization. Change-Id: I2fc6a6497f9c0410021a9b41f828bc58a864e466
2014-04-22Renaming MB_PREDICTION_MODE to PREDICTION_MODE.Dmitry Kovalev
Actually, it would be great to have two separate enums INTRA_MODES and INTER_MODES in future. Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
2014-04-01Renaming two members in MACROBLOCKD struct.Dmitry Kovalev
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
2014-03-12Renaming mode2txfm_map to intra_mode_to_tx_type_lookup.Dmitry Kovalev
Change-Id: I9a19eb96907f674e3ce1e573f5dd49f0fbf2ae4f
2014-02-28Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h.Dmitry Kovalev
Change-Id: I1fe71e35b1e44da693b43d26607abb33efd56820
2014-02-27Adding get_y_mode() function.Dmitry Kovalev
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
2014-02-18vp9: normalize DECLARE_ALIGNED use on global tablesJames Zern
- place extern within the macro - use in the header only Change-Id: I4274b345d8af9ef329c0eb9553a3ddaad70d1d26
2014-02-09Converted short static functions to inline.Jim Bankoski
Change-Id: I859719d41ced2e35d2765b636e627bb7edc3651e
2014-01-23vp9/common: add extern "C" to headersJames Zern
Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
2014-01-21Match vp9_coefband_trans_* declarationsJohann
VS2013 Chromium builds failed with: warning C4742: 'vp9_coefband_trans_8x8plus' has different alignment in https://code.google.com/p/chromium/issues/detail?id=336620 Change-Id: I865f72bc23ae958531eeb5f497002c12e9a36fcd
2013-12-20Moving MAX_PROB constant to vp9_prob.h.Dmitry Kovalev
Change-Id: I07470ad1b7a0344d088911428ffab8ba9a0d8708
2013-12-16Converting vp9_treecoder.h to vp9_prob.{h, c}Dmitry Kovalev
Moving vp9_norm probability table from vp9_entropy.c to vp9_prob.c Change-Id: Ie757b73860c6f43130790c332b292e2a1a81b788
2013-12-12vp9 asserts: fix compile warningJames Zern
string literal to int within an assert Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
2013-12-06Removing BLOCK_TYPES and adding PLANE_TYPES constant instead.Dmitry Kovalev
Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
2013-12-05Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS.Dmitry Kovalev
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic. Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
2013-12-04Merge "Cleaning up vp9_entropy.h file."Dmitry Kovalev
2013-12-03Formatting vp9_pareto8_full array.Dmitry Kovalev
Change-Id: Ic7f47a8d233daf5e61e82092865837ea4eda4095
2013-12-03Cleaning up vp9_entropy.h file.Dmitry Kovalev
Renaming constants for consistency: DCT_VAL_CATEGORY1 => CATEGORY1_TOKEN DCT_VAL_CATEGORY2 => CATEGORY2_TOKEN DCT_VAL_CATEGORY3 => CATEGORY3_TOKEN DCT_VAL_CATEGORY4 => CATEGORY4_TOKEN DCT_VAL_CATEGORY5 => CATEGORY5_TOKEN DCT_VAL_CATEGORY6 => CATEGORY6_TOKEN DCT_EOB_TOKEN => EOB_TOKEN DCT_EOB_MODEL_TOKEN => EOB_MODEL_TOKEN MAX_ENTROPY_TOKENS => ENTROPY_TOKENS Moving constants: INTER_MODE_CONTEXTS from vp9_entropy.h to vp9_blockd.h. EOSB_TOKEN from vp9_entropy.h to vp9_tokenize.h Change-Id: I5fcbf081318e1d365792b6d290a930c6cb0f3fc2
2013-11-27Moving token-encoding related stuff from common to encoder.Dmitry Kovalev
Change-Id: I0e59d320407b3bed0ba3622a7b29975f6fad7ebf
2013-11-22Organizing all scan tables into lookup table.Dmitry Kovalev
Change-Id: Ie829ee58a55157e6972c63cebe69a5d0a3221349
2013-11-20Clean up removal of vp9_pareto8 table.Jim Bankoski
Change-Id: I5556e8d1fc150be8a3e93af21900829b59a500dc
2013-11-20remove the model and copy in pack_mb_tokensJim Bankoski
Change-Id: I00a5203c8ed76c184d936fccf93d76e7c06773d3
2013-11-19scan order table lookup same for encoder and decoderJim Bankoski
Change-Id: I473947b5ca70b7a81151926284bff86f8555492a
2013-11-19entropy code speedupJim Bankoski
Change-Id: Ic316d3374ff9a2b43897272260947d56765a0fdd
2013-11-13Simplifies band-getting with a static arrayDeb Mukherjee
Simplifies the code by implementing band mapping with static arrays. A lot of the code complexity introduced in a previous patch disappears. Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
2013-11-12Adding const to tree pointer inside vp9_extra_bit struct.Dmitry Kovalev
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
2013-11-12Removes conditional statements from band gettingDeb Mukherjee
Implements scan order to band map with arrays in both the encoder and decoder to remove conditional statements. Encoding seems to be about 1% faster at speed 0, tested on football. Decoding seems to be about 0.5-1% faster on a set of 25 videos. Change-Id: Idb233ca0b9e0efd790e30880642e8717e1c5c8dd