summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2014-04-30Merge "Enable SSSE3 implementation of 8x8 forward 2D-DCT"Jingning Han
2014-04-29Merge "Adding search_site_config struct."Dmitry Kovalev
2014-04-29Enable SSSE3 implementation of 8x8 forward 2D-DCTJingning Han
Assembly implementation of ssse3 8x8 forward 2D-DCT. The current version is turned on only for x86_64. The average unit runtime goes from 157 cycles down to 136 cycles, i.e., about 12.8% faster. This translates into about 1.5% speed-up for pedestrian_area 1080p at speed 2. Change-Id: I0f12435857e9425ed7ce12541344dfa16837f4f4
2014-04-29Merge "Removing unused vp9_variance_halfpixvar*() functions."Dmitry Kovalev
2014-04-29Adding search_site_config struct.Dmitry Kovalev
Change-Id: I2ad333553e673dbabcdc0f0366aea311e90849bf
2014-04-25Removing old unused vp9_tapify.py.Dmitry Kovalev
Change-Id: I7d66987fd04a3f98c140fc5f99ed0e9bc01f61d0
2014-04-25Removing unused vp9_variance_halfpixvar*() functions.Dmitry Kovalev
Change-Id: I99695564a3aa9bc8c79ac0a551d257e2ff3ad3c3
2014-04-24Removing unused vp9_sub_pixel_mse* functions.Dmitry Kovalev
Change-Id: I8d906da3bd6de0d3042676846f61a8b2a3444508
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-04-15Merge "Moving frame_frags field from VP9Common to VP9_COMP."Dmitry Kovalev
2014-04-11Removing unused cost arguments from mcomp functions.Dmitry Kovalev
Change-Id: Id81a76d18be6b2de69f81bb563d74c3bb356d434
2014-04-10Merge "Fix encoder uninitialized read errors reported by drmemory"Yunqing Wang
2014-04-09Moving frame_frags field from VP9Common to VP9_COMP.Dmitry Kovalev
Change-Id: I0f4a5c50561a2653d22c366c214a937272ecfa2c
2014-04-09Merge "Revert "Converting set_prev_mi() to get_prev_mi().""Dmitry Kovalev
2014-04-09Revert "Converting set_prev_mi() to get_prev_mi()."Dmitry Kovalev
This reverts commit 22a3e30790d141033778e430a47ba7d558237362 Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb
2014-04-09Merge "Fix avx builds on macosx with clang 5.0."Tom Finegan
2014-04-09Merge "Converting set_prev_mi() to get_prev_mi()."Dmitry Kovalev
2014-04-09Merge "Use source frame difference to make partition decision"Yunqing Wang
2014-04-09Fix encoder uninitialized read errors reported by drmemoryYunqing Wang
This patch fixed the uninitialized read errors in Issue 748: "dr memory VP9 encode errors". In vp9_convolve_avg_sse2, when width is 4, pavgb reads 8 bytes from dst buffer that is out of range. An error is reported although the data is not actually used later. This issue was resolved by preventing uninitialized reads. Change-Id: I109a54910aa47139cb13119de86f2062cff207df
2014-04-08Fix avx builds on macosx with clang 5.0.Tom Finegan
The macosx release of clang v5.0 identifies itself as: Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) This version of clang uses the older _mm_broadcastsi128_si256, like v3.3, as given away in the LLVM svn version above. Change-Id: I4d6d59d5454efd57d2ae9e75f5eb7486af7cbd0c
2014-04-08Use source frame difference to make partition decisionYunqing Wang
Calculate the difference variance between last source frame and current source frame. The variance is calculated at 16x16 block level. The variances are compared to several thresholds to decide final partition sizes. An adaptive strategy is implemented to decide using SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions in the video. The switching test is done once every search_type_check_frequency frames. The selection of source_var_thresh needs to be investigated further later. RTC set Borg test showed 0.424% overall psnr gain, and 0.357% ssim gain. For clips with large enough static area, the encoding speedup is around 2% to 15%. Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
2014-04-08High-level hooks for Profile 2 (10/12 bit)Deb Mukherjee
Adds some high-level hooks for profile 2 before further progress on the implementation. According to the definitiion in this patch: 1. Profile 2 only supports 10 or 12 bit color but not 8 2. Profile 2 supports all color sampling modes: 444, 422 and 420, and alpha plane. 3. Profile 3 is currently undefined. Please consider the definition carefully and suggest modifications to the definition as needed. Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
2014-04-07Converting set_prev_mi() to get_prev_mi().Dmitry Kovalev
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
2014-04-07Cleaning up vp9_{cx, dx}_iface.c files.Dmitry Kovalev
Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d
2014-04-03Removing interp_kernel from MACROBLOCKD.Dmitry Kovalev
Now interp_kernel is obtained when it is really required (based on mbmi->interp_filter value). Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
2014-04-02Merge "Cleaning up vp9_mvref_common.c."Dmitry Kovalev
2014-04-02Merge "Grouping members in MB_MODE_INFO struct."Dmitry Kovalev
2014-04-01Renaming two members in MACROBLOCKD struct.Dmitry Kovalev
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
2014-04-01Common configuration for MACROBLOCKD struct.Dmitry Kovalev
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
2014-03-28Grouping members in MB_MODE_INFO struct.Dmitry Kovalev
Change-Id: Ia6d7e7a08810e0c3401da4d10266828d560e6851
2014-03-28[BITSTREAM]Fix the scaling calculationYaowu Xu
For very large size video image, the scaling calculation may need use value beyond the range of int. This commit upgrade the value to 64bit to make sure the calculation do not wrap around INT_MAX. The change corrected the decoder behavior. The bug affects only very large resolution video because the scaling calculation was sufficient for image size smaller than 2^13. This resolves issue: https://code.google.com/p/webm/issues/detail?id=750 Change-Id: I2d2ed303ca6482f31f819f3c07d6d3e98ef3adc5
2014-03-28Moving dqcoeff array to MACROBLOCKD in decoder.Dmitry Kovalev
Change-Id: I3e20c0cdb9d2437bddf21afb255855f2dead8e02
2014-03-27Cleaning up vp9_mvref_common.c.Dmitry Kovalev
Change-Id: I4eb815156ecaab02c9182e6e1abbea0e4d86c441
2014-03-26Merge "Removing prev_mi_8x8 from MACROBLOCKD."Dmitry Kovalev
2014-03-26Merge "Cleaning up vp9_entropymv.c."Dmitry Kovalev
2014-03-26Removing prev_mi_8x8 from MACROBLOCKD.Dmitry Kovalev
Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
2014-03-25Moving above_context to VP9_COMMON.Dmitry Kovalev
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
2014-03-25Merge "Fixed a build issue"Yaowu Xu
2014-03-25Merge "Change back the scaling calculation."Yaowu Xu
2014-03-25Fixed a build issueYaowu Xu
Adding the missed include file. Change-Id: I7e48df6b0633afbebaf1ccb3062ae404e7203dc9
2014-03-24Initialization code cleanup.Dmitry Kovalev
Change-Id: I47a8b4bf9a6cc0063d1a6785eaaad641d0659e24
2014-03-24Cleaning up vp9_entropymv.c.Dmitry Kovalev
Change-Id: I01b3530779da89acb84c71bac5ccac456f00c5ac
2014-03-24Merge "AVX2 SAD Optimization:"Yunqing Wang
2014-03-24Merge "Cleaning up vp9_loopfilter.c."Dmitry Kovalev
2014-03-24Change back the scaling calculation.hkuang
Let the calculation to be compatible with Google's HW implementation. Change-Id: I22e179888cdb0419e230351c0a47661b37051fef
2014-03-22Merge "Removing redundant {above, left}_seg_context manipulation code."Dmitry Kovalev
2014-03-21Merge "Renaming and making vp9_update_mode_info_border() static."Dmitry Kovalev
2014-03-21Cleaning up vp9_loopfilter.c.Dmitry Kovalev
Change-Id: I7c7cf7d3c7b00d1c74ffa8aa8fb8d78a0e48326f
2014-03-21Merge "Fix libvpx VP9 decoder dr memory errors"Frank Galligan
2014-03-21Renaming and making vp9_update_mode_info_border() static.Dmitry Kovalev
Change-Id: Ibb72a29cae9ca9443aae56fc4c5458d190eae279