OLD | NEW |
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # TODO(fbarchard): Turn off --enable-memalign-hack for all but windows. | 5 # TODO(fbarchard): Turn off --enable-memalign-hack for all but windows. |
6 # TODO(ajwong): Determine if we want to statically link libz. | 6 # TODO(ajwong): Determine if we want to statically link libz. |
7 | 7 |
8 | 8 |
9 | 9 |
10 { | 10 { |
(...skipping 17 matching lines...) Expand all Loading... |
28 }, | 28 }, |
29 'variables': { | 29 'variables': { |
30 # Allow overridding the selection of which FFmpeg binaries to copy via an | 30 # Allow overridding the selection of which FFmpeg binaries to copy via an |
31 # environment variable. Affects the ffmpeg_binaries target. | 31 # environment variable. Affects the ffmpeg_binaries target. |
32 'conditions': [ | 32 'conditions': [ |
33 ['chromeos!=0 or toolkit_views!=0', { | 33 ['chromeos!=0 or toolkit_views!=0', { |
34 'ffmpeg_branding%': '<(branding)OS', | 34 'ffmpeg_branding%': '<(branding)OS', |
35 },{ # else chromeos==0, assume Chrome/Chromium. | 35 },{ # else chromeos==0, assume Chrome/Chromium. |
36 'ffmpeg_branding%': '<(branding)', | 36 'ffmpeg_branding%': '<(branding)', |
37 }], | 37 }], |
| 38 ['armv7==1 and arm_neon==1', { |
| 39 # Need a separate config for arm+neon vs arm |
| 40 'ffmpeg_config%': 'arm-neon', |
| 41 }, { |
| 42 'ffmpeg_config%': '<(target_arch)', |
| 43 }], |
38 ], | 44 ], |
39 'ffmpeg_variant%': '<(target_arch)', | 45 'ffmpeg_variant%': '<(target_arch)', |
40 | 46 |
41 'use_system_ffmpeg%': 0, | 47 'use_system_ffmpeg%': 0, |
42 'use_system_yasm%': 0, | 48 'use_system_yasm%': 0, |
43 | 49 |
44 # Locations for generated artifacts. | 50 # Locations for generated artifacts. |
45 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/ffmpeg', | 51 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/ffmpeg', |
46 'asm_library': 'ffmpegasm', | 52 'asm_library': 'ffmpegasm', |
47 }, | 53 }, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 'source/patched-ffmpeg-mt/libavformat/riff.c', | 130 'source/patched-ffmpeg-mt/libavformat/riff.c', |
125 'source/patched-ffmpeg-mt/libavformat/utils.c', | 131 'source/patched-ffmpeg-mt/libavformat/utils.c', |
126 'source/patched-ffmpeg-mt/libavutil/avstring.c', | 132 'source/patched-ffmpeg-mt/libavutil/avstring.c', |
127 'source/patched-ffmpeg-mt/libavutil/crc.c', | 133 'source/patched-ffmpeg-mt/libavutil/crc.c', |
128 'source/patched-ffmpeg-mt/libavutil/log.c', | 134 'source/patched-ffmpeg-mt/libavutil/log.c', |
129 'source/patched-ffmpeg-mt/libavutil/mathematics.c', | 135 'source/patched-ffmpeg-mt/libavutil/mathematics.c', |
130 'source/patched-ffmpeg-mt/libavutil/mem.c', | 136 'source/patched-ffmpeg-mt/libavutil/mem.c', |
131 'source/patched-ffmpeg-mt/libavutil/pixdesc.c', # TODO(fbarchard): R
eview this file. | 137 'source/patched-ffmpeg-mt/libavutil/pixdesc.c', # TODO(fbarchard): R
eview this file. |
132 'source/patched-ffmpeg-mt/libavutil/rational.c', | 138 'source/patched-ffmpeg-mt/libavutil/rational.c', |
133 # Config file for the OS and architecture. | 139 # Config file for the OS and architecture. |
134 'source/config/<(ffmpeg_branding)/<(OS)/<(target_arch)/config.h', | 140 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)/config.h', |
135 'source/config/libavutil/avconfig.h', | 141 'source/config/libavutil/avconfig.h', |
136 ], | 142 ], |
137 'include_dirs': [ | 143 'include_dirs': [ |
138 'source/config/<(ffmpeg_branding)/<(OS)/<(target_arch)', | 144 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)', |
139 'source/patched-ffmpeg-mt', | 145 'source/patched-ffmpeg-mt', |
140 'source/config', | 146 'source/config', |
141 ], | 147 ], |
142 'defines': [ | 148 'defines': [ |
143 'HAVE_AV_CONFIG_H', | 149 'HAVE_AV_CONFIG_H', |
144 '_POSIX_C_SOURCE=200112', | 150 '_POSIX_C_SOURCE=200112', |
145 ], | 151 ], |
146 'cflags': [ | 152 'cflags': [ |
147 '-fomit-frame-pointer', | 153 '-fomit-frame-pointer', |
148 ], | 154 ], |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 'cflags': [ | 272 'cflags': [ |
267 '-fPIC', | 273 '-fPIC', |
268 ], | 274 ], |
269 }], # target_arch=="x64" | 275 }], # target_arch=="x64" |
270 ['target_arch=="arm"', { | 276 ['target_arch=="arm"', { |
271 'defines': [ | 277 'defines': [ |
272 'PIC', | 278 'PIC', |
273 ], | 279 ], |
274 'cflags': [ | 280 'cflags': [ |
275 '-fPIC', | 281 '-fPIC', |
276 '-march=armv7-a', | |
277 '-mtune=cortex-a8', | |
278 '-mfpu=neon', | |
279 '-mfloat-abi=softfp', | |
280 ], | 282 ], |
281 'sources': [ | 283 'sources': [ |
282 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_arm.S', | 284 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_arm.S', |
283 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_armv6.S', | 285 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_armv6.S', |
284 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_arm.c', | 286 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_arm.c', |
285 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_armv5te.c'
, | 287 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_armv5te.c'
, |
286 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_armv6.c', | 288 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_armv6.c', |
287 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_neon.c', | |
288 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_vfp.c', | 289 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_vfp.c', |
289 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_neon.S', | |
290 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_vfp.S', | 290 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_vfp.S', |
291 'source/patched-ffmpeg-mt/libavcodec/arm/fft_init_arm.c', # TODO
(fbarchard): Review this file. | 291 'source/patched-ffmpeg-mt/libavcodec/arm/fft_init_arm.c', # TODO
(fbarchard): Review this file. |
292 'source/patched-ffmpeg-mt/libavcodec/arm/fft_neon.S', # TODO(fba
rchard): Review this file. | |
293 'source/patched-ffmpeg-mt/libavcodec/arm/jrevdct_arm.S', | 292 'source/patched-ffmpeg-mt/libavcodec/arm/jrevdct_arm.S', |
294 'source/patched-ffmpeg-mt/libavcodec/arm/mdct_neon.S', # TODO(fb
archard): Review this file. | |
295 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_arm.S', | 293 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_arm.S', |
296 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_armv5te.S', | 294 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_armv5te.S', |
297 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_armv6.S', | 295 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_armv6.S', |
298 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_neon.S', | 296 ], |
299 'source/patched-ffmpeg-mt/libavcodec/arm/vp3dsp_neon.S', # TODO(
fbarchard): Review this file. | 297 'conditions': [ |
| 298 ['arm_neon==1', { |
| 299 'sources': [ |
| 300 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_init_neon.c
', |
| 301 'source/patched-ffmpeg-mt/libavcodec/arm/dsputil_neon.S', |
| 302 'source/patched-ffmpeg-mt/libavcodec/arm/fft_neon.S', # TODO
(fbarchard): Review this file. |
| 303 'source/patched-ffmpeg-mt/libavcodec/arm/simple_idct_neon.S'
, |
| 304 'source/patched-ffmpeg-mt/libavcodec/arm/vp3dsp_neon.S', # T
ODO(fbarchard): Review this file. |
| 305 ], |
| 306 }], |
300 ], | 307 ], |
301 }], # target_arch=="arm" | 308 }], # target_arch=="arm" |
302 ['target_arch=="arm" and (ffmpeg_branding=="Chrome" or ffmpeg_brandi
ng=="ChromeOS")', { | 309 ['target_arch=="arm" and (ffmpeg_branding=="Chrome" or ffmpeg_brandi
ng=="ChromeOS")', { |
303 'sources': [ | 310 'sources': [ |
304 # TODO(fbarchard): dsputil_neon code should be used by chromium | 311 # TODO(fbarchard): dsputil_neon code should be used by chromium |
305 # for ogg, but with h264 references only if CONFIG_H264_DECODER | 312 # for ogg, but with h264 references only if CONFIG_H264_DECODER |
306 # is enabled. | 313 # is enabled. |
307 'source/patched-ffmpeg-mt/libavcodec/arm/h264dsp_neon.S', | |
308 'source/patched-ffmpeg-mt/libavcodec/arm/h264idct_neon.S', | |
309 'source/patched-ffmpeg-mt/libavcodec/arm/h264pred_init_arm.c', | 314 'source/patched-ffmpeg-mt/libavcodec/arm/h264pred_init_arm.c', |
310 'source/patched-ffmpeg-mt/libavcodec/arm/h264pred_neon.S', | |
311 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_arm.c', | 315 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_arm.c', |
312 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_armv5te.c', | 316 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_armv5te.c', |
313 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_armv5te_s.S', | 317 'source/patched-ffmpeg-mt/libavcodec/arm/mpegvideo_armv5te_s.S', |
314 ], | 318 ], |
| 319 'conditions': [ |
| 320 ['arm_neon==1', { |
| 321 'sources': [ |
| 322 'source/patched-ffmpeg-mt/libavcodec/arm/h264dsp_neon.S', |
| 323 'source/patched-ffmpeg-mt/libavcodec/arm/h264idct_neon.S', |
| 324 'source/patched-ffmpeg-mt/libavcodec/arm/h264pred_neon.S', |
| 325 ], |
| 326 }], |
| 327 ], |
315 }], | 328 }], |
316 ['target_arch=="arm" and ffmpeg_branding=="ChromeOS"', { | 329 ['target_arch=="arm" and ffmpeg_branding=="ChromeOS"', { |
317 'sources': [ | 330 'sources': [ |
318 'source/patched-ffmpeg-mt/libavcodec/h264_mp4toannexb_bsf.c', | 331 'source/patched-ffmpeg-mt/libavcodec/h264_mp4toannexb_bsf.c', |
319 # TODO(fbarchard): mpeg4video_es_bsf.c requires a patch | 332 # TODO(fbarchard): mpeg4video_es_bsf.c requires a patch |
320 # 'source/patched-ffmpeg-mt/libavcodec/mpeg4video_es_bsf.c', | 333 # 'source/patched-ffmpeg-mt/libavcodec/mpeg4video_es_bsf.c', |
321 ], | 334 ], |
322 }], # target_arch=="arm" and ffmpeg_branding=="ChromeOS" | 335 }], # target_arch=="arm" and ffmpeg_branding=="ChromeOS" |
323 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', { | 336 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', { |
324 'defines': [ | 337 'defines': [ |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
791 ], | 804 ], |
792 }, | 805 }, |
793 ], | 806 ], |
794 } | 807 } |
795 | 808 |
796 # Local Variables: | 809 # Local Variables: |
797 # tab-width:2 | 810 # tab-width:2 |
798 # indent-tabs-mode:nil | 811 # indent-tabs-mode:nil |
799 # End: | 812 # End: |
800 # vim: set expandtab tabstop=2 shiftwidth=2: | 813 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |