summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_decodframe.c
AgeCommit message (Collapse)Author
2013-04-30sb8x8 integration in rd loop.Ronald S. Bultje
Work-in-progress, not yet ready for review. TODO items: - bitstream writing (encoder) and reading (decoder) - decoder reconstruction Change-Id: I5afb7284e7e0480847b47cd0097cb469433c9081
2013-04-30Merge "Migrating SPLITMV_4X4 decoding into decode_atom" into experimentalJingning Han
2013-04-30Adding vp9_update_frame_size function.Dmitry Kovalev
Moving common code from encoder and decoder to vp9_update_frame_size. Change-Id: I6ca758b7d05ffd52821bd3f7ad68089da11e4165
2013-04-30Migrating SPLITMV_4X4 decoding into decode_atomJingning Han
Separate the decoding process of 4x4 block based coding (both intra and inter) from decode_mb and move it into decode_atom_. This allows to further move the rest per 16x16 block decoding of decode_mb into decode_sb, and hence eventually deprecating decode_mb when SB8X8 is enabled. Change-Id: I678cb8007d8a57b792d7a23020edb0c74fbf4237
2013-04-30Merge "Renaming refresh_entropy_probs to refresh_frame_context." into ↵Dmitry Kovalev
experimental
2013-04-30Merge "Consistent names for quant-related functions and variables." into ↵Dmitry Kovalev
experimental
2013-04-29Separate I4X4_PRED coding from macroblock modulesJingning Han
Separate the functionality of I4X4_PRED from decode_mb. Use decode_atom_intra instead, to enable recursive partition of superblock down to 8x8. Change-Id: Ifc89a3be82225398954169d0a839abdbbfd8ca3b
2013-04-29Merge "Change above/left_context to use an 8x8 basis." into experimentalRonald S. Bultje
2013-04-29Change above/left_context to use an 8x8 basis.Ronald S. Bultje
Output changes slightly because of a minor bug in (at least) the sb32x16 block2above tx16x16 tables that previously existed in vp9_blockd.c. Change-Id: I624af28ac200a8322d64454cf05c79e9502968cc
2013-04-29Unify decode_sb for >16x16 in vp9_decodframe.cJohn Koleszar
First patch to make sb decoding based on the transform size. This patch is working for the sb modes, combining the parts of decode_mb that fit into this framework will come as a second patch. Change-Id: I26123416a7a87e096bbdb5eb944ce5bb198384f8
2013-04-26Merge "Grow MODE_INFO array to use an 8x8 basis." into experimentalRonald S. Bultje
2013-04-26Renaming refresh_entropy_probs to refresh_frame_context.Dmitry Kovalev
Change-Id: I5429c02246d198eb1b6aadbc3313b26bf3436062
2013-04-26Merge "Merge branch 'master' into experimental" into experimentalJohann
2013-04-26Merge branch 'master' into experimentalJohann
Conflicts: vp9/common/vp9_findnearmv.c vp9/common/vp9_rtcd_defs.sh vp9/decoder/vp9_decodframe.c vp9/decoder/x86/vp9_dequantize_sse2.c vp9/encoder/vp9_rdopt.c vp9/vp9_common.mk Resolve file name changes in favor of master. Resolve rdopt changes in favor of experimental, preserving the newer experiments. Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-26Consistent names for quant-related functions and variables.Dmitry Kovalev
Change-Id: I3a6d601e90e8740b9c26dd0afbfe9d467b75d367
2013-04-26Grow MODE_INFO array to use an 8x8 basis.Ronald S. Bultje
Change-Id: I087e08e7909a406b71715b8525c104208daa6889
2013-04-26Merge "Code cleanup inside vp9_decodframe.c." into experimentalDmitry Kovalev
2013-04-26Remove BLOCKD structureJohn Koleszar
All members can be referenced from their per-plane counterparts, and removes assumptions about 24 blocks per macroblock. Change-Id: I7ff2fa72d22c29163eb558981c8193765a8113d9
2013-04-26Remove destination pointers from BLOCKDJohn Koleszar
Access these members from MACROBLOCKD instead. Change-Id: I7907230dd473ff12ebe182b9280d8b7f12a888c4
2013-04-26Removed bmi from blockdScott LaVarnway
This originally was "Removed update_blockd_bmi()". Now, this patch removed bmi from blockd and uses the bmi found in mode_info_context. Eliminates unnecessary bmi copies between blockd and mode_info_context. Change-Id: I287a4972974bb363f49e528daa9b2a2293f4bc76
2013-04-25Code cleanup inside vp9_decodframe.c.Dmitry Kovalev
Change-Id: I8447565feeadda1a4a06df907b0156728b1ad5bf
2013-04-25Remove implicit assumption that mode_info_stride == mb_cols + 1.Ronald S. Bultje
Change-Id: I3030d7adac73109aeaa1ecc0f78ac968c092d9aa
2013-04-25Use b_width/height_log2 instead of mb_ where appropriate.Ronald S. Bultje
Basic assumption: when talking about transform units, use b_; when talking about macroblock indices, use mb_. Change-Id: Ifd163f595d4924ff892de4eb0401ccd56dc81884
2013-04-25Fix incorrect dequant used in detokenizeJohn Koleszar
The quantizer can vary per-plane, and the dequantization vector is available in the per-plane part of MACROBLOCKD. The previous code would incorrectly use the Y quantizer for the whole macroblock. Change-Id: I3ab418aef9168ea0ddcfa4b7c0be32ae48b536d7
2013-04-25Move dequant from BLOCKD to per-plane MACROBLOCKDJohn Koleszar
This data can vary per-plane, but not per-block. Change-Id: I1971b0b2c2e697d2118e38b54ef446e52f63c65a
2013-04-25Merge "Handling frame references and scale factors in one for loop." into ↵Dmitry Kovalev
experimental
2013-04-25Merge "Move sbsegment out of experimental list" into experimentalJingning Han
2013-04-25Merge "Moved dequantization into the token decoder" into experimentalScott LaVarnway
2013-04-24Handling frame references and scale factors in one for loop.Dmitry Kovalev
Using ALLOWED_REFS_PER_FRAME constants instead of hard coded 3, replacing memcpy with plain struct assignment. Change-Id: Ibc86f5d175fcb3f3a3eddacf593525370f1f854c
2013-04-24Merge two similar functions into oneYaowu Xu
Function set_mb_row() and set_mb_col() do similar work and are always called together, this commit merged them into a single function for clarity and easy maintainence. This was a TODO item. Change-Id: I956bd9ed6afb8b2b0469b20fd8bc893b26f8a0f3
2013-04-24Move sbsegment out of experimental listJingning Han
Move rectangular superblock coding out of experimental list. Change-Id: I96c37547d122330d666a67b4bf577ae54547857f
2013-04-24Contextual entropy coding of partition syntaxJingning Han
This commit enables selecting probability models for recursive block partition information syntax, depending on its above/left partition information, as well as the current block size. These conditional probability models are reasonably stationary and consistent across frames, hence the backward adaptive approach is used to maintain and update the contextual models. It achieves coding performance gains (on top of enabling rectangular block sizes): derf: 0.242% yt: 0.391% hd: 0.376% stdhd: 0.645% Change-Id: Ie513d9673337f0d27abd65fb566b711d0844ec2e
2013-04-24Extension of segmentation to 8 segments.Paul Wilkins
Also some further simplification following removal of top node code. There is an issue in regards to the shared file vp8cx.h in regard to the roi_map as this interface assumes that there are only 4 segments. I have left the value here as 4 for now meaning that the roi_map interface is broken for VP9. Note that this change would have been easier if I hadn't had to search for hard wire instances of the number 4 and <= 3. Change-Id: Ia8b6deea4be4dbd20deb1656e689dd43a5f190e8
2013-04-24Simplify Segment CodingPaul Wilkins
Remove top node optimization. The improvement this gives is not sufficient to justify the extra complexity. Change-Id: I2bb4a12a50ffd52cacfa4a3e8acbb2e522066905
2013-04-24Simple implicit segmentation experiment.Paul Wilkins
Change-Id: Iaef16122732c2a81e0927f9862b51b68dc788712
2013-04-23Merge "Simple cleanup inside vp9_decodframe.c and vp9_entropymode.c." into ↵Dmitry Kovalev
experimental
2013-04-23Merge "Move src_diff to per-plane MACROBLOCK data" into experimentalJohn Koleszar
2013-04-23Simple cleanup inside vp9_decodframe.c and vp9_entropymode.c.Dmitry Kovalev
Change-Id: I62dde981f5201c5fbc22001609ee4b5fd0a9bdf5
2013-04-23Merge changes I54acef34,I72d42971 into experimentalRonald S. Bultje
* changes: Make some sb_type comparisons independent of literal enum values. Make loopfilter aware of rectangular blocks.
2013-04-23Merge "Adding select_txfm_size function + vp9_decode_frame cleanup." into ↵Dmitry Kovalev
experimental
2013-04-23Make some sb_type comparisons independent of literal enum values.Ronald S. Bultje
Change-Id: I54acef342b8e787e05af0febd7cf0d7d10288383
2013-04-23Move src_diff to per-plane MACROBLOCK dataJohn Koleszar
First in a series of commits making certain MACROBLOCK members addressable per-plane. This commit also refactors the block subtraction functions vp9_subtract_b, vp9_subtract_sby_c, etc to be loops-over-planes and variable subsampling aware. Change-Id: I371d092b914ae0a495dfd852ea1a3d2467be6ec3
2013-04-23Merge "Eliminated prev_mip memsets/memcpys" into experimentalScott LaVarnway
2013-04-22Moved dequantization into the token decoderScott LaVarnway
Mostly for cleanup purposes. Now we should be able to rework the encoder/decoder to use a common idct/add function. Change-Id: I1597cc59812f362ecec0a3493b6101a6cc6fa7ff
2013-04-22Adding select_txfm_size function + vp9_decode_frame cleanup.Dmitry Kovalev
Change-Id: I7594ca84106ee48f83e6fc3098c0de7a28d5a183
2013-04-22Merge "Bugfix from reordering frame probs patch" into experimentalDeb Mukherjee
2013-04-22Bugfix from reordering frame probs patchDeb Mukherjee
This fixes an intermittent mismatch issue cause by moving the lossless mode decoding bit to after the loop filter setup information. We need to ensure that the lossless bit is decoded prior to loop filter setup. Change-Id: I3faa3fff8e1013b7405dac91268350e059ed121e
2013-04-22Move pre, second_pre to per-plane MACROBLOCKD dataJohn Koleszar
Continue moving framebuffers to per-plane data. Change-Id: I237e5a998b364c4ec20316e7249206c0bff8631a
2013-04-22Merge "Removes the code_nonzerocount experiment" into experimentalDeb Mukherjee
2013-04-22Removes the code_nonzerocount experimentDeb Mukherjee
This patch does not seem to give any benefits. Change-Id: I9d2b4091d6af3dfc0875f24db86c01e2de57f8db