summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_postproc.c
AgeCommit message (Collapse)Author
2022-04-26vp9: check postproc_state.limits allocsJames Zern
Change-Id: I9d5df96580074375e4847d2e2f60a6a6d56eeea5
2019-07-09vp9: Use mb_rows/cols from VP9_COMMON in postproc.Jerome Jiang
When frame height is not divisible by 16, the calculation of mb_rows in postproc was wrong. Change-Id: I69d108f1b8facdd5650b5b7928a0033b268530d2
2018-09-12Fix buffer overrun of postproc_state.limitsMatthias Räncker
Always allocate cpi->common.postproc_state.limits using unscaled width. With ./configure --enable-pic --enable-decode-perf-tests --enable-encode-perf-tests --enable-encode-perf-tests --enable-vp9-highbitdepth --enable-better-hw-compatibility --enable-internal-stats --enable-postproc --enable-vp9-postproc --enable-error-concealment --enable-coefficient-range-checking --enable-postproc-visualizer --enable-multi-res-encodin --enable-vp9-temporal-denoising --enable-webm-io --enable-libyuv segfaults tend to occur in VP9/DatarateOnePassCbrSvcSingleBR.* tests. This is an analogue to issue https://bugs.chromium.org/p/webm/issues/detail?id=1374 where a buffer allocated using a scaled width is reused after scaling back to the original size. Unfortunately, in this case the unscaled width doesn't appear to be known in the immediated context of the allocation, so the the signature of vp9_post_proc_frame needs to be changed to provide that information in order to provide a similar fix as in #1374. Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de> Change-Id: I6f943aafbb3484ee94c5b38d7fcdd9d53fce3e5f
2017-05-26Fix vp8 race when build --enable-vp9-highbitdepth.Jerome Jiang
Split vp8/vp9 implementations on yv12_copy_frame_c. Remove high-bitdepth codes from vp8_yv12_extend_frame_borders_c. Clean up vp8 codes usage in vp9. BUG=webm:1435 Change-Id: Ic68e79e9d71e1b20ddfc451fb8dcf2447861236d
2016-09-20vp8: remove VP8_SET_DBG* control supportJames Zern
the --enable-postproc-visualizer configure option remains as a no-op as do the control names and values for compatibility + remove the corresponding debug flags from vpxdec: --pp-* Change-Id: I4a001cd9962b59560d7d6bda6272d4ff32b8d37c
2016-08-02vp9/common: apply clang-formatclang-format
Change-Id: Ie0f150fdcfcbf7c4db52d3a08bc8238ed1c72e3b
2016-07-16Merge "addnoise : clear out static size for generated noise"James Bankoski
2016-07-15addnoise : clear out static size for generated noiseJim Bankoski
Change-Id: I5d4343f2da9cd4b01dd37be7a048d159fec109d1
2016-07-15vp9_postproc.c : unused variable if not vp9_highbitdepth.Jim Bankoski
Change-Id: Ib89b128f23767934c40b5add3fcf9dbd875e82f9
2016-07-15postproc : fix function parameters for noise functions.Jim Bankoski
Change-Id: I582b6307f28bfc987dcf8910379a52c6f679173c
2016-07-13Merge "postproc: noise style fixes."James Bankoski
2016-07-13postproc: noise style fixes.Jim Bankoski
Change-Id: Ifdcb36b8e77b65faeeb10644256e175acb32275d
2016-07-13Merge "postproc - move filling of noise buffer to vpx_dsp."James Bankoski
2016-07-13postproc - move filling of noise buffer to vpx_dsp.Jim Bankoski
Change-Id: I63ba35dc0ae9286c9812367a531e01d79a4c1635
2016-07-13deblock: missing const on extern const.Jim Bankoski
Change-Id: I0df08f7c431daf939e266f008bf5158b0c97358b
2016-07-12vp9_postproc.c missing extern.Jim Bankoski
BUG=webm:1256 Change-Id: I5271e71bc53cce033fb906040643dcdd5ccb2381
2016-07-12deblock filter : moved from vp8 code branchJim Bankoski
The deblocking filters used in vp8 have been moved to vpx_dsp for use by both vp8 and vp9. Change-Id: I5209d76edafc894b550f751fc76d3aa6799b392d
2016-06-28vp9 postproc: Bug fix and code clean.jackychen
Bug fix: The crash is caused by not allocating buffer for prev_mip in postproc_state and prev_mip in postproc_state is only used for MFQE, ohter postproc modules, deblocking and etc., should not use it. BUG=webm:1251 Change-Id: I3120d2f50603b4a2d400e92d583960a513953a28
2016-05-02Move vpx_add_plane from codec to vpx_dsp and dedup.Jim Bankoski
Change-Id: I12218d8331c0558c0587a66321e3ca46da7e5cc7
2015-08-31Include vpx_dsp_common.h when using VPXMIN/MAXJohann
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
2015-08-26vpx_dsp_common: add VPX prefix to MIN/MAXJames Zern
prevents redeclaration warnings; vp8 has its own define which will be resolved in a future commit Change-Id: Ic941fef3dd4262fcdce48b73075fe6b375f11c9c
2015-08-14Change vp9_ prefix function names in vpx_scale to vpx_Jingning Han
Change-Id: Iac85902cbbb3e752801dc85de9a3c778e47304aa
2015-08-10Move vp9_systemdependent.h to vpx_ports bitops.h and system_state.hAlex Converse
Use system_state.h in vpx_dsp and remove unneeded includes of vp9_systemdependent.h. Change-Id: I92557ec6dd5aa790160b4f31fe7967db0d7ec3c4
2015-08-06Cosmetic - align format in vp9Jingning Han
Change-Id: I83ed3422f1f4009675ad2f5c4b7236bc7b83b30e
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-04-28vpx_mem: remove vpx_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2015-03-27vp9_postproc.c: eliminate -Wshadow build warnings.jackychen
Change-Id: I6df525a9ad1ae3cfbba8710d21db8fee76e64dbb
2015-02-03make low bitrates a lot less blockyJim Bankoski
Remove loop filter skip at speed 7+ because of bad visual artifacts and up the postprocessing. Change-Id: Ibdd0bac71aaee232d2bb2e14462733c51517768d
2014-12-17Merge "Use bit_depth in VP9Common as the flag of highbit."JackyChen
2014-12-16Use bit_depth in VP9Common as the flag of highbit.JackyChen
Change-Id: I881aefbe68f9c10bb4629a2a5ee1e42a225d5ab7
2014-12-16Merge "Revert "Revert "Add support for setting byte alignment."""Frank Galligan
2014-12-16Fixed MFQE crash issue for highbit depth.JackyChen
Check the flags, no MFQE for highbit now. Will add highbit support latter. Change-Id: I548c27593e0f47ab7f4c92b45f14fb037dc86591
2014-12-15Revert "Revert "Add support for setting byte alignment.""Frank Galligan
This reverts commit 91471d6aad285ff10e7582e485d8adadd1986fe2. Fixes the compile issues if post_proc is enabled. Change-Id: Ib40a15ce2c194f9b5adfa65a17ab01ddf60f5a59
2014-12-12vp9_postproc: remove redundant CONFIG_* checksJames Zern
the entire module is wrapped in CONFIG_VP9_POSTPROC which is forcibly enabled with CONFIG_INTERNAL_STATS + a similar change in vp9_alloccommon.c Change-Id: I374993297a9fba5bef2f0b71f984eba42f0995a3
2014-12-11Multiframe Quality Enhancement(MFQE) in VP9.JackyChen
It is the first version of MFQE in VP9. There are a few TODOs included in this version. Usage: Add flag --enable-vp9-postproc to config the project. In decoder, use flag --mfqe in the command line to enable MFQE in postproc. Note: Need to have key frame with low quality to see the effect of this new patch. In my experiment, I fixed the qindex to 200 in key frame. Change-Id: I021f9ce4616ed3574c81e48d968662994b56a396
2014-10-01High-bitdepth bugfixesDeb Mukherjee
Miscellaneous bug-fixes for high bitdepth functionality. With this patch, high bit-depth profiles become mostly functional, except for an intermittent assert failure issue that is being tracked. Change-Id: I6a7fcbdcf1e5b09842e88535f8442d2e1230748c
2014-09-23High bit-depth loop/arf/postproc filter functionsDeb Mukherjee
Adds high-bitdepth loopfilter, temporal filter and postproc functions Change-Id: I81c8a9176890784686bc4f2af0d550d243b3b2d3
2014-08-22vp9_postproc.c: unused parameter warning resolvedJim Bankoski
Change-Id: I6d77a7c775c0482fd1f9bb03ea6f336dd2973fa0
2014-07-21Remove unfinished VP9 alpha channel.Alex Converse
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
2014-07-17Modified frame buffer handlingAdrian Grange
This patch is the first step toward simplifying the frame buffer handling. The final goal is to have a common frame buffer handling framework for both encoder and decoder that incorporates the existing ability to use externally allocated memory. Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
2014-05-15Fix post-processor macros & remove vizualizationAdrian Grange
Make all post-processor code conditionally compilable based on the CONFIG_VP9_POSTPROC macro. Also, remove the vizualization code from VP9 since it is out of date and will not compile. Change-Id: I1e9e13a09ecd43e9a3f3704c175ae8cd258ababd
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-02-12Renaming skip_coeff to skip for consistency.Dmitry Kovalev
Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
2014-01-14Cleaning up postproc code.Dmitry Kovalev
Change-Id: I7e53f6345a4cf89309262f50850c9ad08ed3c527
2013-09-29cpplint issues resolved in vp9_postproc.cJim Bankoski
Change-Id: If61380115163a02ecfe74b82e116001ac54e20e2
2013-09-04make vp9 postproc a config optionJim Bankoski
Vp9 postproc is disabled for now as its not been shown to help and may be merged with vp8. Change-Id: I25620d6cd34c6e10331b18c7b5ef7482e39c6057
2013-08-29consistently name VP9_COMMON variables #2James Zern
oci -> cm Change-Id: Ifd75c809d9cc99034d3c2fccc4653a78b3aec21f
2013-08-27Merge "Using existing functions instead of raw expressions."Dmitry Kovalev
2013-08-23cosmetics: strip 'VP9_' from defines in vp9 only codeJames Zern
Change-Id: I481d9bb2fa3ec72b6a83d5f04d545ad8013f295c
2013-08-23Using existing functions instead of raw expressions.Dmitry Kovalev
Change-Id: Ifa50b04bac1a6ff2abef989073cbf1f37a89eb50