Skip to content
This repository
Browse code

first commit

  • Loading branch information...
commit ae409fb4a605daefcb214f912ce78cbf75659c6e 0 parents
Petr Havlena authored

Showing 3,306 changed files with 37,405 additions and 0 deletions. Show diff stats Hide diff stats

  1. +2 0  .gitignore
  2. +20 0 AndroidManifest.xml
  3. +2 0  Application.mk
  4. BIN  jni/.DS_Store
  5. BIN  jni/._.DS_Store
  6. BIN  jni/._Android.mk
  7. +26 0 jni/Android.mk
  8. +608 0 jni/Changelog
  9. +11 0 jni/INSTALL
  10. +48 0 jni/LICENSE
  11. +357 0 jni/Makefile
  12. +12 0 jni/README
  13. BIN  jni/android/._android_media_ffmpeg.c
  14. +4,505 0 jni/android/android_media_ffmpeg.c
  15. +36 0 jni/av.mk
  16. +665 0 jni/cmdutils.c
  17. +223 0 jni/cmdutils.h
  18. +13 0 jni/cmdutils_common_opts.h
  19. +109 0 jni/common.mak
  20. +972 0 jni/config-arm.mak
  21. +899 0 jni/config.h
  22. +972 0 jni/config.mak
  23. +15 0 jni/config.sh
  24. +3,124 0 jni/configure
  25. +1 0  jni/external/Android.mk
  26. +9 0 jni/external/faac/.cvsignore
  27. 0  jni/external/faac/AUTHORS
  28. +1 0  jni/external/faac/Android.mk
  29. +482 0 jni/external/faac/COPYING
  30. +2,543 0 jni/external/faac/ChangeLog
  31. +27 0 jni/external/faac/INSTALL
  32. +2 0  jni/external/faac/Makefile.am
  33. 0  jni/external/faac/NEWS
  34. +92 0 jni/external/faac/README
  35. +26 0 jni/external/faac/TODO
  36. +7 0 jni/external/faac/bootstrap
  37. +61 0 jni/external/faac/configure.in
  38. +243 0 jni/external/faac/docs/faac.html
  39. +210 0 jni/external/faac/docs/libfaac.html
  40. BIN  jni/external/faac/docs/libfaac.pdf
  41. +134 0 jni/external/faac/faac.dsw
  42. +13 0 jni/external/faac/frontend/.cvsignore
  43. +7 0 jni/external/faac/frontend/Makefile.am
  44. +123 0 jni/external/faac/frontend/faac.dsp
  45. +62 0 jni/external/faac/frontend/faac.dsw
  46. +35 0 jni/external/faac/frontend/faac.sln
  47. +154 0 jni/external/faac/frontend/faac.vcproj
  48. +136 0 jni/external/faac/frontend/faacgui.dsp
  49. +47 0 jni/external/faac/frontend/faacgui.dsw
  50. +150 0 jni/external/faac/frontend/faacgui.rc
  51. +35 0 jni/external/faac/frontend/faacgui.sln
  52. +163 0 jni/external/faac/frontend/faacgui.vcproj
  53. +756 0 jni/external/faac/frontend/getopt.c
  54. +130 0 jni/external/faac/frontend/getopt.h
  55. +453 0 jni/external/faac/frontend/input.c
  56. +78 0 jni/external/faac/frontend/input.h
  57. +1,276 0 jni/external/faac/frontend/main.c
  58. +428 0 jni/external/faac/frontend/maingui.c
  59. +35 0 jni/external/faac/frontend/resource.h
  60. +1 0  jni/external/faac/include/Makefile.am
  61. +95 0 jni/external/faac/include/faac.h
  62. +122 0 jni/external/faac/include/faaccfg.h
  63. +10 0 jni/external/faac/libfaac/.cvsignore
  64. +15 0 jni/external/faac/libfaac/Android.mk
  65. +8 0 jni/external/faac/libfaac/Makefile.am
  66. +677 0 jni/external/faac/libfaac/aacquant.c
  67. +74 0 jni/external/faac/libfaac/aacquant.h
  68. +381 0 jni/external/faac/libfaac/backpred.c
  69. +51 0 jni/external/faac/libfaac/backpred.h
  70. +960 0 jni/external/faac/libfaac/bitstream.c
  71. +163 0 jni/external/faac/libfaac/bitstream.h
  72. +110 0 jni/external/faac/libfaac/channels.c
  73. +54 0 jni/external/faac/libfaac/channels.h
  74. +183 0 jni/external/faac/libfaac/coder.h
  75. +4 0 jni/external/faac/libfaac/config.h
  76. +259 0 jni/external/faac/libfaac/fft.c
  77. +41 0 jni/external/faac/libfaac/fft.h
  78. +578 0 jni/external/faac/libfaac/filtbank.c
  79. +68 0 jni/external/faac/libfaac/filtbank.h
  80. +1,059 0 jni/external/faac/libfaac/frame.c
  81. +160 0 jni/external/faac/libfaac/frame.h
  82. +955 0 jni/external/faac/libfaac/huffman.c
  83. +89 0 jni/external/faac/libfaac/huffman.h
  84. +331 0 jni/external/faac/libfaac/hufftab.h
  85. +12 0 jni/external/faac/libfaac/libfaac.def
  86. +206 0 jni/external/faac/libfaac/libfaac.dsp
  87. +200 0 jni/external/faac/libfaac/libfaac.vcproj
  88. +223 0 jni/external/faac/libfaac/libfaac_dll.dsp
  89. +29 0 jni/external/faac/libfaac/libfaac_dll.dsw
  90. +21 0 jni/external/faac/libfaac/libfaac_dll.sln
  91. +230 0 jni/external/faac/libfaac/libfaac_dll.vcproj
  92. +420 0 jni/external/faac/libfaac/ltp.c
  93. +42 0 jni/external/faac/libfaac/ltp.h
  94. +169 0 jni/external/faac/libfaac/midside.c
  95. +40 0 jni/external/faac/libfaac/midside.h
  96. +85 0 jni/external/faac/libfaac/psych.h
  97. +450 0 jni/external/faac/libfaac/psychkni.c
  98. +609 0 jni/external/faac/libfaac/tns.c
  99. +50 0 jni/external/faac/libfaac/tns.h
  100. +94 0 jni/external/faac/libfaac/util.c
  101. +59 0 jni/external/faac/libfaac/util.h
  102. +8 0 jni/external/faac/libfaac/version.h
  103. +8 0 jni/external/faac/plugins/aac_acm/StdAfx.cpp
  104. +24 0 jni/external/faac/plugins/aac_acm/StdAfx.h
  105. +192 0 jni/external/faac/plugins/aac_acm/aac_acm.cpp
  106. +5 0 jni/external/faac/plugins/aac_acm/aac_acm.def
  107. +140 0 jni/external/faac/plugins/aac_acm/aac_acm.dsp
  108. +59 0 jni/external/faac/plugins/aac_acm/aac_acm.dsw
  109. +80 0 jni/external/faac/plugins/aac_acm/aac_acm.inf
  110. +35 0 jni/external/faac/plugins/aac_acm/aac_acm.sln
  111. +177 0 jni/external/faac/plugins/aac_acm/aac_acm.vcproj
  112. +669 0 jni/external/faac/plugins/aac_acm/codec.cpp
  113. +71 0 jni/external/faac/plugins/aac_acm/codec.h
  114. +178 0 jni/external/faac/plugins/aac_acm/msacmdrv.h
  115. +13 0 jni/external/faac/plugins/cooledit/.cvsignore
  116. BIN  jni/external/faac/plugins/cooledit/AudioCoding.bmp
  117. +366 0 jni/external/faac/plugins/cooledit/CRegistry.cpp
  118. +58 0 jni/external/faac/plugins/cooledit/CRegistry.h
  119. +537 0 jni/external/faac/plugins/cooledit/Cfaac.cpp
  120. +130 0 jni/external/faac/plugins/cooledit/Cfaac.h
  121. +673 0 jni/external/faac/plugins/cooledit/Cfaad.cpp
  122. +174 0 jni/external/faac/plugins/cooledit/Cfaad.h
  123. +339 0 jni/external/faac/plugins/cooledit/Copying
  124. BIN  jni/external/faac/plugins/cooledit/Email.bmp
  125. +18 0 jni/external/faac/plugins/cooledit/FAAC.def
  126. +184 0 jni/external/faac/plugins/cooledit/FAAC.dsp
  127. +74 0 jni/external/faac/plugins/cooledit/FAAC.dsw
  128. +239 0 jni/external/faac/plugins/cooledit/FAAC.rc
  129. +49 0 jni/external/faac/plugins/cooledit/FAAC.sln
  130. +198 0 jni/external/faac/plugins/cooledit/FAAC.vcproj
  131. +503 0 jni/external/faac/plugins/cooledit/Faac.cpp
  132. +377 0 jni/external/faac/plugins/cooledit/Faad.cpp
  133. +110 0 jni/external/faac/plugins/cooledit/Main.cpp
  134. +32 0 jni/external/faac/plugins/cooledit/Readme.txt
  135. +21 0 jni/external/faac/plugins/cooledit/Structs.h
  136. +48 0 jni/external/faac/plugins/cooledit/TypeDef.h
  137. +112 0 jni/external/faac/plugins/cooledit/aacInfoLib.dsp
  138. +29 0 jni/external/faac/plugins/cooledit/aacInfoLib.dsw
  139. +128 0 jni/external/faac/plugins/cooledit/aacInfoLib.vcproj
  140. +44 0 jni/external/faac/plugins/cooledit/defines.h
  141. +121 0 jni/external/faac/plugins/cooledit/filters.h
  142. BIN  jni/external/faac/plugins/cooledit/mpeg4ip-v.bmp
  143. +49 0 jni/external/faac/plugins/cooledit/resource.h
  144. +805 0 jni/external/faac/plugins/foo_faac/foo_faac.cpp
  145. +116 0 jni/external/faac/plugins/foo_faac/foo_faac.dsp
  146. +125 0 jni/external/faac/plugins/foo_faac/foo_faac.dsw
  147. +121 0 jni/external/faac/plugins/foo_faac/foo_faac.rc
  148. +28 0 jni/external/faac/plugins/foo_faac/resource.h
  149. +13 0 jni/external/faac/plugins/winamp/.cvsignore
  150. BIN  jni/external/faac/plugins/winamp/AudioCoding.bmp
Sorry, we could not display the entire diff because too many files (3,306) changed.
2  .gitignore
... ... @@ -0,0 +1,2 @@
  1 +.DS_Store
  2 +._.DS_Store
20 AndroidManifest.xml
... ... @@ -0,0 +1,20 @@
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3 + package="cz.havlena.ffmpeg.ui"
  4 + android:versionCode="1"
  5 + android:versionName="1.0">
  6 + <application android:icon="@drawable/icon" android:label="@string/app_name">
  7 + <activity android:name=".FFMpegActivity"
  8 + android:label="@string/app_name"
  9 + android:screenOrientation="portrait">
  10 + <intent-filter>
  11 + <action android:name="android.intent.action.MAIN" />
  12 + <category android:name="android.intent.category.LAUNCHER" />
  13 + </intent-filter>
  14 + </activity>
  15 +
  16 + </application>
  17 + <uses-sdk android:minSdkVersion="4" />
  18 + <uses-permission android:name="android.permission.WAKE_LOCK"/>
  19 + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  20 +</manifest>
2  Application.mk
... ... @@ -0,0 +1,2 @@
  1 +APP_PROJECT_PATH := $(call my-dir)
  2 +APP_MODULES := libavcodec libavformat libavutil libpostproc libswscale libfaac libffmpeg_jni
BIN  jni/.DS_Store
Binary file not shown
0  jni/.DS_Store
Sorry, we could not display the changes to this file because there were too many other changes to display.
BIN  jni/._.DS_Store
Binary file not shown
0  jni/._.DS_Store
Sorry, we could not display the changes to this file because there were too many other changes to display.
0  jni/._Android.mk
Sorry, we could not display the changes to this file because there were too many other changes to display.
BIN  jni/._Android.mk
Binary file not shown
26 jni/Android.mk
... ... @@ -0,0 +1,26 @@
  1 +LOCAL_PATH := $(call my-dir)
  2 +include $(CLEAR_VARS)
  3 +
  4 +LOCAL_SRC_FILES := ffmpeg.c cmdutils.c
  5 +
  6 +LOCAL_STATIC_LIBRARIES := libavcodec libavformat libavutil libpostproc libswscale
  7 +
  8 +LOCAL_MODULE := ffmpeg
  9 +
  10 +include $(BUILD_EXECUTABLE)
  11 +
  12 +# build android native lib
  13 +include $(CLEAR_VARS)
  14 +
  15 +LOCAL_SRC_FILES := android/android_media_ffmpeg.c cmdutils.c
  16 +
  17 +LOCAL_LDLIBS := -llog
  18 +LOCAL_STATIC_LIBRARIES := libavcodec libavformat libavutil libpostproc libswscale
  19 +
  20 +LOCAL_MODULE := libffmpeg_jni
  21 +
  22 +include $(BUILD_SHARED_LIBRARY)
  23 +
  24 +# build libs
  25 +include $(CLEAR_VARS)
  26 +include $(call all-makefiles-under,$(LOCAL_PATH))
608 jni/Changelog
... ... @@ -0,0 +1,608 @@
  1 +Entries are sorted chronologically from oldest to youngest within each release,
  2 +releases are sorted from youngest to oldest.
  3 +
  4 +
  5 +version <next>:
  6 +
  7 +- WebM support in Matroska de/muxer
  8 +- low overhead Ogg muxing
  9 +- MMS-TCP support
  10 +- VP8 de/encoding via libvpx
  11 +- CODEC_CAP_EXPERIMENTAL added
  12 +- Demuxer for On2's IVF format
  13 +- Pictor/PC Paint decoder
  14 +- HE-AAC v2 decoder
  15 +- libfaad2 wrapper removed
  16 +
  17 +
  18 +
  19 +version 0.6:
  20 +
  21 +- PB-frame decoding for H.263
  22 +- deprecated vhook subsystem removed
  23 +- deprecated old scaler removed
  24 +- VQF demuxer
  25 +- Alpha channel scaler
  26 +- PCX encoder
  27 +- RTP packetization of H.263
  28 +- RTP packetization of AMR
  29 +- RTP depacketization of Vorbis
  30 +- CorePNG decoding support
  31 +- Cook multichannel decoding support
  32 +- introduced avlanguage helpers in libavformat
  33 +- 8088flex TMV demuxer and decoder
  34 +- per-stream language-tags extraction in asfdec
  35 +- V210 decoder and encoder
  36 +- remaining GPL parts in AC-3 decoder converted to LGPL
  37 +- QCP demuxer
  38 +- SoX native format muxer and demuxer
  39 +- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
  40 +- DPX image decoder
  41 +- Electronic Arts Madcow decoder
  42 +- DivX (XSUB) subtitle encoder
  43 +- nonfree libamr support for AMR-NB/WB decoding/encoding removed
  44 +- experimental AAC encoder
  45 +- RTP depacketization of ASF and RTSP from WMS servers
  46 +- RTMP support in libavformat
  47 +- noX handling for OPT_BOOL X options
  48 +- Wave64 demuxer
  49 +- IEC-61937 compatible Muxer
  50 +- TwinVQ decoder
  51 +- Bluray (PGS) subtitle decoder
  52 +- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
  53 +- WMA Pro decoder
  54 +- Core Audio Format demuxer
  55 +- Atrac1 decoder
  56 +- MD STUDIO audio demuxer
  57 +- RF64 support in WAV demuxer
  58 +- MPEG-4 Audio Lossless Coding (ALS) decoder
  59 +- -formats option split into -formats, -codecs, -bsfs, and -protocols
  60 +- IV8 demuxer
  61 +- CDG demuxer and decoder
  62 +- R210 decoder
  63 +- Auravision Aura 1 and 2 decoders
  64 +- Deluxe Paint Animation playback system
  65 +- SIPR decoder
  66 +- Adobe Filmstrip muxer and demuxer
  67 +- RTP depacketization of H.263
  68 +- Bink demuxer and audio/video decoders
  69 +- enable symbol versioning by default for linkers that support it
  70 +- IFF PBM/ILBM bitmap decoder
  71 +- concat protocol
  72 +- Indeo 5 decoder
  73 +- RTP depacketization of AMR
  74 +- WMA Voice decoder
  75 +- ffprobe tool
  76 +- AMR-NB decoder
  77 +- RTSP muxer
  78 +- HE-AAC v1 decoder
  79 +- Kega Game Video (KGV1) decoder
  80 +- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
  81 +- RTP depacketization of Theora
  82 +- HTTP Digest authentication
  83 +- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
  84 +- Psygnosis YOP demuxer and video decoder
  85 +- spectral extension support in the E-AC-3 decoder
  86 +- unsharp video filter
  87 +- RTP hinting in the mov/3gp/mp4 muxer
  88 +- Dirac in Ogg demuxing
  89 +- seek to keyframes in Ogg
  90 +- 4:2:2 and 4:4:4 Theora decoding
  91 +- 35% faster VP3/Theora decoding
  92 +- faster AAC decoding
  93 +- faster H.264 decoding
  94 +- RealAudio 1.0 (14.4K) encoder
  95 +
  96 +
  97 +
  98 +version 0.5:
  99 +
  100 +- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
  101 +- TechSmith Camtasia (TSCC) video decoder
  102 +- IBM Ultimotion (ULTI) video decoder
  103 +- Sierra Online audio file demuxer and decoder
  104 +- Apple QuickDraw (qdrw) video decoder
  105 +- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
  106 +- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
  107 +- Miro VideoXL (VIXL) video decoder
  108 +- H.261 video encoder
  109 +- QPEG video decoder
  110 +- Nullsoft Video (NSV) file demuxer
  111 +- Shorten audio decoder
  112 +- LOCO video decoder
  113 +- Apple Lossless Audio Codec (ALAC) decoder
  114 +- Winnov WNV1 video decoder
  115 +- Autodesk Animator Studio Codec (AASC) decoder
  116 +- Indeo 2 video decoder
  117 +- Fraps FPS1 video decoder
  118 +- Snow video encoder/decoder
  119 +- Sonic audio encoder/decoder
  120 +- Vorbis audio decoder
  121 +- Macromedia ADPCM decoder
  122 +- Duck TrueMotion 2 video decoder
  123 +- support for decoding FLX and DTA extensions in FLIC files
  124 +- H.264 custom quantization matrices support
  125 +- ffserver fixed, it should now be usable again
  126 +- QDM2 audio decoder
  127 +- Real Cooker audio decoder
  128 +- TrueSpeech audio decoder
  129 +- WMA2 audio decoder fixed, now all files should play correctly
  130 +- RealAudio 14.4 and 28.8 decoders fixed
  131 +- JPEG-LS decoder
  132 +- build system improvements
  133 +- tabs and trailing whitespace removed from the codebase
  134 +- CamStudio video decoder
  135 +- AIFF/AIFF-C audio format, encoding and decoding
  136 +- ADTS AAC file reading and writing
  137 +- Creative VOC file reading and writing
  138 +- American Laser Games multimedia (*.mm) playback system
  139 +- Zip Motion Blocks Video decoder
  140 +- improved Theora/VP3 decoder
  141 +- True Audio (TTA) decoder
  142 +- AVS demuxer and video decoder
  143 +- JPEG-LS encoder
  144 +- Smacker demuxer and decoder
  145 +- NuppelVideo/MythTV demuxer and RTjpeg decoder
  146 +- KMVC decoder
  147 +- MPEG-2 intra VLC support
  148 +- MPEG-2 4:2:2 encoder
  149 +- Flash Screen Video decoder
  150 +- GXF demuxer
  151 +- Chinese AVS decoder
  152 +- GXF muxer
  153 +- MXF demuxer
  154 +- VC-1/WMV3/WMV9 video decoder
  155 +- MacIntel support
  156 +- AVISynth support
  157 +- VMware video decoder
  158 +- VP5 video decoder
  159 +- VP6 video decoder
  160 +- WavPack lossless audio decoder
  161 +- Targa (.TGA) picture decoder
  162 +- Vorbis audio encoder
  163 +- Delphine Software .cin demuxer/audio and video decoder
  164 +- Tiertex .seq demuxer/video decoder
  165 +- MTV demuxer
  166 +- TIFF picture encoder and decoder
  167 +- GIF picture decoder
  168 +- Intel Music Coder decoder
  169 +- Zip Motion Blocks Video encoder
  170 +- Musepack decoder
  171 +- Flash Screen Video encoder
  172 +- Theora encoding via libtheora
  173 +- BMP encoder
  174 +- WMA encoder
  175 +- GSM-MS encoder and decoder
  176 +- DCA decoder
  177 +- DXA demuxer and decoder
  178 +- DNxHD decoder
  179 +- Gamecube movie (.THP) playback system
  180 +- Blackfin optimizations
  181 +- Interplay C93 demuxer and video decoder
  182 +- Bethsoft VID demuxer and video decoder
  183 +- CRYO APC demuxer
  184 +- Atrac3 decoder
  185 +- V.Flash PTX decoder
  186 +- RoQ muxer, RoQ audio encoder
  187 +- Renderware TXD demuxer and decoder
  188 +- extern C declarations for C++ removed from headers
  189 +- sws_flags command line option
  190 +- codebook generator
  191 +- RoQ video encoder
  192 +- QTRLE encoder
  193 +- OS/2 support removed and restored again
  194 +- AC-3 decoder
  195 +- NUT muxer
  196 +- additional SPARC (VIS) optimizations
  197 +- Matroska muxer
  198 +- slice-based parallel H.264 decoding
  199 +- Monkey's Audio demuxer and decoder
  200 +- AMV audio and video decoder
  201 +- DNxHD encoder
  202 +- H.264 PAFF decoding
  203 +- Nellymoser ASAO decoder
  204 +- Beam Software SIFF demuxer and decoder
  205 +- libvorbis Vorbis decoding removed in favor of native decoder
  206 +- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
  207 +- Ogg (Theora, Vorbis and FLAC) muxer
  208 +- The "device" muxers and demuxers are now in a new libavdevice library
  209 +- PC Paintbrush PCX decoder
  210 +- Sun Rasterfile decoder
  211 +- TechnoTrend PVA demuxer
  212 +- Linux Media Labs MPEG-4 (LMLM4) demuxer
  213 +- AVM2 (Flash 9) SWF muxer
  214 +- QT variant of IMA ADPCM encoder
  215 +- VFW grabber
  216 +- iPod/iPhone compatible mp4 muxer
  217 +- Mimic decoder
  218 +- MSN TCP Webcam stream demuxer
  219 +- RL2 demuxer / decoder
  220 +- IFF demuxer
  221 +- 8SVX audio decoder
  222 +- non-recursive Makefiles
  223 +- BFI demuxer
  224 +- MAXIS EA XA (.xa) demuxer / decoder
  225 +- BFI video decoder
  226 +- OMA demuxer
  227 +- MLP/TrueHD decoder
  228 +- Electronic Arts CMV decoder
  229 +- Motion Pixels Video decoder
  230 +- Motion Pixels MVI demuxer
  231 +- removed animated GIF decoder/demuxer
  232 +- D-Cinema audio muxer
  233 +- Electronic Arts TGV decoder
  234 +- Apple Lossless Audio Codec (ALAC) encoder
  235 +- AAC decoder
  236 +- floating point PCM encoder/decoder
  237 +- MXF muxer
  238 +- DV100 AKA DVCPRO HD decoder and demuxer
  239 +- E-AC-3 support added to AC-3 decoder
  240 +- Nellymoser ASAO encoder
  241 +- ASS and SSA demuxer and muxer
  242 +- liba52 wrapper removed
  243 +- SVQ3 watermark decoding support
  244 +- Speex decoding via libspeex
  245 +- Electronic Arts TGQ decoder
  246 +- RV40 decoder
  247 +- QCELP / PureVoice decoder
  248 +- RV30 decoder
  249 +- hybrid WavPack support
  250 +- R3D REDCODE demuxer
  251 +- ALSA support for playback and record
  252 +- Electronic Arts TQI decoder
  253 +- OpenJPEG based JPEG 2000 decoder
  254 +- NC (NC4600) camera file demuxer
  255 +- Gopher client support
  256 +- MXF D-10 muxer
  257 +- generic metadata API
  258 +
  259 +
  260 +
  261 +version 0.4.9-pre1:
  262 +
  263 +- DV encoder, DV muxer
  264 +- Microsoft RLE video decoder
  265 +- Microsoft Video-1 decoder
  266 +- Apple Animation (RLE) decoder
  267 +- Apple Graphics (SMC) decoder
  268 +- Apple Video (RPZA) decoder
  269 +- Cinepak decoder
  270 +- Sega FILM (CPK) file demuxer
  271 +- Westwood multimedia support (VQA & AUD files)
  272 +- Id Quake II CIN playback support
  273 +- 8BPS video decoder
  274 +- FLIC playback support
  275 +- RealVideo 2.0 (RV20) decoder
  276 +- Duck TrueMotion v1 (DUCK) video decoder
  277 +- Sierra VMD demuxer and video decoder
  278 +- MSZH and ZLIB decoder support
  279 +- SVQ1 video encoder
  280 +- AMR-WB support
  281 +- PPC optimizations
  282 +- rate distortion optimal cbp support
  283 +- rate distorted optimal ac prediction for MPEG-4
  284 +- rate distorted optimal lambda->qp support
  285 +- AAC encoding with libfaac
  286 +- Sunplus JPEG codec (SP5X) support
  287 +- use Lagrange multipler instead of QP for ratecontrol
  288 +- Theora/VP3 decoding support
  289 +- XA and ADX ADPCM codecs
  290 +- export MPEG-2 active display area / pan scan
  291 +- Add support for configuring with IBM XLC
  292 +- floating point AAN DCT
  293 +- initial support for zygo video (not complete)
  294 +- RGB ffv1 support
  295 +- new audio/video parser API
  296 +- av_log() system
  297 +- av_read_frame() and av_seek_frame() support
  298 +- missing last frame fixes
  299 +- seek by mouse in ffplay
  300 +- noise reduction of DCT coefficients
  301 +- H.263 OBMC & 4MV support
  302 +- H.263 alternative inter vlc support
  303 +- H.263 loop filter
  304 +- H.263 slice structured mode
  305 +- interlaced DCT support for MPEG-2 encoding
  306 +- stuffing to stay above min_bitrate
  307 +- MB type & QP visualization
  308 +- frame stepping for ffplay
  309 +- interlaced motion estimation
  310 +- alternate scantable support
  311 +- SVCD scan offset support
  312 +- closed GOP support
  313 +- SSE2 FDCT
  314 +- quantizer noise shaping
  315 +- G.726 ADPCM audio codec
  316 +- MS ADPCM encoding
  317 +- multithreaded/SMP motion estimation
  318 +- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
  319 +- multithreaded/SMP decoding for MPEG-2
  320 +- FLAC decoder
  321 +- Metrowerks CodeWarrior suppport
  322 +- H.263+ custom pcf support
  323 +- nicer output for 'ffmpeg -formats'
  324 +- Matroska demuxer
  325 +- SGI image format, encoding and decoding
  326 +- H.264 loop filter support
  327 +- H.264 CABAC support
  328 +- nicer looking arrows for the motion vector visualization
  329 +- improved VCD support
  330 +- audio timestamp drift compensation
  331 +- MPEG-2 YUV 422/444 support
  332 +- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
  333 +- better image scaling
  334 +- H.261 support
  335 +- correctly interleave packets during encoding
  336 +- VIS optimized motion compensation
  337 +- intra_dc_precision>0 encoding support
  338 +- support reuse of motion vectors/MB types/field select values of the source video
  339 +- more accurate deblock filter
  340 +- padding support
  341 +- many optimizations and bugfixes
  342 +- FunCom ISS audio file demuxer and according ADPCM decoding
  343 +
  344 +
  345 +
  346 +version 0.4.8:
  347 +
  348 +- MPEG-2 video encoding (Michael)
  349 +- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
  350 +- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
  351 + and Mario Brito)
  352 +- Xan DPCM audio decoder (Mario Brito)
  353 +- Interplay MVE playback subsystem (Mike Melanson)
  354 +- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
  355 +
  356 +
  357 +
  358 +version 0.4.7:
  359 +
  360 +- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
  361 + (originally from public domain player for Amiga at http://www.honeypot.net/audio)
  362 +- current version now also compiles with older GCC (Fabrice)
  363 +- 4X multimedia playback system including 4xm file demuxer (Mike
  364 + Melanson), and 4X video and audio codecs (Michael)
  365 +- Creative YUV (CYUV) decoder (Mike Melanson)
  366 +- FFV1 codec (our very simple lossless intra only codec, compresses much better
  367 + than HuffYUV) (Michael)
  368 +- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
  369 +- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
  370 + alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
  371 +- ffplay has been replaced with a newer version which uses SDL (optionally)
  372 + for multiplatform support (Fabrice)
  373 +- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
  374 + by anonymous
  375 +- AMR format has been added (Johannes Carlsson)
  376 +- 3GP support has been added (Johannes Carlsson)
  377 +- VP3 codec has been added (Mike Melanson)
  378 +- more MPEG-1/2 fixes
  379 +- better multiplatform support, MS Visual Studio fixes (various)
  380 +- AltiVec optimizations (Magnus Damn and others)
  381 +- SH4 processor support has been added (BERO)
  382 +- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
  383 +- VOB streaming support (Brian Foley)
  384 +- better MP3 autodetection (Andriy Rysin)
  385 +- qpel encoding (Michael)
  386 +- 4mv+b frames encoding finally fixed (Michael)
  387 +- chroma ME (Michael)
  388 +- 5 comparison functions for ME (Michael)
  389 +- B-frame encoding speedup (Michael)
  390 +- WMV2 codec (unfinished - Michael)
  391 +- user specified diamond size for EPZS (Michael)
  392 +- Playstation STR playback subsystem, still experimental (Mike and Michael)
  393 +- ASV2 codec (Michael)
  394 +- CLJR decoder (Alex)
  395 +
  396 +.. And lots more new enhancements and fixes.
  397 +
  398 +
  399 +
  400 +version 0.4.6:
  401 +
  402 +- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
  403 + from scratch
  404 +- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
  405 +- fix quantization bug in AC3 encoder
  406 +- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
  407 +- added prototype ffplay program
  408 +- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
  409 +- bug fix on MCBPC tables of H.263 (Juanjo)
  410 +- bug fix on DC coefficients of H.263 (Juanjo)
  411 +- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
  412 +- now we can decode H.263 streams found in QuickTime files (Juanjo)
  413 +- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
  414 +- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
  415 +- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
  416 +- now H.263 picture size is returned on the first decoded frame (Juanjo)
  417 +- added first regression tests
  418 +- added MPEG-2 TS demuxer
  419 +- new demux API for libav
  420 +- more accurate and faster IDCT (Michael)
  421 +- faster and entropy-controlled motion search (Michael)
  422 +- two pass video encoding (Michael)
  423 +- new video rate control (Michael)
  424 +- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
  425 +- great performance improvement of video encoders and decoders (Michael)
  426 +- new and faster bit readers and vlc parsers (Michael)
  427 +- high quality encoding mode: tries all macroblock/VLC types (Michael)
  428 +- added DV video decoder
  429 +- preliminary RTP/RTSP support in ffserver and libavformat
  430 +- H.263+ AIC decoding/encoding support (Juanjo)
  431 +- VCD MPEG-PS mode (Juanjo)
  432 +- PSNR stuff (Juanjo)
  433 +- simple stats output (Juanjo)
  434 +- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
  435 +
  436 +
  437 +
  438 +version 0.4.5:
  439 +
  440 +- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
  441 +- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
  442 +- added configure system (actually a small shell script)
  443 +- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
  444 + Michael Hipp (temporary solution - waiting for integer only
  445 + decoder)
  446 +- fixed VIDIOCSYNC interrupt
  447 +- added Intel H.263 decoding support ('I263' AVI fourCC)
  448 +- added Real Video 1.0 decoding (needs further testing)
  449 +- simplified image formats again. Added PGM format (=grey
  450 + pgm). Renamed old PGM to PGMYUV.
  451 +- fixed msmpeg4 slice issues (tell me if you still find problems)
  452 +- fixed OpenDivX bugs with newer versions (added VOL header decoding)
  453 +- added support for MPlayer interface
  454 +- added macroblock skip optimization
  455 +- added MJPEG decoder
  456 +- added mmx/mmxext IDCT from libmpeg2
  457 +- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
  458 + <celer at shell.scrypt.net>)
  459 +- added pixel format conversion layer (e.g. for MJPEG or PPM)
  460 +- added deinterlacing option
  461 +- MPEG-1/2 fixes
  462 +- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
  463 +- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
  464 +- Windows porting of file converter
  465 +- added MJPEG raw format (input/ouput)
  466 +- added JPEG image format support (input/output)
  467 +
  468 +
  469 +
  470 +version 0.4.4:
  471 +
  472 +- fixed some std header definitions (Bjorn Lindgren
  473 + <bjorn.e.lindgren at telia.com>).
  474 +- added MPEG demuxer (MPEG-1 and 2 compatible).
  475 +- added ASF demuxer
  476 +- added prototype RM demuxer
  477 +- added AC3 decoding (done with libac3 by Aaron Holtzman)
  478 +- added decoding codec parameter guessing (.e.g. for MPEG, because the
  479 + header does not include them)
  480 +- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
  481 + play them (only tested video)
  482 +- fixed H.263 white bug
  483 +- fixed phase rounding in img resample filter
  484 +- add MMX code for polyphase img resample filter
  485 +- added CPU autodetection
  486 +- added generic title/author/copyright/comment string handling (ASF and RM
  487 + use them)
  488 +- added SWF demux to extract MP3 track (not usable yet because no MP3
  489 + decoder)
  490 +- added fractional frame rate support
  491 +- codecs are no longer searched by read_header() (should fix ffserver
  492 + segfault)
  493 +
  494 +
  495 +
  496 +version 0.4.3:
  497 +
  498 +- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
  499 +- fixed raw yuv output
  500 +- added motion rounding support in MPEG-4
  501 +- fixed motion bug rounding in MSMPEG4
  502 +- added B-frame handling in video core
  503 +- added full MPEG-1 decoding support
  504 +- added partial (frame only) MPEG-2 support
  505 +- changed the FOURCC code for H.263 to "U263" to be able to see the
  506 + +AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
  507 + this +codec ;) (JuanJo).
  508 +- Halfpel motion estimation after MB type selection (JuanJo)
  509 +- added pgm and .Y.U.V output format
  510 +- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
  511 + output.
  512 +- added pgmpipe I/O format (original patch from Martin Aumueller
  513 + <lists at reserv.at>, but changed completely since we use a format
  514 + instead of a protocol)
  515 +
  516 +
  517 +
  518 +version 0.4.2:
  519 +
  520 +- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
  521 + (for OpenDivX) is almost complete: 8x8 MVs and rounding are
  522 + missing. MSMPEG4 support is complete.
  523 +- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
  524 + can decode ffmpeg MPEGs :-)).
  525 +- added libavcodec API documentation (see apiexample.c).
  526 +- fixed image polyphase bug (the bottom of some images could be
  527 + greenish)
  528 +- added support for non clipped motion vectors (decoding only)
  529 + and image sizes non-multiple of 16
  530 +- added support for AC prediction (decoding only)
  531 +- added file overwrite confirmation (can be disabled with -y)
  532 +- added custom size picture to H.263 using H.263+ (Juanjo)
  533 +
  534 +
  535 +version 0.4.1:
  536 +
  537 +- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
  538 + of AVI and ASF to DIV3.
  539 +- added -me option to set motion estimation method
  540 + (default=log). suppressed redundant -hq option.
  541 +- added options -acodec and -vcodec to force a given codec (useful for
  542 + AVI for example)
  543 +- fixed -an option
  544 +- improved dct_quantize speed
  545 +- factorized some motion estimation code
  546 +
  547 +
  548 +
  549 +version 0.4.0:
  550 +
  551 +- removing grab code from ffserver and moved it to ffmpeg. Added
  552 + multistream support to ffmpeg.
  553 +- added timeshifting support for live feeds (option ?date=xxx in the
  554 + URL)
  555 +- added high quality image resize code with polyphase filter (need
  556 + mmx/see optimization). Enable multiple image size support in ffserver.
  557 +- added multi live feed support in ffserver
  558 +- suppressed master feature from ffserver (it should be done with an
  559 + external program which opens the .ffm url and writes it to another
  560 + ffserver)
  561 +- added preliminary support for video stream parsing (WAV and AVI half
  562 + done). Added proper support for audio/video file conversion in
  563 + ffmpeg.
  564 +- added preliminary support for video file sending from ffserver
  565 +- redesigning I/O subsystem: now using URL based input and output
  566 + (see avio.h)
  567 +- added WAV format support
  568 +- added "tty user interface" to ffmpeg to stop grabbing gracefully
  569 +- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
  570 + (Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
  571 +- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
  572 +- added new motion estimation algorithms, log and phods (Juanjo)
  573 +- changed directories: libav for format handling, libavcodec for
  574 + codecs
  575 +
  576 +
  577 +
  578 +version 0.3.4:
  579 +
  580 +- added stereo in MPEG audio encoder
  581 +
  582 +
  583 +
  584 +version 0.3.3:
  585 +
  586 +- added 'high quality' mode which use motion vectors. It can be used in
  587 + real time at low resolution.
  588 +- fixed rounding problems which caused quality problems at high
  589 + bitrates and large GOP size
  590 +
  591 +
  592 +
  593 +version 0.3.2: small fixes
  594 +
  595 +- ASF fixes
  596 +- put_seek bug fix
  597 +
  598 +
  599 +
  600 +version 0.3.1: added avi/divx support
  601 +
  602 +- added AVI support
  603 +- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
  604 +- added sound for flash format (not tested)
  605 +
  606 +
  607 +
  608 +version 0.3: initial public release
11 jni/INSTALL
... ... @@ -0,0 +1,11 @@
  1 +
  2 +1) Type './configure' to create the configuration. A list of configure
  3 +options is printed by running 'configure --help'.
  4 +
  5 +'configure' can be launched from a directory different from the FFmpeg
  6 +sources to build the objects out of tree. To do this, use an absolute
  7 +path when launching 'configure', e.g. '/ffmpegdir/ffmpeg/configure'.
  8 +
  9 +2) Then type 'make' to build FFmpeg. GNU Make 3.81 or later is required.
  10 +
  11 +3) Type 'make install' to install all binaries and libraries you built.
48 jni/LICENSE
... ... @@ -0,0 +1,48 @@
  1 +FFmpeg:
  2 +-------
  3 +
  4 +Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
  5 +or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
  6 +files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
  7 +FFmpeg.
  8 +
  9 +Some optional parts of FFmpeg are licensed under the GNU General Public License
  10 +version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of
  11 +these parts are used by default, you have to explicitly pass --enable-gpl to
  12 +configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
  13 +
  14 +Specifically, the GPL parts of FFmpeg are
  15 +
  16 +- libpostproc
  17 +- optional x86 optimizations in the files
  18 + libavcodec/x86/h264_deblock_sse2.asm
  19 + libavcodec/x86/h264_idct_sse2.asm
  20 + libavcodec/x86/idct_mmx.c
  21 +- the X11 grabber in libavdevice/x11grab.c
  22 +
  23 +There are a handful of files under other licensing terms, namely:
  24 +
  25 +* The files libavcodec/jfdctfst.c, libavcodec/jfdctint.c, libavcodec/jrevdct.c
  26 + are taken from libjpeg, see the top of the files for licensing details.
  27 +
  28 +Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
  29 +the configure parameter --enable-version3 will activate this licensing option
  30 +for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
  31 +COPYING.GPLv3 to learn the exact legal terms that apply in this case.
  32 +
  33 +
  34 +external libraries:
  35 +-------------------
  36 +
  37 +Some external libraries, e.g. libx264, are under GPL and can be used in
  38 +conjunction with FFmpeg. They require --enable-gpl to be passed to configure
  39 +as well.
  40 +
  41 +The OpenCORE external libraries are under the Apache License 2.0. That license
  42 +is incompatible with the LGPL v2.1 and the GPL v2, but not with version 3 of
  43 +those licenses. So to combine the OpenCORE libraries with FFmpeg, the license
  44 +version needs to be upgraded by passing --enable-version3 to configure.
  45 +
  46 +The nonfree external library libfaac can be hooked up in FFmpeg. You need to
  47 +pass --enable-nonfree to configure to enable it. Employ this option with care
  48 +as FFmpeg then becomes nonfree and unredistributable.
357 jni/Makefile
... ... @@ -0,0 +1,357 @@
  1 +#include config.mak
  2 +
  3 +SRC_DIR = $(SRC_PATH_BARE)
  4 +
  5 +vpath %.texi $(SRC_PATH_BARE)
  6 +
  7 +PROGS-$(CONFIG_FFMPEG) += ffmpeg
  8 +PROGS-$(CONFIG_FFPLAY) += ffplay
  9 +PROGS-$(CONFIG_FFPROBE) += ffprobe
  10 +PROGS-$(CONFIG_FFSERVER) += ffserver
  11 +
  12 +PROGS := $(addsuffix $(EXESUF), $(PROGS-yes))
  13 +PROGS_G = $(addsuffix _g$(EXESUF), $(PROGS-yes))
  14 +OBJS = $(addsuffix .o, $(PROGS-yes)) cmdutils.o
  15 +MANPAGES = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes)))
  16 +TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws pktdumper probetest qt-faststart trasher))
  17 +HOSTPROGS = $(addprefix tests/, audiogen videogen rotozoom tiny_psnr)
  18 +
  19 +BASENAMES = ffmpeg ffplay ffprobe ffserver
  20 +ALLPROGS = $(addsuffix $(EXESUF), $(BASENAMES))
  21 +ALLPROGS_G = $(addsuffix _g$(EXESUF), $(BASENAMES))
  22 +ALLMANPAGES = $(addsuffix .1, $(BASENAMES))
  23 +
  24 +FFLIBS-$(CONFIG_AVDEVICE) += avdevice
  25 +FFLIBS-$(CONFIG_AVFILTER) += avfilter
  26 +FFLIBS-$(CONFIG_AVFORMAT) += avformat
  27 +FFLIBS-$(CONFIG_AVCODEC) += avcodec
  28 +FFLIBS-$(CONFIG_POSTPROC) += postproc
  29 +FFLIBS-$(CONFIG_SWSCALE) += swscale
  30 +
  31 +FFLIBS := avutil
  32 +
  33 +DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset)
  34 +
  35 +SKIPHEADERS = cmdutils_common_opts.h
  36 +
  37 +include common.mak
  38 +
  39 +FF_LDFLAGS := $(FFLDFLAGS)
  40 +FF_EXTRALIBS := $(FFEXTRALIBS)
  41 +FF_DEP_LIBS := $(DEP_LIBS)
  42 +
  43 +ALL_TARGETS-$(CONFIG_DOC) += documentation
  44 +
  45 +ifdef PROGS
  46 +INSTALL_TARGETS-yes += install-progs install-data
  47 +INSTALL_TARGETS-$(CONFIG_DOC) += install-man
  48 +endif
  49 +INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs
  50 +
  51 +all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes)
  52 +
  53 +$(PROGS): %$(EXESUF): %_g$(EXESUF)
  54 + $(CP) $< $@
  55 + $(STRIP) $@
  56 +
  57 +SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \
  58 + ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS \
  59 + HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS
  60 +
  61 +define RESET
  62 +$(1) :=
  63 +$(1)-yes :=
  64 +endef
  65 +
  66 +define DOSUBDIR
  67 +$(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V))))
  68 +SUBDIR := $(1)/
  69 +include $(1)/Makefile
  70 +endef
  71 +
  72 +$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
  73 +
  74 +ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
  75 +ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
  76 +
  77 +%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
  78 + $(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
  79 +
  80 +tools/%$(EXESUF): tools/%.o
  81 + $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
  82 +
  83 +tools/%.o: tools/%.c
  84 + $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_O) $<
  85 +
  86 +ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS)
  87 +
  88 +VERSION_SH = $(SRC_PATH_BARE)/version.sh
  89 +GIT_LOG = $(SRC_PATH_BARE)/.git/logs/HEAD
  90 +SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
  91 +
  92 +#config.mak
  93 +.version: $(wildcard $(GIT_LOG) $(SVN_ENTRIES)) $(VERSION_SH)
  94 +.version: M=@
  95 +
  96 +version.h .version:
  97 + $(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION)
  98 + $(Q)touch .version
  99 +
  100 +# force version.sh to run whenever version might have changed
  101 +-include .version
  102 +
  103 +alltools: $(TOOLS)
  104 +
  105 +documentation: $(addprefix doc/, developer.html faq.html ffmpeg-doc.html \
  106 + ffplay-doc.html ffprobe-doc.html ffserver-doc.html \
  107 + general.html libavfilter.html $(ALLMANPAGES))
  108 +
  109 +doc/%.html: TAG = HTML
  110 +doc/%.html: doc/%.texi
  111 + $(M)cd doc && texi2html -monolithic -number $(<:doc/%=%)
  112 +
  113 +doc/%.pod: TAG = POD
  114 +doc/%.pod: doc/%-doc.texi
  115 + $(M)doc/texi2pod.pl $< $@
  116 +
  117 +doc/%.1: TAG = MAN
  118 +doc/%.1: doc/%.pod
  119 + $(M)pod2man --section=1 --center=" " --release=" " $< > $@
  120 +
  121 +install: $(INSTALL_TARGETS-yes)
  122 +
  123 +install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes)
  124 + $(Q)mkdir -p "$(BINDIR)"
  125 + $(INSTALL) -c -m 755 $(PROGS) "$(BINDIR)"
  126 +
  127 +install-data: $(DATA_FILES)
  128 + $(Q)mkdir -p "$(DATADIR)"
  129 + $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"
  130 +
  131 +install-man: $(MANPAGES)
  132 + $(Q)mkdir -p "$(MANDIR)/man1"
  133 + $(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
  134 +
  135 +uninstall: uninstall-progs uninstall-data uninstall-man
  136 +
  137 +uninstall-progs:
  138 + $(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS))
  139 +
  140 +uninstall-data:
  141 + $(RM) -r "$(DATADIR)"
  142 +
  143 +uninstall-man:
  144 + $(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
  145 +
  146 +testclean:
  147 + $(RM) -r tests/vsynth1 tests/vsynth2 tests/data
  148 + $(RM) $(addprefix tests/,$(CLEANSUFFIXES))
  149 + $(RM) tests/seek_test$(EXESUF) tests/seek_test.o
  150 + $(RM) $(addprefix tests/,$(addsuffix $(HOSTEXESUF),audiogen videogen rotozoom tiny_psnr))
  151 +
  152 +clean:: testclean
  153 + $(RM) $(ALLPROGS) $(ALLPROGS_G)
  154 + $(RM) $(CLEANSUFFIXES)
  155 + $(RM) doc/*.html doc/*.pod doc/*.1
  156 + $(RM) $(TOOLS)
  157 +
  158 +distclean::
  159 + $(RM) $(DISTCLEANSUFFIXES)
  160 + $(RM) version.h config.* libavutil/avconfig.h
  161 +
  162 +config:
  163 + $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
  164 +
  165 +# regression tests
  166 +
  167 +check: test checkheaders
  168 +
  169 +fulltest test: codectest lavftest seektest
  170 +
  171 +FFSERVER_REFFILE = $(SRC_PATH)/tests/ffserver.regression.ref
  172 +SEEK_REFFILE = $(SRC_PATH)/tests/seek.regression.ref
  173 +
  174 +ENCDEC = $(and $(CONFIG_$(1)_ENCODER),$(CONFIG_$(1)_DECODER))
  175 +MUXDEM = $(and $(CONFIG_$(1)_MUXER),$(CONFIG_$(or $(2),$(1))_DEMUXER))
  176 +
  177 +VCODEC_TESTS =
  178 +VCODEC_TESTS-$(call ENCDEC,ASV1) += asv1
  179 +VCODEC_TESTS-$(call ENCDEC,ASV2) += asv2
  180 +VCODEC_TESTS-$(call ENCDEC,DNXHD) += dnxhd_1080i dnxhd_720p dnxhd_720p_rd
  181 +VCODEC_TESTS-$(call ENCDEC,DVVIDEO) += dv dv50
  182 +VCODEC_TESTS-$(call ENCDEC,FFV1) += ffv1
  183 +VCODEC_TESTS-$(call ENCDEC,FLASHSV) += flashsv
  184 +VCODEC_TESTS-$(call ENCDEC,FLV) += flv
  185 +VCODEC_TESTS-$(call ENCDEC,H261) += h261
  186 +VCODEC_TESTS-$(call ENCDEC,H263) += h263 h263p
  187 +VCODEC_TESTS-$(call ENCDEC,HUFFYUV) += huffyuv
  188 +VCODEC_TESTS-$(call ENCDEC,JPEGLS) += jpegls
  189 +VCODEC_TESTS-$(call ENCDEC,MJPEG) += mjpeg ljpeg
  190 +VCODEC_TESTS-$(call ENCDEC,MPEG1VIDEO) += mpeg mpeg1b
  191 +VCODEC_TESTS-$(call ENCDEC,MPEG2VIDEO) += mpeg2 mpeg2thread
  192 +VCODEC_TESTS-$(call ENCDEC,MPEG4) += mpeg4 mpeg4adv mpeg4nr mpeg4thread error rc
  193 +VCODEC_TESTS-$(call ENCDEC,MSMPEG4V1) += msmpeg4
  194 +VCODEC_TESTS-$(call ENCDEC,MSMPEG4V2) += msmpeg4v2
  195 +VCODEC_TESTS-$(call ENCDEC,RAWVIDEO) += rgb yuv
  196 +VCODEC_TESTS-$(call ENCDEC,ROQ) += roq
  197 +VCODEC_TESTS-$(call ENCDEC,RV10) += rv10
  198 +VCODEC_TESTS-$(call ENCDEC,RV20) += rv20
  199 +VCODEC_TESTS-$(call ENCDEC,SNOW) += snow snowll
  200 +VCODEC_TESTS-$(call ENCDEC,SVQ1) += svq1
  201 +VCODEC_TESTS-$(call ENCDEC,WMV1) += wmv1
  202 +VCODEC_TESTS-$(call ENCDEC,WMV2) += wmv2
  203 +
  204 +ACODEC_TESTS =
  205 +ACODEC_TESTS-$(call ENCDEC,AC3) += ac3
  206 +ACODEC_TESTS-$(call ENCDEC,ADPCM_G726) += g726
  207 +ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_QT) += adpcm_ima_qt
  208 +ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_WAV) += adpcm_ima_wav
  209 +ACODEC_TESTS-$(call ENCDEC,ADPCM_MS) += adpcm_ms
  210 +ACODEC_TESTS-$(call ENCDEC,ADPCM_SWF) += adpcm_swf
  211 +ACODEC_TESTS-$(call ENCDEC,ADPCM_YAMAHA) += adpcm_yam
  212 +ACODEC_TESTS-$(call ENCDEC,ALAC) += alac
  213 +ACODEC_TESTS-$(call ENCDEC,FLAC) += flac
  214 +ACODEC_TESTS-$(call ENCDEC,MP2) += mp2
  215 +ACODEC_TESTS-$(call ENCDEC,PCM_S16LE) += pcm # fixme
  216 +ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav1
  217 +ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav2
  218 +
  219 +LAVF_TESTS =
  220 +LAVF_TESTS-$(call MUXDEM,AIFF) += aiff
  221 +LAVF_TESTS-$(call MUXDEM,PCM_ALAW) += alaw
  222 +LAVF_TESTS-$(call MUXDEM,ASF) += asf
  223 +LAVF_TESTS-$(call MUXDEM,AU) += au
  224 +LAVF_TESTS-$(call MUXDEM,AVI) += avi
  225 +LAVF_TESTS-$(call ENCDEC,BMP) += bmp
  226 +LAVF_TESTS-$(call MUXDEM,DV) += dv_fmt
  227 +LAVF_TESTS-$(call MUXDEM,FFM) += ffm
  228 +LAVF_TESTS-$(call MUXDEM,FLV) += flv_fmt
  229 +LAVF_TESTS-$(call ENCDEC,GIF) += gif
  230 +LAVF_TESTS-$(call MUXDEM,GXF) += gxf
  231 +LAVF_TESTS-$(call ENCDEC,MJPEG) += jpg
  232 +LAVF_TESTS-$(call MUXDEM,MATROSKA) += mkv
  233 +LAVF_TESTS-$(call MUXDEM,MMF) += mmf
  234 +LAVF_TESTS-$(call MUXDEM,MOV) += mov
  235 +LAVF_TESTS-$(call MUXDEM,MPEG1SYSTEM,MPEGPS) += mpg
  236 +LAVF_TESTS-$(call MUXDEM,PCM_MULAW) += mulaw
  237 +LAVF_TESTS-$(call MUXDEM,MXF) += mxf
  238 +LAVF_TESTS-$(call MUXDEM,NUT) += nut
  239 +LAVF_TESTS-$(call MUXDEM,OGG) += ogg
  240 +LAVF_TESTS-$(call ENCDEC,PBM) += pbmpipe
  241 +LAVF_TESTS-$(call ENCDEC,PCX) += pcx
  242 +LAVF_TESTS-$(call ENCDEC,PGM) += pgm pgmpipe
  243 +LAVF_TESTS-$(call MUXDEM,RAWVIDEO) += pixfmt
  244 +LAVF_TESTS-$(call ENCDEC,PPM) += ppm ppmpipe
  245 +LAVF_TESTS-$(call MUXDEM,RM) += rm
  246 +LAVF_TESTS-$(call ENCDEC,SGI) += sgi
  247 +LAVF_TESTS-$(call MUXDEM,SWF) += swf
  248 +LAVF_TESTS-$(call ENCDEC,TARGA) += tga
  249 +LAVF_TESTS-$(call ENCDEC,TIFF) += tiff
  250 +LAVF_TESTS-$(call MUXDEM,MPEGTS) += ts
  251 +LAVF_TESTS-$(call MUXDEM,VOC) += voc
  252 +LAVF_TESTS-$(call MUXDEM,WAV) += wav
  253 +LAVF_TESTS-$(call MUXDEM,YUV4MPEGPIPE) += yuv4mpeg
  254 +
  255 +LAVFI_TESTS = \
  256 + crop \
  257 + crop_scale \
  258 + crop_scale_vflip \
  259 + crop_vflip \
  260 + null \
  261 + scale200 \
  262 + scale500 \
  263 + vflip \
  264 + vflip_crop \
  265 + vflip_vflip \
  266 +# lavfi_pix_fmts \
  267 +
  268 +ACODEC_TESTS := $(addprefix regtest-, $(ACODEC_TESTS) $(ACODEC_TESTS-yes))
  269 +VCODEC_TESTS := $(addprefix regtest-, $(VCODEC_TESTS) $(VCODEC_TESTS-yes))
  270 +LAVF_TESTS := $(addprefix regtest-, $(LAVF_TESTS) $(LAVF_TESTS-yes))
  271 +LAVFI_TESTS := $(addprefix regtest-, $(LAVFI_TESTS) $(LAVFI_TESTS-yes))
  272 +
  273 +CODEC_TESTS = $(VCODEC_TESTS) $(ACODEC_TESTS)
  274 +
  275 +codectest: $(CODEC_TESTS)
  276 +lavftest: $(LAVF_TESTS)
  277 +lavfitest: $(LAVFI_TESTS)
  278 +
  279 +$(ACODEC_TESTS): regtest-aref
  280 +$(VCODEC_TESTS): regtest-vref
  281 +$(LAVF_TESTS) $(LAVFI_TESTS): regtest-ref
  282 +
  283 +REFFILE = $(SRC_PATH)/tests/ref/$(1)/$(2:regtest-%=%)
  284 +RESFILE = tests/data/$(2:regtest-%=%).$(1).regression
  285 +
  286 +define CODECTEST_CMD
  287 + $(SRC_PATH)/tests/codec-regression.sh $@ vsynth1 tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
  288 + $(SRC_PATH)/tests/codec-regression.sh $@ vsynth2 tests/vsynth2 "$(TARGET_EXEC)" "$(TARGET_PATH)"
  289 +endef
  290 +
  291 +regtest-ref: regtest-aref regtest-vref
  292 +
  293 +regtest-vref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm
  294 + $(CODECTEST_CMD)
  295 +
  296 +regtest-aref: ffmpeg$(EXESUF) tests/data/asynth1.sw
  297 + @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_EXEC)" "$(TARGET_PATH)"
  298 +
  299 +$(VCODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF)
  300 + @echo "TEST VCODEC $(@:regtest-%=%)"
  301 + @$(CODECTEST_CMD)
  302 + @diff -u -w $(call REFFILE,vsynth1,$@) $(call RESFILE,vsynth1,$@)
  303 + @diff -u -w $(call REFFILE,vsynth2,$@) $(call RESFILE,vsynth2,$@)
  304 +
  305 +$(ACODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF)
  306 + @echo "TEST ACODEC $(@:regtest-%=%)"
  307 + @$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_EXEC)" "$(TARGET_PATH)"
  308 + @diff -u -w $(call REFFILE,acodec,$@) $(call RESFILE,acodec,$@)
  309 +
  310 +$(LAVF_TESTS):
  311 + @echo "TEST LAVF $(@:regtest-%=%)"
  312 + @$(SRC_PATH)/tests/lavf-regression.sh $@ lavf tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
  313 + @diff -u -w $(call REFFILE,lavf,$@) $(call RESFILE,lavf,$@)
  314 +
  315 +$(LAVFI_TESTS): tools/lavfi-showfiltfmts$(EXESUF)
  316 + @echo "TEST LAVFI $(@:regtest-%=%)"
  317 + @$(SRC_PATH)/tests/lavfi-regression.sh $@ lavfi tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
  318 + @diff -u -w $(call REFFILE,lavfi,$@) $(call RESFILE,lavfi,$@)
  319 +
  320 +seektest: codectest lavftest tests/seek_test$(EXESUF)
  321 + $(SRC_PATH)/tests/seek-regression.sh $(SRC_PATH) "$(TARGET_EXEC)" "$(TARGET_PATH)"
  322 +
  323 +ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw
  324 + @echo
  325 + @echo "Unfortunately ffserver is broken and therefore its regression"
  326 + @echo "test fails randomly. Treat the results accordingly."
  327 + @echo
  328 + $(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/ffserver.conf
  329 +
  330 +tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF)
  331 + mkdir -p tests/vsynth1
  332 + $(BUILD_ROOT)/$< 'tests/vsynth1/'
  333 +
  334 +tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF)
  335 + mkdir -p tests/vsynth2
  336 + $(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm
  337 +
  338 +tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF)
  339 + mkdir -p tests/data
  340 + $(BUILD_ROOT)/$< $@
  341 +
  342 +tests/seek_test$(EXESUF): tests/seek_test.o $(FF_DEP_LIBS)
  343 + $(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
  344 +
  345 +include $(SRC_PATH_BARE)/tests/fate.mak
  346 +
  347 +ifdef SAMPLES
  348 +fate: $(FATE_TESTS)
  349 +$(FATE_TESTS): ffmpeg$(EXESUF)
  350 + @echo "TEST FATE $(@:fate-%=%)"
  351 + @$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)'
  352 +else
  353 +fate $(FATE_TESTS):
  354 + @echo "SAMPLES not specified, cannot run FATE"
  355 +endif
  356 +
  357 +.PHONY: documentation *test regtest-* zlib-error alltools check config
12 jni/README
... ... @@ -0,0 +1,12 @@
  1 +FFmpeg README
  2 +-------------
  3 +
  4 +1) Documentation
  5 +----------------
  6 +
  7 +* Read the documentation in the doc/ directory.
  8 +
  9 +2) Licensing
  10 +------------
  11 +
  12 +* See the LICENSE file.
BIN  jni/android/._android_media_ffmpeg.c
Binary file not shown
0  jni/android/._android_media_ffmpeg.c
Sorry, we could not display the changes to this file because there were too many other changes to display.
4,505 jni/android/android_media_ffmpeg.c
4,505 additions, 0 deletions not shown
36 jni/av.mk
... ... @@ -0,0 +1,36 @@
  1 +# LOCAL_PATH is one of libavutil, libavcodec, libavformat, or libswscale
  2 +
  3 +#include $(LOCAL_PATH)/../config-$(TARGET_ARCH).mak
  4 +include $(LOCAL_PATH)/../config.mak
  5 +
  6 +OBJS :=
  7 +OBJS-yes :=
  8 +MMX-OBJS-yes :=
  9 +include $(LOCAL_PATH)/Makefile
  10 +
  11 +# collect objects
  12 +OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
  13 +OBJS += $(OBJS-yes)
  14 +
  15 +FFNAME := lib$(NAME)
  16 +FFLIBS := $(foreach,NAME,$(FFLIBS),lib$(NAME))
  17 +
  18 +FFCFLAGS = -DHAVE_AV_CONFIG_H -Wno-sign-compare -Wno-switch -Wno-pointer-sign