- 11 Feb, 2012 - 1 commit
-
-
John Koleszar authored
-
- 10 Feb, 2012 - 3 commits
- 09 Feb, 2012 - 1 commit
-
-
Johann authored
In the variance calculations the difference is summed and later squared. When the sum exceeds sqrt(2^31) the value is treated as a negative when it is shifted which gives incorrect results. To fix this we cast the result of the multiplication as unsigned. The alternative fix is to shift sum down by 4 before multiplying. However that will reduce precision. For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and change). PPC change is untested. Change-Id: I1bad27ea0720067def6d71a6da5f789508cec265
-
- 08 Feb, 2012 - 3 commits
-
-
John Koleszar authored
-
KO Myung-Hun authored
Change-Id: I792d5236451905eb20a8ebe444ef5b2274e4f7a4
-
John Koleszar authored
Allow the application to change the frame size during encoding. This is only supported when not using lagged compress. Change-Id: I89b585d703d5fd728a9e3dedf997f1b595d0db0f
-
- 07 Feb, 2012 - 1 commit
-
-
John Koleszar authored
MFQE postproc crashed with stream dimensions not a multiple of 16. The buffer was memset unconditionally, so if the buffer allocation fails we end up trying to write to NULL. This patch traps an allocation failure with vpx_internal_error(), and aligns the buffer dimensions to what vp8_yv12_alloc_frame_buffer() expects. Change-Id: I3915d597cd66886a24f4ef39752751ebe6425066
-
- 06 Feb, 2012 - 3 commits
-
-
Adrian Grange authored
The 5-layer encode must have a keyframe every 16 frames. The KF flag was being reset after the encode of the first frame, which it should not do for the 5-layer case (mode=6). Change-Id: I207d6e689d347fe3fd1075b97a817e82f7ad53b9
-
Adrian Grange authored
-
Yunqing Wang authored
-
- 03 Feb, 2012 - 1 commit
-
-
Yunqing Wang authored
Sometimes, a user doesn't have enough bandwidth to send high-resolution (i.e. HD) video even though the camera catches HD video. This change allowed users to skip highest-resolution encoding by setting that level's target bit rate to 0. To test it, modify the following line in vp8_multi_resolution_encoder.c. unsigned int target_bitrate[NUM_ENCODERS]={1400, 500, 100}; To skip the highest-resolution level, change it to unsigned int target_bitrate[NUM_ENCODERS]={0, 500, 100}; To skip the first and second highest resolution levels, change it to unsigned int target_bitrate[NUM_ENCODERS]={0, 0, 100}; This change also fixed a small problem in mapping, which slightly helped quality and performance. Change-Id: I977bae9a9fbfba85c8be4bd5af01539f2b84bc81
-
- 02 Feb, 2012 - 3 commits
-
-
Scott LaVarnway authored
Change-Id: I05788522e9cde4322cfb12032483bdbf184bdf0b
-
Scott LaVarnway authored
Change-Id: Ieb05270ac332a4cc38ec4b7b995fc0150e0fffdf
-
Scott LaVarnway authored
Change-Id: I10efa441d663fceb6bc97a3bfad518cd3d9a5128
-
- 31 Jan, 2012 - 2 commits
-
-
Scott LaVarnway authored
-
Scott LaVarnway authored
Removed redundancies. All of the information can be found in the MACROBLOCKD structure. Change-Id: I7556392c6f67b43bef2a5e9932180a737466ef93
-
- 30 Jan, 2012 - 14 commits
-
-
John Koleszar authored
This function does not exist. Change-Id: I84b72fb17d572d5cccee92220467b84c15842d4d
-
John Koleszar authored
This is the final commit in the series converting to the new RTCD system. It removes the encoder csystemdependent files and the remaining global function pointers that didn't conform to the old RTCD system. Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. It removes the last of the VP8_ENCODER_RTCD struct references. Change-Id: I2a44f52d7cccf5177e1ca98a028ead570d045395
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Ia5828b7ecc80db55b21916704aa3d54cbb98f625
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Id8a287fdd4bd050ea4452e1582ad85520f3081be
-
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
-
- 27 Jan, 2012 - 7 commits
-
-
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
-
Adrian Grange authored
Added new 2 and 3 layer prediction frame patterns to vp8_scalable_patterns.c and modified the coding parameters. Change-Id: I18798fd7326a79d2ad1e1d5b6c26f5516b6d247f
-
- 26 Jan, 2012 - 1 commit
-
-
John Koleszar authored
* changes: Correct clamping in use of vp8_find_near_mvs() Revert "Multithreaded encoder, late sync loopfilter"
-