summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_reconintra.c
AgeCommit message (Collapse)Author
2014-05-13Silience -wextra warnings in vp9_reconintra.cJingning Han
The warning messages complained that there are unused arguments in a few prediction modes. This structure was designed on purpose, such that a wrapper function can cover all prediction mode cases and make them readily accessible as an pointer array. This commit silences such warnings. Change-Id: I7036b6bdb70747e5327d8f6fceb154f100abc4c0
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-03-21Fix libvpx VP9 decoder dr memory errorsYunqing Wang
Fixed dr memory errors reported in Issue 736: https://code.google.com/p/webm/issues/detail?id=736 All elements in left_col buffer need to be initialized to ensure the correctness of SIMD operations in x86 optimized code. Change-Id: I8e7f26ab45cca8099c1f9342bcf852f828bda7e4
2014-03-13Using MB_PREDICTION_MODE enum instead of int.Dmitry Kovalev
Change-Id: I652d17f7bff84f75d015f4f39652472e14eb3134
2014-03-12Renaming mode2txfm_map to intra_mode_to_tx_type_lookup.Dmitry Kovalev
Change-Id: I9a19eb96907f674e3ce1e573f5dd49f0fbf2ae4f
2014-03-03Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}.Dmitry Kovalev
Change-Id: I4a54b12e5229705222c5a101258b9d1f81e2948d
2014-02-25Fix a bug in intra prediction due to change inhkuang
25e55526301eba7d6e5c68e25402e9b2102976d8. Change-Id: I17ac67c3ced91ad4f057b296f7e8dc86a3389f26
2013-12-16Remove border extension in intra frame prediction.hkuang
Change-Id: Id677df4d3dbbed6fdf7319ca6464f19cf32c8176
2013-10-31Cleanup. Adding const to function pointer arguments.Dmitry Kovalev
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
2013-09-29fix cpplint issue in reconintraJim Bankoski
Change-Id: I934f9cfb96ce4f5f266b025064237875dcd92b3a
2013-08-27Merge "Renaming D27 to D207."Dmitry Kovalev
2013-08-23cosmetics: strip 'VP9_' from defines in vp9 only codeJames Zern
Change-Id: I481d9bb2fa3ec72b6a83d5f04d545ad8013f295c
2013-08-23Renaming D27 to D207.Dmitry Kovalev
I've already renamed d27_predictor to d207_predictor but forgot about the corresponding constant. Change-Id: Id312aa80fc5b5a1ab8a709a33418a029552a6857
2013-08-15Renaming d27 predictor to d207.Dmitry Kovalev
27 degrees intra predictor is actually 207 degrees, so renaming it. Change-Id: Ife96a910437eb80ccdc0b7a5b7a62c77542ae5be
2013-08-14Adding const to arguments of intra prediction functions.Dmitry Kovalev
Adding const to above and left pointers. Cleanup. Change-Id: I51e195fa2e2923048043fe68b4e38a47ee82cda1
2013-08-08General code cleanup.Dmitry Kovalev
Removing redundant parenthesis and curly braces. Combining declarations with initializations. Adding useful intermediate variables instead of recalculating expressions every time. Change-Id: I00106f404afd60bfc189905b0fded881684f941a
2013-07-10SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 DC intra prediction.Ronald S. Bultje
Change-Id: Ibe1690afc5459f3b3beca401e7734fcd03da6dd0
2013-07-08Make intra prediction pointers RTCD-based.Ronald S. Bultje
This probably has a mildly negative impact on performance, but will (in future commits - or possibly merged with this one) allow SIMD implementations of individual intra prediction functions. We may perhaps want to consider having separate functions per txfm-size also (i.e. 4x4, 8x8, 16x16 and 32x32 intra prediction functions for each intra prediction mode), but I haven't played much with that yet. Change-Id: Ie739985eee0a3fcbb7aed29ee6910fdb653ea269
2013-07-03Inline a few intra predictorsYaowu Xu
Change-Id: Ib41f0643fdcc088500e7420708f4e72f1f64c710
2013-06-26Merge "Make intra predictor reference buffer configurable"Jingning Han
2013-06-26Merge "Change to use LUT for mode-to-txfm conversion"Yaowu Xu
2013-06-26Make intra predictor reference buffer configurableJingning Han
This commit enables configurable reference buffer pointer for intra predictor. This allows later removal of spatial dependency between blocks inside a 64x64 superblock in the rate-distortion optimization loop. Change-Id: I02418c2077efe19adc86e046a6b49364a980f5b1
2013-06-26Change to use LUT for mode-to-txfm conversionYaowu Xu
Change-Id: Ieb989830f49e6708ee7728eddebf7a2144c37c6f
2013-06-25Refactor intra predictor blockJingning Han
Remove vp9_intra4x4_predict(). Use the common intra prediction function for all block sizes. Change-Id: Ibd19d51dfa3da8bbdfb79ddeb81530b2e2089560
2013-06-21Remove unused vp9_build_intra_predictors_sb{y,uv}_sJohn Koleszar
The functions no longer referenced. Change-Id: If2705dfbc607f79ec8ec2242d5e03bec27a35aaf
2013-06-06Removed rectangular intra prediction codeYaowu Xu
As all intra predictions happen on squared transform block now. Change-Id: I7ec91e3f0ad01383a03d2bd3099bbf32e87e3466
2013-05-31Adding plane_block_width and plane_block_height functions.Dmitry Kovalev
Change-Id: I02c17fb733c0f3c22dc3167c3d3182797415f1ae
2013-05-28further clean-ups on intra4x4 codingJingning Han
Removed one 4x4 prediction step that was unnessary in the rd loop. Removed a unused modecosts estimate from encoder side. Change-Id: I65221a52719d6876492996955ef04142d2752d86
2013-05-22changes intra coding to be based on txfm blockYaowu Xu
This commit changed the encoding and decoding of intra blocks to be based on transform block. In each prediction block, the intra coding iterates thorough each transform block based on raster scan order. This commit also fixed a bug in D135 prediction code. TODO next: The RD mode/txfm_size selection should take this into account when computing RD values. Change-Id: I6d1be2faa4c4948a52e830b6a9a84a6b2b6850f6
2013-05-22Generalized intra 4x4 encoding for all sizesYaowu Xu
Change-Id: I1b86744fa247233c8df031b3f4b87b212c8dd094
2013-05-15Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0John Koleszar
Remove an assumption about chroma size, and the number of planes. Change-Id: I286a7fac296ec334c6a8ad847f663f3adbb9f43e
2013-05-07Deprecate comp_interintra_pred experiment.Paul Wilkins
Delete code under the CONFIG_COMP_INTERINTRA_PRED flag. Change-Id: I3d1079cf46305c08f7e11d738596ea112e7b547f
2013-05-07Deprecate the newbintramode experiment.Paul Wilkins
Clean out code relating to newbintramode. Change-Id: Ie91f4f156cdf60ce0da8ca407c1c9cb00c7d0705
2013-05-07Merge SB8X8 into the codebaseJingning Han
Pull sb8x8 out of experimental list. verified via borg run tests. Fixed unit test failures. Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
2013-05-04Fix first-pass intra4x4 for sb8x8 experiment.Ronald S. Bultje
Change-Id: I1df17f45721c690d157800daa6a0b377e3d32bc2
2013-05-02Fix right-edge availability for intra prediction in sb8x8.Ronald S. Bultje
Fixes valgrind uninitialized value use warnings. Change-Id: Ie9314d684e2ad194f8aca5bde1729fb9b7c0221d
2013-05-02Fix some more offset errors in sb8x8.Ronald S. Bultje
Change-Id: I83677227f7610fdf2db9f15f87fecd4d8e072427
2013-04-30Removed code no longer being used.Yaowu Xu
Change-Id: Iab9a88f250614a790b6ad96bf3150a74210910df
2013-04-29fixed new intra code for rectanglar blocksYaowu Xu
Also fixed two minor subtle boundary conditions in intra prediction code, and replaced memcpy/memset with vpx_ prefixed version. Change-Id: I9cddff3be831228b628f1f2f065a61feacbcbee6
2013-04-29Enabled i4x4 to use right above pixelsYaowu Xu
Change-Id: I7442b4600b6812bed13e655ccf68f9ea56cc83a2
2013-04-29Use same intra prediction for all block sizeYaowu Xu
The commmit changed to use same intra prediction function for all block sizes. Some details on the changes: 1. All directional modes except DC/TM/V/H now have built-in filtering for all pixels with filter taps either (1, 2, 1)/4 or (1, 1)/2. 2. Above edge get automatic extended to double width (bw*2), which makes a lot of the prediciton mode computation simpler. 3. Same intra prediction function is called with different size for i4x4_pred and all other larger size. Overall, the change helped keyframe only coding for both cif size and std-hd size test sets by .5% consistently on all encodings. For normal coding with single/auto key frame, the change now also is consistently net positive for all encodings. The overall gains is about .15% on std-hd set. Change-Id: I01ceb31fbc73d49776262e6bdc06853b03bbd1d1
2013-04-26Grow MODE_INFO array to use an 8x8 basis.Ronald S. Bultje
Change-Id: I087e08e7909a406b71715b8525c104208daa6889
2013-04-26Remove destination pointers from BLOCKDJohn Koleszar
Access these members from MACROBLOCKD instead. Change-Id: I7907230dd473ff12ebe182b9280d8b7f12a888c4
2013-04-24Move sbsegment out of experimental listJingning Han
Move rectangular superblock coding out of experimental list. Change-Id: I96c37547d122330d666a67b4bf577ae54547857f
2013-04-23Merge "Enable rectangular support for comp inter-intra" into experimentalJingning Han
2013-04-23Enable rectangular support for comp inter-intraJingning Han
This commit enables rectangular block prediction of compound inter-intra mode. It combines the mb/sb32/sb64 prediction functions into a unified version with configurable block width and height. This fixes the enc/dec mismatch of the codebase when comp-interintra-pred is enabled. Change-Id: I1d0db2f1f184007802df04fcd12b9dadb3189ff0
2013-04-23Remove unused corner_predictor and log2_minus_1 functions.Ronald S. Bultje
Change-Id: Ic659544ca12b1bc191b93ddfa378964bd133bfc9
2013-04-22Remove vp9_recon_intra_mbuvJohn Koleszar
Use common vp9_recon_sbuv instead. Change-Id: I146f79adfdfda2b52257a52fa783727f12afa246
2013-04-19Move dst to per-plane MACROBLOCKD dataJohn Koleszar
First in a series of commits moving the framebuffers pointers to per-plane data, so that they can be indexed numerically rather than by name. Change-Id: I6e0d60fd4d51e6375c384eb7321776564df21775
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