OLD | NEW |
1 This file describes how to produce the FFmpeg include directory, and how to | 1 This file describes how to produce the FFmpeg include directory, and how to |
2 create the ffmpeg.gyp file and related configurations. | 2 create the ffmpeg.gyp file and related configurations. |
3 | 3 |
4 -- FFmpeg headers in the 'include' directory. | 4 -- FFmpeg headers in the 'include' directory. |
5 | 5 |
6 The include directory contains FFmpeg's public header files from the output of | 6 The include directory contains FFmpeg's public header files from the output of |
7 a "make install" command. The header files are from Chromium's copy of FFmpeg. | 7 a "make install" command. The header files are from Chromium's copy of FFmpeg. |
8 | 8 |
9 Steps to reproduce: | 9 Steps to reproduce: |
10 1) If on Windows, refer to our MinGW/MSYS environment setup: | 10 1) If on Windows, refer to our MinGW/MSYS environment setup: |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 on config.h files for other platforms (in particular, for x64) will | 123 on config.h files for other platforms (in particular, for x64) will |
124 likely result in unecessarily slow code, or compile failures. | 124 likely result in unecessarily slow code, or compile failures. |
125 | 125 |
126 4) Next, capture all the output from a build of libavcodec.so and | 126 4) Next, capture all the output from a build of libavcodec.so and |
127 libavformat.so. We will use the build log as a reference for making | 127 libavformat.so. We will use the build log as a reference for making |
128 the ffmpeg.gyp file. | 128 the ffmpeg.gyp file. |
129 | 129 |
130 make libavcodec/libavcodec.so libavformat/libavformat.so \ | 130 make libavcodec/libavcodec.so libavformat/libavformat.so \ |
131 > ffmpeg_build_log 2> ffmpeg_build_err | 131 > ffmpeg_build_log 2> ffmpeg_build_err |
132 | 132 |
| 133 For Mac, replace the ".so" in the files above with ".dylib". |
| 134 |
133 5) Check ffmpeg_build_err to see if there are any significant | 135 5) Check ffmpeg_build_err to see if there are any significant |
134 anomalies. FFmpeg source generates a lot of compiler warnings; it | 136 anomalies. FFmpeg source generates a lot of compiler warnings; it |
135 is safe to ignore those. | 137 is safe to ignore those. |
136 | 138 |
137 6) Examine all non-gcc commands to see if we're missing anything | 139 6) Examine all non-gcc commands to see if we're missing anything |
138 interesting: | 140 interesting: |
139 | 141 |
140 grep -v '^gcc' ffmpeg_build_log | 142 grep -v '^gcc' ffmpeg_build_log |
141 | 143 |
142 There should be yasm commands for assembling two yasm files, but nothing | 144 There should be yasm commands for assembling two yasm files, but nothing |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 grep -v ' -shared ' | | 197 grep -v ' -shared ' | |
196 sed -e "s|.* -o .* \(.*\)$|'source/patched-ffmpeg-mt/\1',|" | | 198 sed -e "s|.* -o .* \(.*\)$|'source/patched-ffmpeg-mt/\1',|" | |
197 sort | 199 sort |
198 | 200 |
199 11) Attempt to build. :) | 201 11) Attempt to build. :) |
200 | 202 |
201 *12) Update the the sources! clause to exclude files that should only be built | 203 *12) Update the the sources! clause to exclude files that should only be built |
202 for Chromium. For this, you basically need to do the steps above once | 204 for Chromium. For this, you basically need to do the steps above once |
203 with the configure options for Chrome, then once with the options for | 205 with the configure options for Chrome, then once with the options for |
204 Chromium and diff the list of .c and .asm source files. | 206 Chromium and diff the list of .c and .asm source files. |
OLD | NEW |