summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2014-10-01Merge "Remove redundant header file from vp9_idct.h"Jingning Han
2014-10-01Merge "High-bitdepth bugfixes"Deb Mukherjee
2014-10-01Remove redundant header file from vp9_idct.hJingning Han
Change-Id: Id92544762e7b96d3c729dfc8e04ecff91cbcc7f9
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-10-01Remove repeated vpx_integer.h from vp9_prob.hJingning Han
The file vpx_integer.h has been included and used in the parent file vp9_common.h. Change-Id: I9c65f08353576f9ef1e5ea17244fc5ca964ec002
2014-10-01Use precise header files in vp9_entropymv.hJingning Han
The commit cleans up the header files in vp9_entropymv.h. This file should only depend on vp9_mv.h and vp9_prob.h. Remove the giant vp9_blockd.h from header file list. Change-Id: I44cd26d2cfd10a16a9325778347dd53f888a874c
2014-09-30Moves transform type defines to vp9_commonDeb Mukherjee
Moves transform type defines to vp9_common.h from vp9_idct.h so that they can be included in vp9_rtcd_defs.pl safely. Change-Id: Id5106227bee5934f7ce8b06f2eb9fa8a9a2e0ddb
2014-09-30Revert "Fix compiling error in vp9_idct.h"James Zern
This reverts commit eafc8c9c40d712aabe234bed5269a02c62fa0bfc. tran_low_t/tran_high_t don't belong in a public header, they're private. Similarly the public headers shouldn't rely on config defines, vpx_config.h isn't installed. Change-Id: I194ec273598da418df8dd727b6c0e78a556740ad
2014-09-30Remove redundant header file declarationJingning Han
Some header file in vp9_idct.c has been included in vp9_idct.h. This commit removes these redundant declarations. Change-Id: I0238c27e4efff5c981eb437022c6bc6970c4e445
2014-09-30Fix compiling error in vp9_idct.hJingning Han
This commit fixes a compiling error in vp9_idct.h, where the codec checks that the intermediate steps of transformation fit within 16-bit length. The issue was due to broken file dependency. Change-Id: Ib22bba13a1e6df28489cb23d6774c561969f1fdc
2014-09-29Miscellaneous decoder changes for high bitdepthDeb Mukherjee
Also includes yv12 config changes. Change-Id: Iacf40d8bf486815b54c32a127ce3cd4516b7e44f
2014-09-25Avoid calling vp9_is_scaled two times in a function.hkuang
Use a local variable to hold the result of vp9_is_scaled. Change-Id: I5e203909805923e20eefef596bc84424da47dbe2
2014-09-25Fix a couple of commentsYaowu Xu
The first comment is obselete given the way is now normative in VP9 bitstream. The second comment line was too long. Change-Id: I6546585babf60d466485ddcf2daa6d2fa79e999a
2014-09-24Correct the condition for border extensionYaowu Xu
As reported in issue #850, the condition for border extension was not complete. This commit added the case when the scaling is enabled. This fixes issue #850. Change-Id: I67768b23f0dcc4ac9a9aa0a0825b0fe8cb85a72e
2014-09-24Merge "Fix invalid memory access on 2x downscale."Yaowu Xu
2014-09-24Fix incorrect subsampling used in VP9 non420 loopfilter.Alexander Voronov
Change-Id: Ia959e24b4676242c80a8867d2c39a6fee90f71a5
2014-09-23Merge "High bit-depth loop/arf/postproc filter functions"Deb Mukherjee
2014-09-23High bit-depth loop/arf/postproc filter functionsDeb Mukherjee
Adds high-bitdepth loopfilter, temporal filter and postproc functions Change-Id: I81c8a9176890784686bc4f2af0d550d243b3b2d3
2014-09-19Remove mi_grid_* structures.hkuang
mi_grid_* are arrays of pointer to pointer. They save the pointers that point to the MIs in cm->mi. But they are unnecessary and complicated. The original goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer inside MODE_INFO_t, same goal could be achieved. This commit totally removes the mi_grid_* structures. But there are still many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit will do on-demand MODE_INFO_t allocation in order to save these memories. Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
2014-09-19High bit-depth coefficient coding functionsDeb Mukherjee
Tokenization and Detokenization enhancements for 10/12 bit Change-Id: I3c269ec30f8eb160ee024905638a193975237559
2014-09-18Merge "FIX: vp9_loopfilter_intrin_sse2.c"Frank Galligan
2014-09-18FIX: vp9_loopfilter_intrin_sse2.cScott LaVarnway
Fixes Visual Studio build failures Change-Id: I233719cd63b3ad0db16e2834bf1d7ea1df805880
2014-09-18Merge "Adds high bitdepth convolve, interpred & scaling"Deb Mukherjee
2014-09-18Adds high bitdepth convolve, interpred & scalingDeb Mukherjee
Change-Id: Ie51c352a6b250547207cbc1ebba833a01ed053e3
2014-09-17Merge "Improved mb_lpf_horizontal_edge_w_sse2_16() #2"Frank Galligan
2014-09-17Improved mb_lpf_horizontal_edge_w_sse2_16() #2Scott LaVarnway
The decoder performance improved up to 1% for the test clips used. Change-Id: I4621112bdccfba01640322facfa4ba8da8290ea5
2014-09-16Resolves a few gcc warningsDeb Mukherjee
clang is fine. Change-Id: Ia4e9ff17ea3b86bc87dca35828ee7ce45bea6994
2014-09-16Merge "Adding high-bitdepth intra prediction functions"Deb Mukherjee
2014-09-16Merge "Remove memset of every external frame buffer."Frank Galligan
2014-09-16Adding high-bitdepth intra prediction functionsDeb Mukherjee
Change-Id: I6f5cb101e2dc57c3d3f4d7e0ffb4ddbed027d111
2014-09-16Adds high bitdepth quantization functionsDeb Mukherjee
Adds various high bitdepth quantization functions. Change-Id: I36fc0bf75a1bd15128ed271df8723de0ac134b0c
2014-09-16Fix a performance regressionYaowu Xu
This commit adds back sse2 or ssse3 optimized versio of a couple of functions, fixes a ~10% performance regression. Change-Id: I049786906e5a641224dced63c6492aec9d86d183
2014-09-15Remove memset of every external frame buffer.Frank Galligan
Libvpx was memseting every external frame buffer before decode. This was to work around a valgrind issue in our C loop filter. Most of the time this was not needed and we have noticed some significant performance loss on some platforms. Now we require the application to zero out the buffers if it is using external frame buffers. Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
2014-09-15Fix invalid memory access on 2x downscale.Alexander Voronov
The issue was discovered on bitstream with 2x vertical downscale. For zero MVs, y_pad is set to 1 only when vertical convolution is required. The original code assumes that for y_step_q4 == 32 we don't perform vertical convolution. But vp9_setup_scale_factors_for_frame() sets convolve functions so that when x_step and y_step are both not equal to 16, convolve in both directions is performed. And convolve() unconditionally subtracts one stride from source pointer when calls convolve_horiz(). This leads to invalid memory access. Change-Id: I882dfa6081a58e172b5ffa55842bfcd6727f10bf
2014-09-13Merge "Add a note for enum values of MV_REFERENCE_FRAME"Jingning Han
2014-09-11Adds high bitdepth transform functions and testsDeb Mukherjee
Adds various high bitdepth transform functions and tests. Much of the changes are related to using typedefs tran_low_t and tran_high_t for the final transform cofficients and intermediate stages of the transform computation respectively rather than fixed types int16_t/int. When vp9_highbitdepth configure flag is off, these map tp int16_t/int32_t, but when the flag is on, they map to int32_t/int64_t to make space for needed extra precision. Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
2014-09-11Adds high bit depth sad and variance functionsDeb Mukherjee
Moves high bit depth sad/var functions from highbitdepth branch to master. Change-Id: If03845d8ef9c9c494e13350e7a587c289306b94d
2014-09-11Merge "Allow specifying opt dependencies"Johann
2014-09-11Allow specifying opt dependenciesJohann
If optimizations use more than one cpu feature, allow specifying them so that '--disable-X' still works https://code.google.com/p/webm/issues/detail?id=854 Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
2014-09-11Add a note for enum values of MV_REFERENCE_FRAMEJingning Han
Change-Id: Ifaf6738f26e86ded6eb6ea1465bad7a229612999
2014-09-10Merge "LoopFilterWorkerData: remove misleading 'const'"Jim Bankoski
2014-09-09Merge changes If8887e1d,I36bfc9c8,I3d1e6c42James Zern
* changes: vp9_dthread: simplify loop_filter_row_worker signature simplify vp9_loop_filter_worker signature vp9_decodeframe: simplify tile_work_hook signature
2014-09-09Merge "Cleaning up and speeding up vp9_idct32x32_1024_add_sse2()."Dmitry Kovalev
2014-09-08LoopFilterWorkerData: remove misleading 'const'James Zern
'frame_buffer' is modified indirectly via 'planes'. + do the same for vp9_loop_filter_rows Change-Id: Ibb7daa2e261064e4a5317a2969e3490e59891b82
2014-09-08simplify vp9_loop_filter_worker signatureJames Zern
use the type names directly in the function declaration rather than (void *arg1, void *arg2) Change-Id: I36bfc9c886310ce370bf0ca7c679ebd6e95109cc
2014-09-08Fixing Mac OS build.Dmitry Kovalev
Change-Id: Ifae8906185a868a07685eb7a7da2484af95e70a7
2014-09-05Cleaning up and speeding up vp9_idct32x32_1024_add_sse2().Dmitry Kovalev
Change-Id: If91017b792572c9db6e257011ca307bef8428486
2014-09-05Merge "Removing postproc mmx code."Dmitry Kovalev
2014-09-05Merge "Initializing intra modes without vpx_once()."Dmitry Kovalev
2014-09-05Removing postproc mmx code.Dmitry Kovalev
Removed functions: * vp9_post_proc_down_and_across_mmx * vp9_mbpost_proc_down_mmx * vp9_plane_add_noise_mmx They all have sse2 equivalent. Change-Id: I59c1fac12b7c96ca4538d455e4400c2b7875feff