summaryrefslogtreecommitdiffstats
path: root/media/media.gyp
diff options
context:
space:
mode:
authorhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-09 05:36:13 +0000
committerhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-09 05:36:13 +0000
commit215c1a35edef4bb7938358626b17b4ddcd15033b (patch)
treef7ee261c61ab8656fa14a513c429c71b8da20d4b /media/media.gyp
parenta1be81a89355c279d8c05bfb3dc70e67642326d2 (diff)
downloadchromium_src-215c1a35edef4bb7938358626b17b4ddcd15033b.zip
chromium_src-215c1a35edef4bb7938358626b17b4ddcd15033b.tar.gz
chromium_src-215c1a35edef4bb7938358626b17b4ddcd15033b.tar.bz2
Implements RGB to YV12 conversions in YASM.
This change implements two conversions (RGB32-to-YV12 and RGB24-to-YV12) in YASM. This change uses 8-bit fixed-point calculation and converts up to four pixels at once. BUG=none TEST=YUVConvertTest.SideBySideRGB Review URL: http://codereview.chromium.org/7003082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100352 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/media.gyp')
-rw-r--r--media/media.gyp55
1 files changed, 55 insertions, 0 deletions
diff --git a/media/media.gyp b/media/media.gyp
index fcc9b53..dfe4bbf 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -380,9 +380,63 @@
},
},
}],
+ [ 'target_arch=="ia32" or target_arch=="x64"', {
+ 'sources': [
+ 'base/simd/convert_rgb_to_yuv_ssse3.asm',
+ ],
+ }],
+ [ 'OS=="win"', {
+ 'variables': {
+ 'yasm_flags': [
+ '-DWIN32',
+ '-DMSVC',
+ '-DCHROMIUM',
+ '-Isimd',
+ ],
+ },
+ }],
+ [ 'OS=="mac"', {
+ 'variables': {
+ 'yasm_flags': [
+ '-DPREFIX',
+ '-DMACHO',
+ '-DCHROMIUM',
+ '-Isimd',
+ ],
+ },
+ }],
+ [ 'OS=="linux"', {
+ 'variables': {
+ 'conditions': [
+ [ 'target_arch=="ia32"', {
+ 'yasm_flags': [
+ '-DX86_32',
+ '-DELF',
+ '-DCHROMIUM',
+ '-Isimd',
+ ],
+ }, {
+ 'yasm_flags': [
+ '-DARCH_X86_64',
+ '-DELF',
+ '-DPIC',
+ '-DCHROMIUM',
+ '-Isimd',
+ ],
+ }],
+ ],
+ },
+ }],
],
'sources': [
'base/yuv_convert_sse2.cc',
+ 'base/simd/convert_rgb_to_yuv.cc',
+ ],
+ 'variables': {
+ 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/media',
+ },
+ 'includes': [
+ '../third_party/yasm/yasm_compile.gypi',
],
},
{
@@ -460,6 +514,7 @@
'base/pts_stream_unittest.cc',
'base/run_all_unittests.cc',
'base/seekable_buffer_unittest.cc',
+ 'base/simd/convert_rgb_to_yuv_unittest.cc',
'base/state_matrix_unittest.cc',
'base/test_data_util.cc',
'base/test_data_util.h',