summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_reconintra.c
AgeCommit message (Collapse)Author
2016-05-25Fix comments in build_intra_predictors_high()Yaowu Xu
1. Removed TODOs, no longer applicable to finalized vp9 profiles. 2. Added explanation on assumed values for highbitdepth profiles. Change-Id: I59e0bebaaab900cc611ed284daa5fa0bdedb8097
2016-03-30VP9: Eliminate up_available and left_availableScott LaVarnway
Use above_mi and left_mi instead. Change-Id: I0b50e232c31d11da30aa2fb6f91a695aaf725e0c
2015-11-02Generate intra prediction reference values only when necessaryhui su
This can help increase encoding speed substantially. Change-Id: Id0c009146e6e74d9365add71c7b10b9a57a84676
2015-10-01Small cleanuphui su
Change-Id: I5aeaa94b743f84738d288f8b027fec4c164f2ec3
2015-08-12Use sizeof(variable) instead of sizeof(type)hui su
Change-Id: Ia069da11eebb271063e9eb837bdb3e7175ecce13
2015-07-31Code refactor on InterpKernelZoe Liu
It in essence refactors the code for both the interpolation filtering and the convolution. This change includes the moving of all the files as well as the changing of the code from vp9_ prefix to vpx_ prefix accordingly, for underneath architectures: (1) x86; (2) arm/neon; and (3) mips/msa. The work on mips/drsp2 will be done in a separate change list. Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
2015-07-27Replace prefix vp9_ with vpx_ for intra prediction functionshui su
Change-Id: I8ae6fb586f8d5d018ace228df11714f82b085076
2015-07-27Move intra prediction functions from vp9/common/ to vpx_dsp/hui su
Change-Id: I64edc26cf4aab050c83f2d393df6250628ad43b8
2015-07-13Refactor intra block prediction functionJingning Han
This commit simplifies the intra block boundary condition logic. It removes the block index from the argument set. Change-Id: If00142512eb88992613d6609356dfd73ba390138
2015-06-18vp9_reconintra: correct d135 4x4 signatureJames Zern
add missing '_c' suffix Change-Id: I928d6cf8f90db0b8ca0b1f3bbf10b3d792062cec
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