summaryrefslogtreecommitdiffstats
path: root/third_party/ffmpeg
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-11 16:46:43 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-11 16:46:43 +0000
commitdf9b432c0fed1bd09daa40e3b219489dd0945bfc (patch)
treef1efe0687a921b422a90cfab005baf6ffdcbbd63 /third_party/ffmpeg
parentaeef9efa76f88d0030de2c1055fbe7a92e0d1d13 (diff)
downloadchromium_src-df9b432c0fed1bd09daa40e3b219489dd0945bfc.zip
chromium_src-df9b432c0fed1bd09daa40e3b219489dd0945bfc.tar.gz
chromium_src-df9b432c0fed1bd09daa40e3b219489dd0945bfc.tar.bz2
Revert r18122: "Reapply ffmpeg changes." (it broke the Linux make build).
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18168 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/ffmpeg')
-rw-r--r--third_party/ffmpeg/avcodec-52.sigs18
-rw-r--r--third_party/ffmpeg/avformat-52.sigs12
-rw-r--r--third_party/ffmpeg/avutil-50.sigs9
-rwxr-xr-xthird_party/ffmpeg/ffmpeg.gyp139
-rw-r--r--third_party/ffmpeg/ffmpeg_stub_headers.fragment9
-rwxr-xr-xthird_party/ffmpeg/generate_stubs.py34
-rwxr-xr-xthird_party/ffmpeg/generate_stubs_unittest.py5
7 files changed, 48 insertions, 178 deletions
diff --git a/third_party/ffmpeg/avcodec-52.sigs b/third_party/ffmpeg/avcodec-52.sigs
deleted file mode 100644
index 27b8ef9..0000000
--- a/third_party/ffmpeg/avcodec-52.sigs
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Functions from avcodec used in chromium code.
-
-AVCodec *avcodec_find_decoder(enum CodecID id);
-AVFrame *avcodec_alloc_frame(void);
-int av_get_bits_per_sample_format(enum SampleFormat sample_fmt);
-int av_new_packet(AVPacket *pkt, int size);
-int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, AVPacket *avpkt);
-int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, AVPacket *avpkt);
-int avcodec_open(AVCodecContext *avctx, AVCodec *codec);
-int avcodec_thread_init(AVCodecContext *s, int thread_count);
-void av_free_packet(AVPacket *pkt);
-void av_init_packet(AVPacket *pkt);
-void avcodec_flush_buffers(AVCodecContext *avctx);
-void avcodec_init(void);
diff --git a/third_party/ffmpeg/avformat-52.sigs b/third_party/ffmpeg/avformat-52.sigs
deleted file mode 100644
index 5f7b193..0000000
--- a/third_party/ffmpeg/avformat-52.sigs
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Functions from avformat used in chromium code.
-
-int av_find_stream_info(AVFormatContext *ic);
-int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap);
-int av_read_frame(AVFormatContext *s, AVPacket *pkt);
-int av_register_protocol(URLProtocol *protocol);
-int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags);
-void av_register_all(void);
diff --git a/third_party/ffmpeg/avutil-50.sigs b/third_party/ffmpeg/avutil-50.sigs
deleted file mode 100644
index c83f6fa..0000000
--- a/third_party/ffmpeg/avutil-50.sigs
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Functions from avutil used in chromium code.
-
-int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq);
-void *av_malloc(unsigned int size);
-void av_free(void *ptr);
diff --git a/third_party/ffmpeg/ffmpeg.gyp b/third_party/ffmpeg/ffmpeg.gyp
index 427e541..5a3d706 100755
--- a/third_party/ffmpeg/ffmpeg.gyp
+++ b/third_party/ffmpeg/ffmpeg.gyp
@@ -15,16 +15,8 @@
},
'targets': [
{
- 'variables': {
- 'generate_stubs_script': 'generate_stubs.py',
- 'sig_files': [
- 'avcodec-52.sigs',
- 'avformat-52.sigs',
- 'avutil-50.sigs',
- ],
- 'extra_header': 'ffmpeg_stub_headers.fragment',
- },
'target_name': 'ffmpeg',
+ 'type': 'none',
'msvs_guid': 'D7A94F58-576A-45D9-A45F-EB87C63ABBB0',
'sources': [
'include/libavcodec/avcodec.h',
@@ -51,110 +43,57 @@
'include/libavutil/sha1.h',
'include/win/inttypes.h',
'include/win/stdint.h',
- '<@(sig_files)',
- '<(extra_header)'
],
- 'hard_dependency': 1,
'direct_dependent_settings': {
'include_dirs': [
'include',
],
},
'conditions': [
- ['OS=="win"',
- {
- 'variables': {
- 'outfile_type': 'windows_lib',
- 'output_dir': '<(PRODUCT_DIR)/lib',
- 'intermediate_dir': '<(INTERMEDIATE_DIR)',
- },
- 'type': 'none',
- 'dependencies': [
- 'ffmpeg_binaries',
- ],
- 'sources!': [
- '<(extra_header)',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- 'include/win',
- ],
- 'link_settings': {
- 'libraries': [
- '<(output_dir)/avcodec-52.lib',
- '<(output_dir)/avformat-52.lib',
- '<(output_dir)/avutil-50.lib',
- ],
- },
- },
- 'rules': [
- {
- 'rule_name': 'generate_libs',
- 'extension': 'sigs',
- 'inputs': [
- '<(generate_stubs_script)',
- '<@(sig_files)',
- ],
- 'outputs': [
- '<(output_dir)/<(RULE_INPUT_ROOT).lib',
- ],
- 'action': ['python', '<(generate_stubs_script)',
- '-i', '<(intermediate_dir)',
- '-o', '<(output_dir)',
- '-t', '<(outfile_type)',
- '<@(RULE_INPUT_PATH)',
- ],
- 'message': 'Generating FFmpeg import libraries.',
- },
- ],
- }, { # else OS!="win"
- 'variables': {
- 'outfile_type': 'posix_stubs',
- 'stubs_filename_root': 'ffmpeg_stubs',
- 'project_path': 'third_party/ffmpeg',
- 'intermediate_dir': '<(INTERMEDIATE_DIR)',
- 'output_root': '<(SHARED_INTERMEDIATE_DIR)/ffmpeg',
- },
- 'type': '<(library)',
+ ['OS=="win"', {
+ 'sources': [
+ 'avcodec-52.def',
+ 'avformat-52.def',
+ 'avutil-50.def',
+ ],
+ 'direct_dependent_settings': {
'include_dirs': [
- 'include',
- '<(output_root)',
- '../..', # The chromium 'src' directory.
+ 'include/win',
],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(output_root)',
- '../..', # The chromium 'src' directory.
+ 'link_settings': {
+ 'libraries': [
+ '<(PRODUCT_DIR)/lib/avcodec-52.lib',
+ '<(PRODUCT_DIR)/lib/avformat-52.lib',
+ '<(PRODUCT_DIR)/lib/avutil-50.lib',
],
},
- 'actions': [
- {
- 'action_name': 'generate_stubs',
- 'inputs': [
- '<(generate_stubs_script)',
- '<(extra_header)',
- '<@(sig_files)',
- ],
- 'outputs': [
- '<(intermediate_dir)/<(stubs_filename_root).cc',
- '<(output_root)/<(project_path)/<(stubs_filename_root).h',
- ],
- 'action': ['python',
- '<(generate_stubs_script)',
- '-i', '<(intermediate_dir)',
- '-o', '<(output_root)/<(project_path)',
- '-t', '<(outfile_type)',
- '-e', '<(extra_header)',
- '-s', '<(stubs_filename_root)',
- '-p', '<(project_path)',
- '<@(_inputs)',
+ },
+ 'dependencies': [
+ 'ffmpeg_binaries',
+ '../../build/win/system.gyp:cygwin',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'generate_libs',
+ 'extension': 'def',
+ 'inputs': [
+ 'generate_libs.py',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/lib/<(RULE_INPUT_ROOT).lib',
+ ],
+ 'variables': {
+ 'def_files': [
+ 'avcodec-52.def',
+ 'avformat-52.def',
+ 'avutil-50.def',
],
- 'message': 'Generating FFmpeg stubs for dynamic loading.',
- 'process_outputs_as_sources': 1,
},
- ],
- }
- ],
+ 'action': ['python', '<@(_inputs)', '-o', '<(PRODUCT_DIR)/lib', '<@(RULE_INPUT_PATH)'],
+ 'message': 'Generating import libraries',
+ },
+ ],
+ }],
],
},
{
diff --git a/third_party/ffmpeg/ffmpeg_stub_headers.fragment b/third_party/ffmpeg/ffmpeg_stub_headers.fragment
deleted file mode 100644
index 99abcf7..0000000
--- a/third_party/ffmpeg/ffmpeg_stub_headers.fragment
+++ /dev/null
@@ -1,9 +0,0 @@
-// These are some extra includes needed in the generated stub file for defining
-// various FFmpeg types.
-
-extern "C" {
-
-#include "third_party/ffmpeg/include/libavcodec/avcodec.h"
-#include "third_party/ffmpeg/include/libavformat/avformat.h"
-
-}
diff --git a/third_party/ffmpeg/generate_stubs.py b/third_party/ffmpeg/generate_stubs.py
index 5e37157..6d68144 100755
--- a/third_party/ffmpeg/generate_stubs.py
+++ b/third_party/ffmpeg/generate_stubs.py
@@ -144,18 +144,16 @@ class WindowsLibCreator(object):
logic.
"""
- def __init__(self, module_name, signatures, intermediate_dir, outdir_path):
+ def __init__(self, module_name, signatures, outdir_path):
"""Initializes the WindowsLibCreator for creating a library stub.
Args:
module_name: The name of the module we are writing a stub for.
signatures: The list of signatures to create stubs for.
- intermediate_dir: The directory where the generated .def files should go.
- outdir_path: The directory where generated .lib files should go.
+ outdir_path: The directory that generated files should go into.
"""
self.module_name = module_name
self.signatures = signatures
- self.intermediate_dir = intermediate_dir
self.outdir_path = outdir_path
def DefFilePath(self):
@@ -165,7 +163,7 @@ class WindowsLibCreator(object):
A string with the path to the def file.
"""
# Output file name is in the form "module_name.def".
- return '%s/%s.def' % (self.intermediate_dir, self.module_name)
+ return '%s/%s.def' % (self.outdir_path, self.module_name)
def LibFilePath(self):
"""Generates the path of the lib file for the given module_name.
@@ -577,7 +575,6 @@ void %s();
// Umbrella initializer for all the modules in this stub file.
bool InitializeStubs(const StubPathMap& path_map);
-
} // namespace %s
#endif // %s
@@ -591,17 +588,15 @@ bool InitializeStubs(const StubPathMap& path_map);
outfile: The file handle to populate.
"""
outfile.write('extern "C" {\n')
- outfile.write('\n')
self.WriteFunctionPointers(outfile)
self.WriteStubFunctions(outfile)
- outfile.write('\n')
outfile.write('} // extern "C"\n')
outfile.write('\n')
outfile.write('namespace %s {\n' % namespace)
outfile.write('\n')
self.WriteModuleInitializeFunctions(outfile)
- outfile.write('} // namespace %s\n\n' % namespace)
+ outfile.write('} // namespace %s\n' % namespace)
def WriteFunctionPointers(self, outfile):
"""Write the function pointer declarations needed by the stubs.
@@ -709,11 +704,6 @@ def main():
dest='out_dir',
default=None,
help='Output location.')
- parser.add_option('-i',
- '--intermediate_dir',
- dest='intermediate_dir',
- default=None,
- help='Locaiton of intermediate files.')
parser.add_option('-t',
'--type',
dest='type',
@@ -748,7 +738,7 @@ def main():
if options.out_dir is None:
parser.error('Output location not specified')
- if len(args) == 0:
+ if args:
parser.error('No inputs specified')
if options.type not in [FILE_TYPE_WIN, FILE_TYPE_POSIX_STUB]:
@@ -760,17 +750,10 @@ def main():
if options.path_from_source is None:
parser.error('Path from source needed for %s' % FILE_TYPE_POSIX_STUB)
- # Get the names for the output directory and intermdiate directory.
+ # Make sure output directory exists.
out_dir = RemoveTrailingSlashes(options.out_dir)
- intermediate_dir = RemoveTrailingSlashes(options.intermediate_dir)
- if intermediate_dir is None:
- intermediate_dir = out_dir
-
- # Make sure the directories exists.
if not os.path.exists(out_dir):
os.makedirs(out_dir)
- if not os.path.exists(intermediate_dir):
- os.makedirs(intermediate_dir)
if options.type == FILE_TYPE_WIN:
for input_path in args:
@@ -779,7 +762,7 @@ def main():
infile = open(input_path, 'r')
signatures = ParseSignatures(infile)
module_name = ExtractModuleName(os.path.basename(input_path))
- WindowsLibCreator(module_name, signatures, intermediate_dir, out_dir).CreateLib()
+ WindowsLibCreator(module_name, signatures, out_dir).CreateLib()
finally:
if infile is not None:
infile.close()
@@ -788,7 +771,7 @@ def main():
header_path = PosixStubWriter.HeaderFilePath(options.stubfile_name,
out_dir)
impl_path = PosixStubWriter.ImplementationFilePath(options.stubfile_name,
- intermediate_dir)
+ out_dir)
# Generate some convenience variables for bits of data needed below.
module_names = [ExtractModuleName(path) for path in args]
@@ -808,7 +791,6 @@ def main():
if options.extra_stub_header is not None:
extra_header_file = None
try:
- impl_file.write('\n')
extra_header_file = open(options.extra_stub_header, 'r')
for line in extra_header_file:
impl_file.write(line)
diff --git a/third_party/ffmpeg/generate_stubs_unittest.py b/third_party/ffmpeg/generate_stubs_unittest.py
index b68175e..ccaa35b 100755
--- a/third_party/ffmpeg/generate_stubs_unittest.py
+++ b/third_party/ffmpeg/generate_stubs_unittest.py
@@ -136,15 +136,12 @@ class WindowsLibCreatorUnittest(unittest.TestCase):
self.module_name = 'my_module-1'
self.signatures = [sig[1] for sig in SIMPLE_SIGNATURES]
self.out_dir = 'out_dir'
- self.intermediate_dir = 'intermediate_dir'
self.creator = gs.WindowsLibCreator(self.module_name,
self.signatures,
- self.intermediate_dir,
self.out_dir)
def testDefFilePath(self):
- self.assertEqual('intermediate_dir/my_module-1.def',
- self.creator.DefFilePath())
+ self.assertEqual('out_dir/my_module-1.def', self.creator.DefFilePath())
def testLibFilePath(self):
self.assertEqual('out_dir/my_module-1.lib', self.creator.LibFilePath())