summaryrefslogtreecommitdiffstats
path: root/media/base/yuv_convert.cc
Commit message (Collapse)AuthorAgeFilesLines
* Vertical Scaler better pipelined for Atomfbarchard@chromium.org2010-04-231-73/+93
| | | | | | | | | BUG=42064 TEST=sse2 version of scaling should be faster on Atom. No quality change. Review URL: http://codereview.chromium.org/1700010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45431 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 45265 - Speed up vertical filtering using v = a+(ba)*x formulafbarchard@chromium.org2010-04-221-40/+37
| | | | | | | | | | | BUG=42064 TEST=unittests should still pass Review URL: http://codereview.chromium.org/1733004 TBR=jamesr@chromium.org Review URL: http://codereview.chromium.org/1718007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45270 0039d316-1c4b-4281-b951-d872f2087c98
* Speed up vertical filtering using v = a+(b-a)*x formulafbarchard@chromium.org2010-04-211-37/+40
| | | | | | | | BUG=42064 TEST=unittests should still pass Review URL: http://codereview.chromium.org/1733004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45265 0039d316-1c4b-4281-b951-d872f2087c98
* Filter YUV scaling at half size and below with center of pixelfbarchard@chromium.org2010-04-161-0/+3
| | | | | | | | | BUG=19113 TEST=use playerwtl and reduce size to half and turn filtering on/off. Should look better. Review URL: http://codereview.chromium.org/1625017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44760 0039d316-1c4b-4281-b951-d872f2087c98
* fix arm warningsfbarchard@chromium.org2010-04-151-7/+4
| | | | | | | | | BUG=19113 TEST=builds on arm Review URL: http://codereview.chromium.org/1553033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44608 0039d316-1c4b-4281-b951-d872f2087c98
* Make C, MMX and SSE2 all output the same resultsfbarchard@chromium.org2010-04-151-78/+102
| | | | | | | | | BUG=19113,41045 TEST=none. just cleanup and making all platforms produce the same results Review URL: http://codereview.chromium.org/1638008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44591 0039d316-1c4b-4281-b951-d872f2087c98
* fixed compilation problem with disabled SSEsergeyu@chromium.org2010-04-151-1/+1
| | | | | | | | | BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1559032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44584 0039d316-1c4b-4281-b951-d872f2087c98
* Incorrect chroma on the right border fixed.sergeyu@chromium.org2010-04-141-13/+12
| | | | | | | | | BUG=19113 TEST=Right border has correct color Review URL: http://codereview.chromium.org/1518027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44455 0039d316-1c4b-4281-b951-d872f2087c98
* YUV scale clamp horizontal pixels when filteringfbarchard@chromium.org2010-04-141-11/+22
| | | | | | | | | BUG=19113 TEST=scale up by 4x and watch right edge for texel wrap. Review URL: http://codereview.chromium.org/1560032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44437 0039d316-1c4b-4281-b951-d872f2087c98
* include emmintrin for chrome linux to use mmx _m64 types.fbarchard@chromium.org2010-04-131-10/+9
| | | | | | | | | BUG=19113 TEST=build official chrome on linux 32 bit. Review URL: http://codereview.chromium.org/1508031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44318 0039d316-1c4b-4281-b951-d872f2087c98
* Vertical filtering conditional on fraction/scale factorfbarchard@chromium.org2010-04-131-32/+69
| | | | | | | | | BUG=19113 TEST=do large scale factors and look for lines every nth line. Should look smooth and be faster than previously. Review URL: http://codereview.chromium.org/1521023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44307 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed build problem with disabled SSE.sergeyu@chromium.org2010-04-111-2/+2
| | | | | | | | | BUG=19113 TEST=Code builds with disabled SSE. Review URL: http://codereview.chromium.org/1576032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44214 0039d316-1c4b-4281-b951-d872f2087c98
* Optimized version of bilinear video scaler. It is about 2 times faster than ↵sergeyu@chromium.org2010-04-091-33/+122
| | | | | | | | | | | Skia that is currently used for video scaling. BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1556021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44119 0039d316-1c4b-4281-b951-d872f2087c98
* mmx for linux yuv convert function.fbarchard@chromium.org2009-09-011-1/+1
| | | | | | | | | BUG=18449,20718 TEST=play a video on linux without scaling and it should go 4 times faster than with scaling. Review URL: http://codereview.chromium.org/174442 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25001 0039d316-1c4b-4281-b951-d872f2087c98
* Scale function cleaned up white spaces and removed comments that are no ↵fbarchard@chromium.org2009-07-061-86/+29
| | | | | | | | | | longer applicable to this module. Removed openmp support, which is no longer necessary for high performance. Review URL: http://codereview.chromium.org/150143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19971 0039d316-1c4b-4281-b951-d872f2087c98
* YUV with clipping.fbarchard@chromium.org2009-05-181-45/+123
| | | | | | | | | | | | All functions do 2 pixels at a time. 90 and 270 rotations implemented. YV16 refactored. YV12 code accepts a YuvType that allows the same code to support YV16 as well. Special case for half size removed. Special case for doubling added. 3.62 ms versus 8.62 for general purpose code. Review URL: http://codereview.chromium.org/113407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16334 0039d316-1c4b-4281-b951-d872f2087c98
* YUV scaling and conversion refactored into low levels per platform that do a ↵fbarchard@chromium.org2009-05-131-534/+3
| | | | | | | | | | | row and high levels that step thru the image. Low level is implemented in MMX assembly. Mac and Linux use reference code for this version. Review URL: http://codereview.chromium.org/113247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16011 0039d316-1c4b-4281-b951-d872f2087c98
* Lands http://codereview.chromium.org/99349 for Ryan.sky@chromium.org2009-05-041-1/+5
| | | | | | | | | | | | | | Comments from Ryan: Some small changes to get chromium building on ARM. I tested these using the standard Linux tool chain and crosstools-ng. BUG=none TEST=none Review URL: http://codereview.chromium.org/99365 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15241 0039d316-1c4b-4281-b951-d872f2087c98
* YUV to RGB with arbitrary scaling.fbarchard@chromium.org2009-04-211-29/+30
| | | | | | | | | | | Semi-optimized C code achieving 33 ms for 1080 double sized or 9 ms with openmp enabled. Special case half size which is much faster. Future versions will support mirror and perhaps rotate. (mirror is free) Future versions will be MMX assembly for speed. Review URL: http://codereview.chromium.org/67278 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14092 0039d316-1c4b-4281-b951-d872f2087c98
* Add YV16 convertfbarchard@chromium.org2009-04-061-12/+52
| | | | | | Review URL: http://codereview.chromium.org/62015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13155 0039d316-1c4b-4281-b951-d872f2087c98
* TBR=hclamfbarchard@chromium.org2009-03-241-8/+8
| | | | | | | | | Try to fix buildbot for linux Review URL: http://codereview.chromium.org/52036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12334 0039d316-1c4b-4281-b951-d872f2087c98
* This reordering of instructions and use of movzx improved performance on ↵fbarchard@chromium.org2009-03-241-37/+21
| | | | | | | | | pentium4 without impacting performance on core2 architecture. Performance goes from 2.050 ms to 1.742 ms per frame. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12333 0039d316-1c4b-4281-b951-d872f2087c98
* MMX optimized YUV conversion in GCC and Visual C.fbarchard@chromium.org2009-03-231-57/+517
| | | | | | | | Unittest updated with 640x360 image converted offline with same code. Review URL: http://codereview.chromium.org/43003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12292 0039d316-1c4b-4281-b951-d872f2087c98
* Revert tree bustage cause by r11904.hclam@chromium.org2009-03-171-1/+0
| | | | | | TBR=agl git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11906 0039d316-1c4b-4281-b951-d872f2087c98
* andrew's patchhclam@chromium.org2009-03-171-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11904 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-111-1/+0
| | | | | | | | | Normalize end of file newlines in build/ media/ printing/ testing/ and tools/. All files end in a single newline. Review URL: http://codereview.chromium.org/43082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11449 0039d316-1c4b-4281-b951-d872f2087c98
* DCHECK affects performance in release build.fbarchard@chromium.org2009-03-071-0/+7
| | | | | | | | | OFFICIAL_BUILD is okay, but this ifdef makes DCHECK only work in debug. On 720p DCHECK version is 8.14 ms and without, its 2.68 ms Review URL: http://codereview.chromium.org/40245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11191 0039d316-1c4b-4281-b951-d872f2087c98
* YUV conversion code.fbarchard@chromium.org2009-03-061-0/+182
This will be used for reference. Its reasonably simple, fast and high quality. Future versions will be optimized and should try to maintain similar quality. Longer term we may move this to Skia or attempt a hardware version. Review URL: http://codereview.chromium.org/40029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11089 0039d316-1c4b-4281-b951-d872f2087c98