OSDN Git Service

change from OMX.ffmpeg.vheuristic.decoder to OMX.ffmpeg.vtrial.decoder and
[android-x86/external-stagefright-plugins.git] / README
diff --git a/README b/README
index e544431..1523c5c 100644 (file)
--- a/README
+++ b/README
@@ -5,39 +5,144 @@ Stagefright Plugins for Android
 1. Enhance the Android multimedia framework providing additional Plugins for
    user interaction
 2. FFmpeg provides demuxers and av codecs;
-3. SDL provides basic library: thread, mutex, and timer, but all of sdl should 
-   be removed;
-4. NamExtractor is a extractor plugin, it would be loaded by Stagefright when 
-   Stagefright started.
-5. NamExtractor will load FFmpegExtractor, MplayerExtractor and VLCExtractor.
-   but only FFmpegExtractor is implemented now.
-6. FFmpegExtractor is the reference to "ffmpeg/ffplay" to achieve. 
+3. NamExtractor is a extractor plugin, it would be loaded by Stagefright when 
+   Stagefright started. NamExtractor will load FFmpegExtractor.FFmpegExtractor
+   is the reference to "ffmpeg/ffplay" to achieve. 
+4. libstagefright_soft_ffmpegvdec plugin is video decoder
+5. libstagefright_soft_ffmpegadec plugin is audio decoder
+
+================================================================================
+Why is named nam[NamExtractor]?
+================================================================================
+
+Namtso, or Lake Nam, is one of the three holy lakes in Tibet Autonomous Region
+and should not be missed by any traveler to Tibet. In Tibetan, Namtso means
+"Heavenly Lake." It is famous for its high altitude and imposing scenery.
+
+I used to travel there in 2011 Sep.
 
 ================================================================================
 Requirements
 ================================================================================
 
 CyanogenMod 9.x (Ice Cream Sandwich)
-http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_%28GSM%29:_Compile_CyanogenMod_%28Linux%29
+http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_(GSM):_Compile_CyanogenMod_(Linux)
 
-FFMPEG-0.12
+FFMPEG-1.0 release
 http://ffmpeg.org
-
-SDL-1.3.0
-http://www.libsdl.org/tmp
+ref: git://android.git.linaro.org/platform/external/ffmpeg.git
 
 ================================================================================
- How to build
+How to build
 ================================================================================
 
+1. Get the Source
+   clone cm-9.1.0 source from CyanogenMod git:
+       repo init -u git://github.com/CyanogenMod/android.git -b cm-9.1.0
+   plz ref: http://wiki.cyanogenmod.com/wiki/Galaxy_Nexus_(GSM):_Compile_CyanogenMod_(Linux)
+
+   clone my sources from the omxcodec{github} git!
+   in your "android/external" folder, run:
+   stagefright-plugins:
+       git clone git@github.com:omxcodec/stagefright-plugins.git stagefright-plugins
+   ffmpeg:
+       git clone git@github.com:omxcodec/android_external_ffmpeg.git ffmpeg -b omxcodec-1.0
+
+   in your "android/external" folder, run:
+   cp stagefright-plugins/repo/local_manifest.xml ../.repo
+   cd ..      // go to android folder
+   repo sync  // sync "frameworks_base" code again!
+
+   "repo sync" sync "frameworks_base" code again! of course, you can merge my
+   android_external_ffmpeg code instread of "repo sync" frameworks_base. once you do,
+   so you should pay attention to the "USES_NAM" flag, it is only in the
+   "android/frameworks/base" directory
+2. Compile
+   add USES_NAM flag to COMMON_GLOBAL_CFLAGS in android build system
+       vi vendor/samsung/maguro/BoardConfigVendor.mk and add these lines to it
+           USES_NAM := true
+           ifdef USES_NAM
+               COMMON_GLOBAL_CFLAGS += -DUSES_NAM
+           endif
+
+   ffmpeg:
+       cd android/external/ffmpeg
+       mm ffmpeg  // NOT "mm", plz FIXME!
+
+       cd android/external/stagefright-plugins
+       mm
+
+3. Install
+   adb root
+   adb remount
+   adb sync // sync your android build system to your phone or pad
+   reboot   // reboot your phone or pad
+
+4. Run
+   get test media files:
+       wget http://movies.apple.com/media/us/ipad/2012/tv-spots/apple-ipad-this_good-us-20120307_848x480.mov
+       wget http://movies.apple.com/media/us/ipad/2012/80ba527a-1a34-4f70-aae8-14f87ab76eea/tours/apple-ipad-feature-us-20120307_848x480.mp4
+
+   let us suppose your media files locate at "/sdcard/Movies/" folder.
+   one console window, you should run:
+       adb logcat
+   and other cosole window, you should run:
+   test NamExtractor and FFmpegExtractor plugins:
+       adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
+       adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
+   test SoftFFmpegVideo decoder plugin:
+       cd android/external/stagefright-plugins/tools folder, run:
+       adb root
+       ./install // install my scripts
+       adb root && adb shell set-vdec-sw1 // let omxcodec choose software decoder
+       adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-this_good-us-20120307_848x480.mov -t video/*
+       adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/apple-ipad-feature-us-20120307_848x480.mp4 -t video/*
+
+   run it and enjoy!
+
 ================================================================================
- Additional documentation
+Features
 ================================================================================
+Input formats:
+    MP4 / MOV / 3GP
+    TS / PS
+    AVI
+    ASF / WMV / WMA
+    Matroska (MKV)
+    Real(RM,RMVB)
+    WAV
+    FLV(H.264+AAC)
 
+Video formats:
+    MPEG-1/2
+    MPEG-4
+    H.263
+    H.264 / MPEG-4 AVC
+    WMV 1/2
+    WMV 3 / WMV-9 / VC-1
+    Real Video
+
+Audio formats:
+    MPEG Layer 1/2
+    MP3 - MPEG Layer 3
+    AAC - MPEG-4 part3
+    AC3 - A/52 (Dolby Digital)
+    WMA 1/2
+    WMA 3
+    Real Audio
+    AMR (3GPP)
+    APE
+    DTS
+    FLAC
+    
 ================================================================================
- Known issues
+Known issues
 ================================================================================
+1. some .mov movies do not av resync when seeking
+2. some video stream ended while seeking
+3. more video and audio codecs codec to be integrated
+4. more formats to be integrated
 
 If you need help with the library, or just want to discuss nam related issues, 
-you can contact me: Michael Chen (omxcodec@gmail.com),
-
+you can contact me: Michael Chen (omxcodec@gmail.com)