Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: third_party/ffmpeg/ffmpeg.gyp

Issue 2093007: Chromium side changes for enabling VP8 and WebM support. (Closed)
Patch Set: Final fixes Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 # There's a couple key GYP variables that control how FFmpeg is built: 5 # There's a couple key GYP variables that control how FFmpeg is built:
6 # ffmpeg_branding 6 # ffmpeg_branding
7 # Controls whether we build the Chromium or Google Chrome version of 7 # Controls whether we build the Chromium or Google Chrome version of
8 # FFmpeg. The Google Chrome version contains additional codecs. 8 # FFmpeg. The Google Chrome version contains additional codecs.
9 # Typical values are Chromium, Chrome, ChromiumOS, and ChromeOS. 9 # Typical values are Chromium, Chrome, ChromiumOS, and ChromeOS.
10 # use_system_ffmpeg 10 # use_system_ffmpeg
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 'ffmpeg_config%': 'arm-neon', 49 'ffmpeg_config%': 'arm-neon',
50 }, { 50 }, {
51 'ffmpeg_config%': '<(target_arch)', 51 'ffmpeg_config%': '<(target_arch)',
52 }], 52 }],
53 ['target_arch=="x64" or target_arch=="ia32"', { 53 ['target_arch=="x64" or target_arch=="ia32"', {
54 'ffmpeg_asm_lib': 1, 54 'ffmpeg_asm_lib': 1,
55 }], 55 }],
56 ['target_arch=="arm"', { 56 ['target_arch=="arm"', {
57 'ffmpeg_asm_lib': 0, 57 'ffmpeg_asm_lib': 0,
58 }], 58 }],
59
60 # libvpx location.
61 # TODO(scherkus): libvpx_hack_dir is a hack to make -L work on linux.
62 ['OS=="mac" or OS=="win"', {
63 'libvpx_dir': '../libvpx',
64 'libvpx_hack_dir': '../libvpx',
65 }, {
66 'libvpx_dir': '../libvpx',
67 'libvpx_hack_dir': 'third_party/libvpx',
68 }],
59 ], 69 ],
60 'ffmpeg_variant%': '<(target_arch)', 70 'ffmpeg_variant%': '<(target_arch)',
61 71
62 'use_system_ffmpeg%': 0, 72 'use_system_ffmpeg%': 0,
63 'use_system_yasm%': 0, 73 'use_system_yasm%': 0,
64 'build_ffmpegsumo%': 1, 74 'build_ffmpegsumo%': 1,
65 75
66 # Locations for generated artifacts. 76 # Locations for generated artifacts.
67 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/ffmpeg', 77 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/ffmpeg',
68 'asm_library': 'ffmpegasm', 78 'asm_library': 'ffmpegasm',
(...skipping 10 matching lines...) Expand all
79 'source/patched-ffmpeg-mt/libavcodec/avpacket.c', 89 'source/patched-ffmpeg-mt/libavcodec/avpacket.c',
80 'source/patched-ffmpeg-mt/libavcodec/bitstream.c', 90 'source/patched-ffmpeg-mt/libavcodec/bitstream.c',
81 'source/patched-ffmpeg-mt/libavcodec/bitstream_filter.c', 91 'source/patched-ffmpeg-mt/libavcodec/bitstream_filter.c',
82 'source/patched-ffmpeg-mt/libavcodec/dsputil.c', 92 'source/patched-ffmpeg-mt/libavcodec/dsputil.c',
83 'source/patched-ffmpeg-mt/libavcodec/eval.c', 93 'source/patched-ffmpeg-mt/libavcodec/eval.c',
84 'source/patched-ffmpeg-mt/libavcodec/faanidct.c', 94 'source/patched-ffmpeg-mt/libavcodec/faanidct.c',
85 'source/patched-ffmpeg-mt/libavcodec/fft.c', 95 'source/patched-ffmpeg-mt/libavcodec/fft.c',
86 'source/patched-ffmpeg-mt/libavcodec/golomb.c', 96 'source/patched-ffmpeg-mt/libavcodec/golomb.c',
87 'source/patched-ffmpeg-mt/libavcodec/imgconvert.c', 97 'source/patched-ffmpeg-mt/libavcodec/imgconvert.c',
88 'source/patched-ffmpeg-mt/libavcodec/jrevdct.c', 98 'source/patched-ffmpeg-mt/libavcodec/jrevdct.c',
99 'source/patched-ffmpeg-mt/libavcodec/libvpxdec.c',
89 'source/patched-ffmpeg-mt/libavcodec/mdct.c', 100 'source/patched-ffmpeg-mt/libavcodec/mdct.c',
90 'source/patched-ffmpeg-mt/libavcodec/mpeg12data.c', 101 'source/patched-ffmpeg-mt/libavcodec/mpeg12data.c',
91 'source/patched-ffmpeg-mt/libavcodec/mpeg4audio.c', 102 'source/patched-ffmpeg-mt/libavcodec/mpeg4audio.c',
92 'source/patched-ffmpeg-mt/libavcodec/opt.c', 103 'source/patched-ffmpeg-mt/libavcodec/opt.c',
93 'source/patched-ffmpeg-mt/libavcodec/options.c', 104 'source/patched-ffmpeg-mt/libavcodec/options.c',
94 'source/patched-ffmpeg-mt/libavcodec/parser.c', 105 'source/patched-ffmpeg-mt/libavcodec/parser.c',
95 'source/patched-ffmpeg-mt/libavcodec/pthread.c', 106 'source/patched-ffmpeg-mt/libavcodec/pthread.c',
96 'source/patched-ffmpeg-mt/libavcodec/raw.c', 107 'source/patched-ffmpeg-mt/libavcodec/raw.c',
97 'source/patched-ffmpeg-mt/libavcodec/simple_idct.c', 108 'source/patched-ffmpeg-mt/libavcodec/simple_idct.c',
98 'source/patched-ffmpeg-mt/libavcodec/utils.c', 109 'source/patched-ffmpeg-mt/libavcodec/utils.c',
99 'source/patched-ffmpeg-mt/libavcodec/vorbis.c', 110 'source/patched-ffmpeg-mt/libavcodec/vorbis.c',
100 'source/patched-ffmpeg-mt/libavcodec/vorbis_data.c', 111 'source/patched-ffmpeg-mt/libavcodec/vorbis_data.c',
101 'source/patched-ffmpeg-mt/libavcodec/vorbis_dec.c', 112 'source/patched-ffmpeg-mt/libavcodec/vorbis_dec.c',
102 'source/patched-ffmpeg-mt/libavcodec/vp3.c', 113 'source/patched-ffmpeg-mt/libavcodec/vp3.c',
103 'source/patched-ffmpeg-mt/libavcodec/vp3dsp.c', 114 'source/patched-ffmpeg-mt/libavcodec/vp3dsp.c',
104 'source/patched-ffmpeg-mt/libavcodec/xiph.c', 115 'source/patched-ffmpeg-mt/libavcodec/xiph.c',
105 'source/patched-ffmpeg-mt/libavformat/allformats.c', 116 'source/patched-ffmpeg-mt/libavformat/allformats.c',
106 'source/patched-ffmpeg-mt/libavformat/avi.c', 117 'source/patched-ffmpeg-mt/libavformat/avi.c',
107 'source/patched-ffmpeg-mt/libavformat/avio.c', 118 'source/patched-ffmpeg-mt/libavformat/avio.c',
108 'source/patched-ffmpeg-mt/libavformat/aviobuf.c', 119 'source/patched-ffmpeg-mt/libavformat/aviobuf.c',
109 'source/patched-ffmpeg-mt/libavformat/cutils.c', 120 'source/patched-ffmpeg-mt/libavformat/cutils.c',
110 'source/patched-ffmpeg-mt/libavformat/id3v1.c', 121 'source/patched-ffmpeg-mt/libavformat/id3v1.c',
111 'source/patched-ffmpeg-mt/libavformat/isom.c', 122 'source/patched-ffmpeg-mt/libavformat/isom.c',
123 'source/patched-ffmpeg-mt/libavformat/matroska.c',
124 'source/patched-ffmpeg-mt/libavformat/matroskadec.c',
112 'source/patched-ffmpeg-mt/libavformat/metadata.c', 125 'source/patched-ffmpeg-mt/libavformat/metadata.c',
113 'source/patched-ffmpeg-mt/libavformat/metadata_compat.c', 126 'source/patched-ffmpeg-mt/libavformat/metadata_compat.c',
114 'source/patched-ffmpeg-mt/libavformat/oggdec.c', 127 'source/patched-ffmpeg-mt/libavformat/oggdec.c',
115 'source/patched-ffmpeg-mt/libavformat/oggparseogm.c', 128 'source/patched-ffmpeg-mt/libavformat/oggparseogm.c',
116 'source/patched-ffmpeg-mt/libavformat/oggparsetheora.c', 129 'source/patched-ffmpeg-mt/libavformat/oggparsetheora.c',
117 'source/patched-ffmpeg-mt/libavformat/oggparsevorbis.c', 130 'source/patched-ffmpeg-mt/libavformat/oggparsevorbis.c',
118 'source/patched-ffmpeg-mt/libavformat/options.c', 131 'source/patched-ffmpeg-mt/libavformat/options.c',
119 'source/patched-ffmpeg-mt/libavformat/riff.c', 132 'source/patched-ffmpeg-mt/libavformat/riff.c',
133 'source/patched-ffmpeg-mt/libavformat/rm.c',
134 'source/patched-ffmpeg-mt/libavformat/rmdec.c',
120 'source/patched-ffmpeg-mt/libavformat/utils.c', 135 'source/patched-ffmpeg-mt/libavformat/utils.c',
121 'source/patched-ffmpeg-mt/libavformat/vorbiscomment.c', 136 'source/patched-ffmpeg-mt/libavformat/vorbiscomment.c',
122 'source/patched-ffmpeg-mt/libavutil/avstring.c', 137 'source/patched-ffmpeg-mt/libavutil/avstring.c',
138 'source/patched-ffmpeg-mt/libavutil/base64.c',
123 'source/patched-ffmpeg-mt/libavutil/crc.c', 139 'source/patched-ffmpeg-mt/libavutil/crc.c',
124 'source/patched-ffmpeg-mt/libavutil/intfloat_readwrite.c', 140 'source/patched-ffmpeg-mt/libavutil/intfloat_readwrite.c',
125 'source/patched-ffmpeg-mt/libavutil/log.c', 141 'source/patched-ffmpeg-mt/libavutil/log.c',
142 'source/patched-ffmpeg-mt/libavutil/lzo.c',
126 'source/patched-ffmpeg-mt/libavutil/mathematics.c', 143 'source/patched-ffmpeg-mt/libavutil/mathematics.c',
127 'source/patched-ffmpeg-mt/libavutil/mem.c', 144 'source/patched-ffmpeg-mt/libavutil/mem.c',
128 'source/patched-ffmpeg-mt/libavutil/pixdesc.c', 145 'source/patched-ffmpeg-mt/libavutil/pixdesc.c',
129 'source/patched-ffmpeg-mt/libavutil/rational.c', 146 'source/patched-ffmpeg-mt/libavutil/rational.c',
130 # Config file for the OS and architecture. 147 # Config file for the OS and architecture.
131 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)/config.h', 148 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)/config.h',
132 'source/config/libavutil/avconfig.h', 149 'source/config/libavutil/avconfig.h',
133 ], 150 ],
134 'include_dirs': [ 151 'include_dirs': [
135 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)', 152 'source/config/<(ffmpeg_branding)/<(OS)/<(ffmpeg_config)',
136 'source/patched-ffmpeg-mt', 153 'source/patched-ffmpeg-mt',
137 'source/config', 154 'source/config',
155 '<(libvpx_dir)/include',
138 ], 156 ],
139 'defines': [ 157 'defines': [
140 'HAVE_AV_CONFIG_H', 158 'HAVE_AV_CONFIG_H',
141 '_POSIX_C_SOURCE=200112', 159 '_POSIX_C_SOURCE=200112',
142 ], 160 ],
143 'cflags': [ 161 'cflags': [
144 '-fomit-frame-pointer', 162 '-fomit-frame-pointer',
145 ], 163 ],
146 'conditions': [ 164 'conditions': [
147 ['ffmpeg_branding=="Chrome" or ffmpeg_branding=="ChromeOS"', { 165 ['ffmpeg_branding=="Chrome" or ffmpeg_branding=="ChromeOS"', {
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 # Ensure the symbols are exported. 375 # Ensure the symbols are exported.
358 # 376 #
359 # TODO(ajwong): Fix common.gypi to only add this flag for 377 # TODO(ajwong): Fix common.gypi to only add this flag for
360 # _type != shared_library. 378 # _type != shared_library.
361 '-fvisibility=hidden', 379 '-fvisibility=hidden',
362 ], 380 ],
363 'link_settings': { 381 'link_settings': {
364 'ldflags': [ 382 'ldflags': [
365 '-Wl,-Bsymbolic', 383 '-Wl,-Bsymbolic',
366 '-L<(shared_generated_dir)', 384 '-L<(shared_generated_dir)',
385 '-L<(libvpx_hack_dir)/lib/<(OS)/<(target_arch)',
367 ], 386 ],
368 'libraries': [ 387 'libraries': [
369 '-lz', 388 '-lz',
389 '-lvpx',
370 ], 390 ],
371 'conditions': [ 391 'conditions': [
372 ['ffmpeg_asm_lib==1', { 392 ['ffmpeg_asm_lib==1', {
373 'libraries': [ 393 'libraries': [
374 # TODO(ajwong): When scons is dead, collapse this with the 394 # TODO(ajwong): When scons is dead, collapse this with the
375 # absolute path entry inside the OS="mac" conditional, and 395 # absolute path entry inside the OS="mac" conditional, and
376 # move it out of the conditionals block altogether. 396 # move it out of the conditionals block altogether.
377 '-l<(asm_library)', 397 '-l<(asm_library)',
378 ], 398 ],
379 }], 399 }],
380 ], 400 ],
381 }, 401 },
382 }], # OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris " 402 }], # OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris "
383 ['OS=="mac"', { 403 ['OS=="mac"', {
384 'libraries': [ 404 'libraries': [
385 # TODO(ajwong): Move into link_settings when this is fixed: 405 # TODO(ajwong): Move into link_settings when this is fixed:
386 # 406 #
387 # http://code.google.com/p/gyp/issues/detail?id=108 407 # http://code.google.com/p/gyp/issues/detail?id=108
388 '<(shared_generated_dir)/<(STATIC_LIB_PREFIX)<(asm_library)<(STA TIC_LIB_SUFFIX)', 408 '<(shared_generated_dir)/<(STATIC_LIB_PREFIX)<(asm_library)<(STA TIC_LIB_SUFFIX)',
409 '<(libvpx_hack_dir)/lib/<(OS)/<(target_arch)/libvpx.a',
389 ], 410 ],
390 'link_settings': { 411 'link_settings': {
391 'libraries': [ 412 'libraries': [
392 '$(SDKROOT)/usr/lib/libz.dylib', 413 '$(SDKROOT)/usr/lib/libz.dylib',
393 ], 414 ],
394 }, 415 },
395 'xcode_settings': { 416 'xcode_settings': {
396 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # No -fvisibility=hidden 417 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # No -fvisibility=hidden
397 'GCC_DYNAMIC_NO_PIC': 'YES', # -mdynamic-no-pic 418 'GCC_DYNAMIC_NO_PIC': 'YES', # -mdynamic-no-pic
398 # (equiv -fno-PIC) 419 # (equiv -fno-PIC)
399 'DYLIB_INSTALL_NAME_BASE': '@loader_path', 420 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
400 'LIBRARY_SEARCH_PATHS': [ 421 'LIBRARY_SEARCH_PATHS': [
401 '<(shared_generated_dir)' 422 '<(shared_generated_dir)'
402 ], 423 ],
403 'OTHER_LDFLAGS': [ 424 'OTHER_LDFLAGS': [
404 # This is needed because FFmpeg cannot be built as PIC, and 425 # This is needed because FFmpeg cannot be built as PIC, and
405 # thus we need to instruct the linker to allow relocations 426 # thus we need to instruct the linker to allow relocations
406 # for read-only segments for this target to be able to 427 # for read-only segments for this target to be able to
407 # generated the shared library on Mac. 428 # generated the shared library on Mac.
408 # 429 #
409 # This makes Mark sad, but he's okay with it since it is 430 # This makes Mark sad, but he's okay with it since it is
410 # isolated to this module. When Mark finds this in the 431 # isolated to this module. When Mark finds this in the
411 # future, and has forgotten this conversation, this comment 432 # future, and has forgotten this conversation, this comment
412 # should remind him that the world is still nice and 433 # should remind him that the world is still nice and
413 # butterflies still exist...as do rainbows, sunshine, 434 # butterflies still exist...as do rainbows, sunshine,
414 # tulips, etc., etc...but not kittens. Those went away 435 # tulips, etc., etc...but not kittens. Those went away
415 # with this flag. 436 # with this flag.
416 '-Wl,-read_only_relocs,suppress' 437 '-Wl,-read_only_relocs,suppress',
438 '-L<(libvpx_hack_dir)/lib/mac/ia32'
417 ], 439 ],
418 }, 440 },
419 }], # OS=="mac" 441 }], # OS=="mac"
420 ], 442 ],
421 'actions': [ 443 'actions': [
422 { 444 {
423 # Needed to serialize the output of make_ffmpeg_asm_lib with 445 # Needed to serialize the output of make_ffmpeg_asm_lib with
424 # this target being built. 446 # this target being built.
425 'action_name': 'ffmpegasm_barrier', 447 'action_name': 'ffmpegasm_barrier',
426 'inputs': [ 448 'inputs': [
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 ], # conditions 821 ], # conditions
800 }, 822 },
801 ], # targets 823 ], # targets
802 } 824 }
803 825
804 # Local Variables: 826 # Local Variables:
805 # tab-width:2 827 # tab-width:2
806 # indent-tabs-mode:nil 828 # indent-tabs-mode:nil
807 # End: 829 # End:
808 # vim: set expandtab tabstop=2 shiftwidth=2: 830 # vim: set expandtab tabstop=2 shiftwidth=2:
OLDNEW
« no previous file with comments | « net/base/mime_util_unittest.cc ('k') | third_party/ffmpeg/source/config/Chrome/linux/ia32/config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698