summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
2013-04-19Finally removing BOOL_DECODER and using vp9_reader instead.Dmitry Kovalev
Change-Id: I03d5b6f22f0930893709c6db5f1b06762ad3354e
2013-04-19Merge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodframe." into ↵Dmitry Kovalev
experimental
2013-04-19Removal of CONFIG_NEW_MVREF experiment.Paul Wilkins
This experiment has failed to give much benefit but does add complexity so deprecated. Change-Id: Ic7b929ba706390b9907ef0b4f965bd401ca799a4
2013-04-18Replacing BOOL_DECODER with vp9_reader inside vp9_decodframe.Dmitry Kovalev
Change-Id: Ia6722bc26f34ae7fc5cb15e491aba39d2f20a85b
2013-04-18Merge "Make the use of pred buffers consistent in MB/SB" into experimentalJingning Han
2013-04-18Make the use of pred buffers consistent in MB/SBJingning Han
Use in-place buffers (dst of MACROBLOCKD) for macroblock prediction. This makes the macroblock buffer handling consistent with those of superblock. Remove predictor buffer MACROBLOCKD. Change-Id: Id1bcd898961097b1e6230c10f0130753a59fc6df
2013-04-18Replacing BOOLEAN_DECODER with vp9_reader inside vp9_detokenize.Dmitry Kovalev
Change-Id: I71369a30a86111ae737168c795a29b4d8cff6ebf
2013-04-18Merge "Adding DEFAULT_PRED_PROB_{0, 1, 2} constants." into experimentalDmitry Kovalev
2013-04-18Merge "Motion vector decoding code cleanup." into experimentalDmitry Kovalev
2013-04-18Merge "Changing argument type of vp9_get_mv_joint from MV to MV*." into ↵Dmitry Kovalev
experimental
2013-04-18Merge "Replacing VP9_COMBINEENTROPYCONTEXTS macro with function." into ↵Dmitry Kovalev
experimental
2013-04-18Merge "Moving functions from vp9_dboolhuff.c to vp9_decodframe.c." into ↵Dmitry Kovalev
experimental
2013-04-18Merge "Renaming y1dc_delta_q, uvdc_delta_q, uvac_delta_q fields from ↵Dmitry Kovalev
VP9Common." into experimental
2013-04-18Merge "Transforming decode_sb_row to decode_tile function." into experimentalDmitry Kovalev
2013-04-18Motion vector decoding code cleanup.Dmitry Kovalev
Change-Id: I9790baedbd4acb7113575efc6f228b2656c42ff7
2013-04-17Merge "Use BLOCK_SIZE_TYPE in foreach_ walker" into experimentalJohn Koleszar
2013-04-17Merge "Remove skip_recon_sb" into experimentalYunqing Wang
2013-04-17Remove skip_recon_sbYunqing Wang
Removed skip_recon_sb(). Cleanup code so that we could combine decode_sb and decode_mb later. Change-Id: I24d1dd5283e2565072838a03c344938b88bfd35c
2013-04-17Use BLOCK_SIZE_TYPE in foreach_ walkerJohn Koleszar
Change-Id: I655305c9e22bdd9abc893d3c40d4bc6616aa1d35
2013-04-17Transforming decode_sb_row to decode_tile function.Dmitry Kovalev
Also moving frame size check into read_frame_size function. Change-Id: Ib098d83bd50081bfc2941c87aea0dc58cb39583e
2013-04-17Moving functions from vp9_dboolhuff.c to vp9_decodframe.c.Dmitry Kovalev
List of moved functions: vp9_decode_uniform, vp9_decode_term_subexp, vo9_inv_recenter_nonneg, vp9_decode_unsigned_max. Change-Id: Ib518beb90b791690c5c93de17b8bdbf560033b41
2013-04-17Adding DEFAULT_PRED_PROB_{0, 1, 2} constants.Dmitry Kovalev
Also using ALLOWED_REFS_PER_FRAME instead of 3. Change-Id: I810dd8521d8138edb9dbd78edede49b62f706554
2013-04-17Changing argument type of vp9_get_mv_joint from MV to MV*.Dmitry Kovalev
Change-Id: I28c3026946fc1bde7074e6e0198da93bb0d75dfe
2013-04-17Fairly basic integration of rectangular blocks in encoding RD loop.Ronald S. Bultje
Adds RD integration for 32x16, 16x32, 64x32 and 32x64 rectangular blocks. Derf almost +0.6%, HD a little over +1.0%, STDHD +1.3%. Change-Id: Id651fdb6a655fdbb5c47009757e63317acfb88a5
2013-04-16Recursive partition syntax codingJingning Han
Enable recursive partition information coding from SB64X64 down to MB16X16. The bit-stream syntax is now supporting rectangular block sizes. It starts from SB64X64 and recursively describes the partition type of the current block. If the partition type is PARTITION_NONE, the block is coded as a single unit; if it is PARTITION_HORZ or PARTITION_VERT, the block is segmented into two independently coded rectangular units, with no further partition needed; otherwise, the block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case, each can be potentially further partitioned. Forward adaptive probability modeling is used for the partition information coding, conditioned on the current block size. Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87
2013-04-16Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv.Dmitry Kovalev
Also a little bit of code cleanup: replacing pbi->common with cm, pbi->mb with xd. Change-Id: I2f70a005704a2833d644dfaafc4cd354e6e8532b
2013-04-16Replacing VP9_COMBINEENTROPYCONTEXTS macro with function.Dmitry Kovalev
Change-Id: I3bbc31840af69481e1d9bb4427c9ee25abf82946
2013-04-16Renaming y1dc_delta_q, uvdc_delta_q, uvac_delta_q fields from VP9Common.Dmitry Kovalev
New names are y_dc_delta_q, uv_dc_delta_q, uv_ac_delta_q. Change-Id: I4acae1fc23a4697ce2c5a5becb8dc28ef0a4b552
2013-04-16Merge "Moving tx_type == DCT_DCT checks inside iht_add functions." into ↵Dmitry Kovalev
experimental
2013-04-16Remove the mb_no_coeff_skip flagJohn Koleszar
This flag was added to VP8 to allow a mode where MB-level skipping was not allowed, saving a bit per mb. It was never used in practice, and hasn't been tested in VP9, so remove it. Change-Id: Id450ec6904c6d06c1919508e7efc52d05cde5631
2013-04-16Moving tx_type == DCT_DCT checks inside iht_add functions.Dmitry Kovalev
tx_type == DCT_DCT check is an implementation detail of iht_add. Also adding dequant_add_y function with explicit DCT_DCT check inside. Change-Id: Ia3cb0225601752cdef0ff6f0acd3a09d9dbd8938
2013-04-16Merge "Adding mv_joint_vertical and mv_joint_horizontal functions." into ↵Dmitry Kovalev
experimental
2013-04-16Merge "Removing extra params from x_add_residual() functions" into experimentalScott LaVarnway
2013-04-16Merge "Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with ↵John Koleszar
functions." into experimental
2013-04-16Removing extra params from x_add_residual() functionsScott LaVarnway
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I31e2c3d2015f4a1cd12e7f04536d8db478582a0a
2013-04-16Merge "Removing extra params in dequant functions" into experimentalScott LaVarnway
2013-04-15Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.Dmitry Kovalev
This is the first CL with vp9_reader changes. All another macro definitions will be replaced after. Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
2013-04-15Adding mv_joint_vertical and mv_joint_horizontal functions.Dmitry Kovalev
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
2013-04-15Merge "Motion vector decoder cleanup." into experimentalDmitry Kovalev
2013-04-15Removing extra params in dequant functionsScott LaVarnway
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I78db73d39b5aff62f15303f3d51ad2797eae74b6
2013-04-15Merge "Initial addition of multiple ARF frames" into experimentalAdrian Grange
2013-04-15Initial addition of multiple ARF framesAdrian Grange
This is work-in-progress, it implements multiple ARF encoding behind an experimental flag. It adds the ability to insert multiple ARF frames into a single ARF group. This patch implements the reordering of the coded frames, and implements a fixed-length coding pattern. It applies a fixed quantizer strategy based on where the frame is in the coding sequence. Further work to modify the rate control strategy is ongoing and will be submitted via a set of future patches. In this first step, each ARF group is recursively bisected and an ARF frame added at that position in the sequence. The recursion continues until ARF frames are within MIN_GF_INTERVAL frames. The code sits behind the "multiple-arf" experimental flag ("CONFIG_MULTIPLE_ARF"). The experimental flag "oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled for this patch to work correctly. Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
2013-04-14Merge "Adding vp9_read_and_apply_sign function." into experimentalDmitry Kovalev
2013-04-12Motion vector decoder cleanup.Dmitry Kovalev
Change-Id: I7d3b2ef26aba3dfb1d5c83309aab2024e04ee819
2013-04-12Merge "Enable inter predictor for rectangular block size" into experimentalJohn Koleszar
2013-04-12Enable inter predictor for rectangular block sizeJingning Han
Combine superblock inter predictors into a unified function that allows configurable block width and height. The inter predictions of block sizes smaller than 16x16 are handled differently. To be continued on merging them later. Change-Id: I14075959dd5e221f00c205c99ca35c1c31ef728e
2013-04-12Removed unnecessary copy from vp9_dequant_iht_add_8x8_cScott LaVarnway
Change-Id: I8fff2216c169c872f7073e66357e400f78a3445d
2013-04-12Rename B_PRED to I4X4_PREDYaowu Xu
So it is consistent with I8x8_PRED. Change-Id: Iefa65124b2419690d83e526c611129c0ede29d11
2013-04-12Merge "Remove unnecessary vp9_copy_memNxN() calls" into experimentalScott LaVarnway
2013-04-11Remove unnecessary vp9_copy_memNxN() callsScott LaVarnway
The build predictors now output directly to the dest. These copies are no longer required. Change-Id: I8e91eda6b49993e6c16cfadc705d82a7e80f19b2