summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
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-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
2014-03-21AVX2 SAD Optimization:levytamar82
2 functions were optimized for avx2 by using full 256 bit register In order to handle 32 elements in parallel instead of only 16 in parallel: 1. vp9_sad32x32x4d 2. vp9_sad64x64x4d The function level gain is 66% and the user level gain is ~1%. Change-Id: I4efbb3bc7d8bc03b64b6c98f5cd5c4a9dd3212cb
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-21Removing redundant {above, left}_seg_context manipulation code.Dmitry Kovalev
Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
2014-03-21Merge "Reusing {above, left}_seg_context vars in both encoder and decoder."Dmitry Kovalev
2014-03-21Merge "Remove duplicate declaration"Yaowu Xu
2014-03-20Reusing {above, left}_seg_context vars in both encoder and decoder.Dmitry Kovalev
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
2014-03-20Merge "Removing mi_stream."Dmitry Kovalev
2014-03-19Adding alloc_mi() function.Dmitry Kovalev
Change-Id: I3b944884c048f589c86e0169aeb3c3855bc8b729
2014-03-19Remove duplicate declarationYaowu Xu
Change-Id: Ic8e52a89e0df816c38cd8ff1b7c53862b9a6dff2
2014-03-19Merge "Fix the md5 mismatch for some scale cases."Yaowu Xu
2014-03-19Removing mi_stream.Dmitry Kovalev
Change-Id: If674140e30c223c88894b983fd22a583efb99dcf