summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_reconintra.c
AgeCommit message (Collapse)Author
2015-06-04vp9_reconintra/d45_predictor: remove temp storageJames Zern
dst row 0 can be reused in the same way Change-Id: Id977da62545dcc4a89cebbcbad90ba84f8ff5d6b
2015-06-04vp9_reconintra: simplify d63_predictorJames Zern
calculate the averages needed for even and odd rows once; this removes a conditional from the inner loop the final average calculated currently relies on above[] being extended, it could be reduced to use above[block_size - 2] + 3 * above[block_size - 1] Change-Id: I70f5eac8d8a2a959c7114844a95826f445c3dd4d
2015-06-05Merge "vp9_reconintra: use AVG[23] consistently"James Zern
2015-06-04vp9_reconintra: fix d45/d63 discrepanciesJames Zern
the final index in rows 2, 3 differ from vp8 Change-Id: I0fcea907b4ab44e266c0f1fd77b290d2236b280a
2015-06-03vp9_reconintra: use AVG[23] consistentlyJames Zern
Change-Id: Iab7215f82be0c0c831cd81b6f8091afc3710dd54
2015-06-04Merge "vp9_reconintra: simplify d45_predictor"James Zern
2015-05-30vp9_reconintra: simplify d45_predictorJames Zern
only the immediate above right pixel is needed; this removes a conditional from the inner loop the final average calculated currently relies on above[] being extended, it could be reduced to use above[block_size - 2] + 3 * above_right Change-Id: Ica4f2b8d25eec3ca1d6fa52ef0d4adc228eeea3f
2015-05-30vp9_reconintra: specialize d135 4x4James Zern
based on webp's RD4() Change-Id: I64c8f0a1325a8f201eaad39b396fae7a2d06efff
2015-05-30vp9_reconintra: specialize d117 4x4James Zern
based on webp's VR4() Change-Id: Ic8c0b8ed65a63772ca0a4321592880a5e8947db5
2015-05-30vp9_reconintra: specialize d207 4x4James Zern
based on webp's HU4() Change-Id: I2401ef307cd94e70cc7904f55954af04290c8af9
2015-05-30vp9_reconintra: specialize d153 4x4James Zern
based on webp's HD4() Change-Id: Icba1e21ec4b8f5026dc92e49741a68b059c8b9b1
2015-05-30vp9_reconintra: specialize d63 4x4James Zern
based on webp's VL4() Change-Id: Ibab962053843eae8752b4e74b6481a53bb034ae9
2015-05-30vp9_reconintra: specialize d45 4x4James Zern
based on webp's LD4() Change-Id: I74855d23ce73e1c6988fe08bf7c959b7a69b4abf
2015-05-15vp9: correct some function signaturesJames Zern
silences missing prototype warnings Change-Id: Idaf68d83d2cb03847f3ee002c4d00c2ac79da604
2015-05-13Relocate memory operations for common codeJohann
With the sad functions, and hopefully the variance functions soon, moving to the vpx_dsp location, place the defines used in the reference C code in a common location. Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
2015-05-08build_intra_predictors*: reduce above_data sizeJames Zern
currently this needs to be 2x (NEED_ABOVERIGHT) the size of the largest block (32) + 1 (for above_left). reduce the buffer size from 128 + 16 (alignment) to 64 + 16. Change-Id: Idaca1806c7e1214e9437de24e15edc2ebf18f95d
2015-05-07build_intra_predictors*: reduce left_col sizeJames Zern
this should only need to be the size of the largest block, i.e., 32, not 64. Change-Id: Ib8cb2424771fdd2a64c55379597248b2722a5ceb
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
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-28vpx_mem: remove vpx_memcpyJames Zern
vestigial. replace instances with memcpy() which they already were being defined to. Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
2015-03-23Optimize the intra frame decode to skip some unnecessary copy.hkuang
This speeds up a normal YT style 1080P clip decode by ~1% on nexus 7. Change-Id: Ied7fa0d8bc941b2adb4db9382f549ee4d5654f3a
2015-03-04Declare function used by 'once' with 'void' parametersJohann
Visual Studio is exceptionally picky about this: vp9_reconintra.c(900): warning C4113: 'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void)' [.build-x86_64-win64-vs10\vpx.vcxproj] Change-Id: I564c7415f4608fd962be8c699d6133a996b545f7
2015-03-03fix a race condition caused by intra function pointer initializationYunqing Wang
This patch fixed webm issue 962. (https://code.google.com/p/webm/issues/detail?id=962) The data races occurred when an encoder and a decoder were created at the same time, and the function pointers were initialized twice. Change-Id: I8851b753c4b4ad4767d6eea781b61f0ac9abb44b
2015-01-28Remove duplicate code.hkuang
(issue #934). Change-Id: Ic8adaaff87aae0b33d9b508f160b48e0ccdaaf4c
2014-10-09Rename highbitdepth functions to use highbd prefixDeb Mukherjee
Uses highbd_ prefix convention consistently. Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e
2014-10-03Incorporate WRAPLOW macro into non-highbitdepth txDeb Mukherjee
Incorporates the WRAPLOW macro into the non-highbitdepth transforms to aid hardware verification between a software C model and an intended hardware implementation though the use of the configure options: --enable-experimental --enable-emulate-hardware. Note that to avoid further discrepancies between the sse/sse2 implementations of the transforms and the C implementation, when the emulate hardware option is invoked, we also disable sse/sse2/etc. Also incudes some minor cleanups/renaming etc. Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
2014-09-16Resolves a few gcc warningsDeb Mukherjee
clang is fine. Change-Id: Ia4e9ff17ea3b86bc87dca35828ee7ce45bea6994
2014-09-16Adding high-bitdepth intra prediction functionsDeb Mukherjee
Change-Id: I6f5cb101e2dc57c3d3f4d7e0ffb4ddbed027d111
2014-09-03Initializing intra modes without vpx_once().Dmitry Kovalev
Change-Id: I0a9d52432f2500f1bd8f43f229e70e38bb9a0343
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