summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2014-02-12Merge "Removing vp9_foreach_transformed_block_uv() function."Dmitry Kovalev
2014-02-12Use INTER_OFFSET in vp9_pick_inter_modeJingning Han
Cosmetic change to use pre-defined macros. Change-Id: I93e9fa90113d0242599048940b39694660385a6f
2014-02-11Removing vp9_foreach_transformed_block_uv() function.Dmitry Kovalev
Change-Id: I35ec77b71e6fd686865cead9281e4dd9e9bc9e86
2014-02-11Merge "vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c."Tom Finegan
2014-02-11Merge "Add get release decoder frame buffer functions."Frank Galligan
2014-02-10Merge "Encoder quantization cleanup."Dmitry Kovalev
2014-02-10vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c.Tom Finegan
Update filter_1dfunction definition to match usage. Change-Id: Ie3cae13dc1ec3f5838c5f29d1c76a1a98a9217fa
2014-02-10Add get release decoder frame buffer functions.Frank Galligan
This CL changes libvpx to call a function when a frame buffer is needed for decode. Libvpx will call a release callback when no other frames reference the frame buffer. This CL adds a default implementation of the frame buffer callbacks. Currently only VP9 is supported. A future CL will add support for applications to supply their own frame buffer callbacks. Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
2014-02-10Convert small static header functions to inlineJim Bankoski
Change-Id: I467b28346a0d8d4d8b96d6c05fc39c34eec26e5c
2014-02-10Convert small static functions in header to inline..Jim Bankoski
Change-Id: Ic4fc01be7738fbabf8c7860dbe3476ab4caf5fc2
2014-02-10Convert small header functions to inlineJim Bankoski
Change-Id: I4e5575f0d7ccfe2361b8cbf78e7dc079272c9f5f
2014-02-10Convert header static functions to inline or make them global.Jim Bankoski
Change-Id: Ib26fbfef3505299f754e5af6c437a85d7746fc28
2014-02-09Converted functions in header to INLINE...Jim Bankoski
Change-Id: I00512c6cef3a4af8df57c7263ceb853fb2db8140
2014-02-09Convert functions to inline that are small .Jim Bankoski
Change-Id: I3b160e93d9319c8e1abda2a60f49f89c409d534b
2014-02-09Convert functions to inline that are in headers static.Jim Bankoski
Change-Id: If1ec3b64be327e8c48ec7efbacde208d2129fdb0
2014-02-09Converted function to inlineJim Bankoski
Change-Id: Iaa4880c8a207cfea509608e1ef4593794b6b31f2
2014-02-09Converted short static functions to inline.Jim Bankoski
Change-Id: I859719d41ced2e35d2765b636e627bb7edc3651e
2014-02-07vp9/common: Silence MSVC warning in vp9_convolve.c.Tom Finegan
Added cast to int to silence MSVC warning. Change-Id: I9ef4709d2e4cf0db070d9e52385c1b3f138b00a5
2014-02-06Finally removing "short" from transform names.Dmitry Kovalev
Change-Id: I5259b68dc1bcceb153e3ffe638a79a59a3019e9d
2014-02-06Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
2014-02-05Merge "Cleaning up vp9_get_pred_context_single_ref_p1()."Dmitry Kovalev
2014-02-05Merge "Removing "_1d" suffix from mips transform code."Dmitry Kovalev
2014-02-05Merge "Optimize bilinear sub-pixel filters in ssse3"Yunqing Wang
2014-02-05Cleaning up vp9_get_pred_context_single_ref_p1().Dmitry Kovalev
Change-Id: I279343b474d7ff41afcf8f1493b6fbf716b51823
2014-02-05Merge "Cleaning up vp9_get_pred_context_single_ref_p2()."Dmitry Kovalev
2014-02-05arm: Consistently use braces around doubleword arguments to vldMartin Storsjo
This isn't strictly necessary, but makes the file more consistent with the other arm assembly source files. Change-Id: I245c9677d89e0ab3f31991e473764858af35b180
2014-02-05arm: Use {} around quadword arguments to vldMartin Storsjo
This fixes building for iOS. Change-Id: Ice082648c02a3faf93891f7ddc122875e2bdc9cb
2014-02-04vp9_systemdependent.h: relocate system includesJames Zern
avoid wrapping msvc includes with extern "C"; this breaks some visual studio builds of the (c++) tests. Change-Id: Ie8062d55d4f4c049f6cd360a36da6a67607df132
2014-02-04Merge "Moving x1 & y1 calculation under if condition."Dmitry Kovalev
2014-02-04With on demand border extension, clamping the MVhkuang
is not longer needed. Change-Id: I40c37ef18c67ab27fc336694dfca3c43a87c47ca
2014-02-04Optimize bilinear sub-pixel filters in ssse3Yunqing Wang
This patch added ssse3 optimization of bilinear sub-pixel filters. The real time encoder was speeded up by ~1%. Change-Id: Ie82e98976f411183cb8c61ab8d2ba0276e55a338
2014-02-03Merge "vp9_filter.h: rename interp_kernel type"James Zern
2014-02-03Moving x1 & y1 calculation under if condition.Dmitry Kovalev
Change-Id: Iae787d491f7cfe24855ef8f2d04e2c6c19350378
2014-02-03Cleaning up vp9_get_pred_context_single_ref_p2().Dmitry Kovalev
Change-Id: I294075acd3073c41e153079ff4462816898b3778
2014-02-03vp9_filter.h: rename interp_kernel typeJames Zern
-> InterpKernel avoids conflicts in variable names, fixing the build with various toolchains. broken since: 8691565 Removing subpix_fn_table struct. Change-Id: Ib5f6fdbcb494a97b62c75b99d4d826ff25d4c981
2014-02-03Merge "INLINE and reimplement get_unsigned_bits()."Alex Converse
2014-02-03Encoder quantization cleanup.Dmitry Kovalev
Change-Id: I633205c95f0e81ce0589580501d0be4425a3cb8e
2014-02-03Merge "Removing "_short" suffix from arm transform file names."Dmitry Kovalev
2014-02-03INLINE and reimplement get_unsigned_bits().Alex Converse
The new implementation disagrees when the argument is equal to 2**n but that is never called in practice and based on how it is used the new implementation is correct in that case. Change-Id: Ifbac4ad87d459fe6bd2fd0f400c0340f96617342
2014-02-03Optimize bilinear sub-pixel filters in sse2Yunqing Wang
Using bilinear filters could speed up the codec in real-time mode. This patch added sse2 optimizations of bilinear filters that operate on different-sized blocks. Tests showed that the real-time encoder was speeded up by 3%. Change-Id: If99a7ee4385fcc225c3ee7445d962d5752e57c3f
2014-02-02Layer based rate control for CBR mode.Marco Paniconi
This patch adds a buffer-based rate control for temporal layers, under CBR mode. Added vpx_temporal_scalable_patters.c encoder for testing temporal layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns). Updated datarate unittest with tests for temporal layer rate-targeting. Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7
2014-01-31static function convert to inline or global vp9_blockd.hJim Bankoski
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
2014-01-31Merge "Rename a loopfilter parameter"Yunqing Wang
2014-01-31Merge "Cleaning up motion compensation code."Dmitry Kovalev
2014-01-31Removing "_short" suffix from arm transform file names.Dmitry Kovalev
Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507
2014-01-31Removing "_1d" suffix from mips transform code.Dmitry Kovalev
Unifying transform function names across libvpx, 1d is a redundant suffix. Change-Id: I077c19f3bc7d4842ed7ca5814d77b3dce1728e13
2014-01-31Rename a loopfilter parameterYunqing Wang
As pointed out by Dmitry and James, "partial" is a Microsoft- specific c++ keyword, and it is renamed. Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8
2014-01-31Merge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."Dmitry Kovalev
2014-01-31Merge "Renaming "mbskip" to "skip"."Dmitry Kovalev
2014-01-31vp9 decoder: row-based multi-threaded loopfilterYunqing Wang
Implemented parallel loopfiltering, which uses existing tile- decoding threads. Each thread works on one row, and when that row is loopfiltered, it moves to next unattended row. To ensure the correct filtering order, threads are synchronized and one superblock is filtered only if the superblocks it depends on are filtered already. To reduce synchronization overhead and speed up the decoder, we use nsync > 1 for high resolution. Performance tests: 1. on desktop: 8-tile 4k video using 8 threads, speedup: 70% - 80% 4-tile HD video using 4 threads, speedup: ~35% 2. on mobile device(Nexus 7): 4-tile 1080p video using 4 threads, speedup: 18% - 25% 4-tile 1080p video using 2 threads, speedup: 10% - 15% Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a