summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
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-27Add forward probability model update for partitionJingning Han
Enable forward model update for partition syntax coding. Change-Id: If47b423b6d12f34614c57f25d235dc9ba688efc5
2013-04-26Merge "Grow MODE_INFO array to use an 8x8 basis." into experimentalRonald S. Bultje
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-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-25Normalize more intrinsic filenamesJohann
vp9_dequantize_x86 has only sse2 functions. vp9_dct_sse2_intrinsics has no namespace collision and can drop _intrinsics. vp9_idct_mmx.h is unused. Change-Id: Ic16e31fb372a1d1e841a62ecb4189fe8f95808ec
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-25Adding is_inter_mode function.Dmitry Kovalev
Change-Id: I2d32d46002cb92c63050c2b8328865c406103621
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-23Merge "Adding get_scan_{4x4, 8x8, 16x16} functions." into experimentalDmitry Kovalev
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-22Adding get_scan_{4x4, 8x8, 16x16} functions.Dmitry Kovalev
Change-Id: Id4306ef6d65d4a3984aed50b775bdf48d4f6c438
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
2013-04-22Merge "End of orientation zero group experiment" into experimentalDeb Mukherjee
2013-04-22End of orientation zero group experimentDeb Mukherjee
Adds an experiment that codes an end-of-orientation symbol for every eligible zero encountered in scan order. This cleans out various other sub-experiments that were part of the origiinal patch, which will be later included if found useful. Results are slightly positive on all sets (0.1 - 0.2% range). Change-Id: I57765c605fefc7fb9d1b57f1b356843602abefaf
2013-04-22reconinter: remove unnecessary functions, paramsJohn Koleszar
Removes the redundant dst pointers from vp9_build_inter_predictors_sb{y,uv} and the remaining mb specific functions. Change-Id: I7b6bf439d9394b85ea79b4fe61a3ffc1025720da
2013-04-22Merge "Reordering frame header probs." into experimentalSami Pietilä