- Jan 30, 2012
-
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Iba9df4c03a508e51c37201c621be43523fae87d9
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: I3f9c07db65eb206f6363d21bdb80e871570da767
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Ie5c1aa480637e98dc3918fb562ff45c37a66c538
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: I6c519ab61e4f4e0ebcc796f2df061f945c48cefe
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: If54eb5cb5d1b0cac6c4c0633a9e99c93ca860ba2
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: I9bfcf9bef65c3d4ba0fb9a3e1532bad1463a10d6
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: I03c4dbf30dfd3558b0e256ff9d3ff4c012aadc80
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Ic8a4047d72ff3a54ec98977dd90e70c13213db71
-
John Koleszar authored
This is a proof of concept RTCD implementation to replace the current system of nested includes, prototypes, INVOKE macros, etc. Currently only the decoder specific functions are implemented in the new system. Additional functions will be added in subsequent commits. Overview: RTCD "functions" are implemented as either a global function pointer or a macro (when only one eligible specialization available). Functions which have RTCD specializations are listed using a simple DSL identifying the function's base name, its prototype, and the architecture extensions that specializations are available for. Advantages over the old system: - No INVOKE macros. A call to an RTCD function looks like an ordinary function call. - No need to pass vtables around. - If there is only one eligible function to call, the function is called directly, rather than indirecting through a function pointer. - Supports the notion of "required" extensions, so in combination with the above, on x86_64 if the best function available is sse2 or lower it will be called directly, since all x86_64 platforms implement sse2. - Elides all references to functions which will never be called, which could reduce binary size. For example if sse2 is required and there are both mmx and sse2 implementations of a certain function, the code will have no link time references to the mmx code. - Significantly easier to add a new function, just one file to edit. Disadvantages: - Requires global writable data (though this is not a new requirement) - 1 new generated source file. Change-Id: Iae6edab65315f79c168485c96872641c5aa09d55
-
- Jan 27, 2012
-
-
John Koleszar authored
Change-Id: Ibf577972e8cd10488d44385ff74f136a07466c0c
-
John Koleszar authored
-
John Koleszar authored
Change-Id: I64472f717e5ef3672e1032b7ee24e73c4d0fff1f
-
John Koleszar authored
Change-Id: I5b0578f126308b4ec65d72553cc247b8e29c21a9
-
John Koleszar authored
Change-Id: Ie7d94a884c81fab4d5dc48833a57ec2283e61fc2
-
John Koleszar authored
Commit 892e23a5 introduced support for the VP8D_GET_LAST_REF_USED, but missed the mapping of the control id to the underlying function, so it was unavailable to applications. In addition, the underlying function vp8_references_buffer() is moved from common/postproc.c to decoder/onyxd_if.c as postproc.c is not built in all configurations. Change-Id: I426dd254e7e6c4c061b70d729b69a6c384ebbe44
-
- Jan 26, 2012
-
-
John Koleszar authored
* changes: Correct clamping in use of vp8_find_near_mvs() Revert "Multithreaded encoder, late sync loopfilter"
-
John Koleszar authored
Commit e06c242b introduced a change to call vp8_find_near_mvs() only once instead of once per reference frame by observing that the only effect that the frame had was on the bias applied to the motion vector. By keeping track of the sign_bias value, the mv to use could be flip-flopped by multiplying its components by -1. This behavior was subtley wrong in the case when clamping was applied to the motion vectors found by vp8_find_near_mvs(). A motion vector could be in-bounds with one sign bias, but out of bounds after inverting the sign, or vice versa. The clamping must match that done by the decoder. This change modifies vp8_find_near_mvs() to remove the clamping from that function. The vp8_pick_inter_mode() and vp8_rd_pick_inter_mode() functions instead track the correctly clamped values for both bias values, switching between them by simple assignment. The common clamping and inversion code is in vp8_find_near_mvs_bias() Change-Id: I17e1a348d1643497eca0be232e2fbe2acf8478e1
-
Attila Nagy authored
Easier to filter out all NEON asm. Change-Id: I0022dae8321a9608e864b09d4181414c5fff4610
-
- Jan 24, 2012
-
-
John Koleszar authored
This commit is incomplete, as it does not synchronize the loop filter before returning a handle to the reconstructed frame in vpx_codec_get_preview_frame(), which can cause (false?) failures when running the test_reconstruct_buffer test. This may be related to a bug that does cause visible artifacts, which is also under investigation. This reverts commit 380d64ec. Change-Id: Iad710941e7731d44fc2bde63bc63d6763cc4629e
-
- Jan 23, 2012
-
-
Fritz Koenig authored
-
- Jan 20, 2012
-
-
Fritz Koenig authored
A processor with ARMv7 instructions does not necessarily have NEON dsp extensions. This CL has the added side effect of allowing the ability to enable/disable the dsp extensions cleanly. Change-Id: Ie1e879b8fe131885bc3d4138a0acc9ffe73a36df
-
Deb Mukherjee authored
-
Deb Mukherjee authored
Makes the thresholds for the multiframe quality enhancement module depend on the difference between the base quantizers. Also modifies the mixing function to weigh the current low quality frame less if the difference in quantizer is large. With the above modifications mfqe works well for both scalable patterns as well as low quality key frames. Change-Id: If24e94f63f3c292f939eea94f627e7ebfb27cb75
-
- Jan 19, 2012
-
-
Jeff Faust authored
-
John Koleszar authored
-
- Jan 18, 2012
-
-
John Koleszar authored
-
John Koleszar authored
The prior commit accidentally used the u plane where it should have used the v plane. Change-Id: Ib6c8443b99061536389f05ac25b8e0a307ace637
-
Jeff Faust authored
Separated a double assignment that looked suspiciously like an assignment and equality typo. Change-Id: I7813979e9d7ea2539afb3c8ae6074f9df5ebdf52
-
Fritz Koenig authored
-
Jim Bankoski authored
-
Fritz Koenig authored
Android.mk file for using the Android NDK build system to compile. Adds option for SDK path to use the compiler that comes with android for testing compiler compliance. Change-Id: I5fd17cb76e3ed631758d3f392e62ae1a050d0d10
-
John Koleszar authored
* changes: rdopt/pickinter: factor out some common setup rdopt: remove unused frame_lf_or_gf
-
Deb Mukherjee authored
Merge "Modifying the base q propagation in the mfqe post processing filter in a way such that when there is a single bad frame, the post-processing is applied not only to just that frame but a few subsequent frames as well."
-
Jim Bankoski authored
Solved by extending the border in the postproc buffer as necessary Change-Id: Ic3f61397fe5bc8e4db6fc78050b0b160bd0aee86
-
Fritz Koenig authored
resize_down_thresh was parsed and set twice. Change-Id: I2685a6c3c825371f79ae94d305bcb50185a12dac
-
- Jan 17, 2012
-
-
Deb Mukherjee authored
filter in a way such that when there is a single bad frame, the post-processing is applied not only to just that frame but a few subsequent frames as well. Change-Id: Iba5d9896eed77244eb76b4a74692a93f8ecff634
-
- Jan 14, 2012
-
-
Adrian Grange authored
When running multi-layer (ML) encodes and dynamically changing coding parameters on the fly (e.g. frame duration/rate, bandwidths allocated to each layer) the encoder would not produce sensible output. In certain cases the rate targeting would be hideously inaccurate. These fixes make it possible to change these coding parameters correctly and to maintain accurate control of the rate targeting. I also added the specification of the input timebase into the test program, vp8_scalable_patterns.c. Patch 2: Moved declaration to appease MS compiler) Change-Id: Ic8bb5a16daa924bb64974e740696e040d07ae363
-
- Jan 11, 2012
-
-
John Koleszar authored
Add new get_predictor_pointers() and get_reference_search_order() functions for code shared between the two implementations. Change-Id: I1ebe76aa8f168b1f5cfabc00d05d8f19a0d4d207
-
John Koleszar authored
This flag was set but unused. Change-Id: Ia079b52b88ffbe3b16fdbde4b84e2b87304eaa13
-
- Jan 10, 2012
-
-
Deb Mukherjee authored
with deblock or demacroblock filters. When --mfqe is used together with --demacroblock or --deblock, mfqe is applied first and then demacroblock/deblock is applied to the mfqe result. Change-Id: Id83ee01f1b4a33a116f071dcf26d59c7f3497c32
-