diff options
author | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-09 05:36:13 +0000 |
---|---|---|
committer | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-09 05:36:13 +0000 |
commit | 215c1a35edef4bb7938358626b17b4ddcd15033b (patch) | |
tree | f7ee261c61ab8656fa14a513c429c71b8da20d4b /media/media.gyp | |
parent | a1be81a89355c279d8c05bfb3dc70e67642326d2 (diff) | |
download | chromium_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.gyp | 55 |
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', |