Commit 84f26f52 authored by Mohamed Naufal's avatar Mohamed Naufal

Support (H/W accelerated) H.264 decoding on Android via Stagefright

parent 6a6cabf2
...@@ -43,6 +43,7 @@ easier to use. The changes are: ...@@ -43,6 +43,7 @@ easier to use. The changes are:
- XMV demuxer - XMV demuxer
- Windows Media Image decoder - Windows Media Image decoder
- C++ Support - C++ Support
- H.264 Decoding on Android via Stagefright
version 0.7: version 0.7:
......
...@@ -178,6 +178,7 @@ External library support: ...@@ -178,6 +178,7 @@ External library support:
--enable-librtmp enable RTMP[E] support via librtmp [no] --enable-librtmp enable RTMP[E] support via librtmp [no]
--enable-libschroedinger enable Dirac support via libschroedinger [no] --enable-libschroedinger enable Dirac support via libschroedinger [no]
--enable-libspeex enable Speex decoding via libspeex [no] --enable-libspeex enable Speex decoding via libspeex [no]
--enable-libstagefright enable H.264 decoding via libstagefright [no]
--enable-libtheora enable Theora encoding via libtheora [no] --enable-libtheora enable Theora encoding via libtheora [no]
--enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no] --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
--enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no] --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
...@@ -999,6 +1000,7 @@ CONFIG_LIST=" ...@@ -999,6 +1000,7 @@ CONFIG_LIST="
librtmp librtmp
libschroedinger libschroedinger
libspeex libspeex
libstagefright
libtheora libtheora
libvo_aacenc libvo_aacenc
libvo_amrwbenc libvo_amrwbenc
...@@ -1463,6 +1465,7 @@ libopenjpeg_decoder_deps="libopenjpeg" ...@@ -1463,6 +1465,7 @@ libopenjpeg_decoder_deps="libopenjpeg"
libschroedinger_decoder_deps="libschroedinger" libschroedinger_decoder_deps="libschroedinger"
libschroedinger_encoder_deps="libschroedinger" libschroedinger_encoder_deps="libschroedinger"
libspeex_decoder_deps="libspeex" libspeex_decoder_deps="libspeex"
libstagefright_decoder_deps="libstagefright"
libtheora_encoder_deps="libtheora" libtheora_encoder_deps="libtheora"
libvo_aacenc_encoder_deps="libvo_aacenc" libvo_aacenc_encoder_deps="libvo_aacenc"
libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
...@@ -2946,6 +2949,9 @@ enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg ...@@ -2946,6 +2949,9 @@ enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
enabled libstagefright && require_cpp libstagefright "binder/ProcessState.h media/stagefright/MetaData.h
media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h
media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
enabled libvo_aacenc && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc enabled libvo_aacenc && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc
enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
...@@ -3226,6 +3232,7 @@ echo "libopenjpeg enabled ${libopenjpeg-no}" ...@@ -3226,6 +3232,7 @@ echo "libopenjpeg enabled ${libopenjpeg-no}"
echo "librtmp enabled ${librtmp-no}" echo "librtmp enabled ${librtmp-no}"
echo "libschroedinger enabled ${libschroedinger-no}" echo "libschroedinger enabled ${libschroedinger-no}"
echo "libspeex enabled ${libspeex-no}" echo "libspeex enabled ${libspeex-no}"
echo "libstagefright enabled ${libstagefright-no}"
echo "libtheora enabled ${libtheora-no}" echo "libtheora enabled ${libtheora-no}"
echo "libvo-aacenc support ${libvo_aacenc-no}" echo "libvo-aacenc support ${libvo_aacenc-no}"
echo "libvo-amrwbenc support ${libvo_amrwbenc-no}" echo "libvo-amrwbenc support ${libvo_amrwbenc-no}"
......
...@@ -573,6 +573,7 @@ OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o \ ...@@ -573,6 +573,7 @@ OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o \
libschroedinger.o \ libschroedinger.o \
libdirac_libschro.o libdirac_libschro.o
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o
OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
......
...@@ -369,6 +369,7 @@ void avcodec_register_all(void) ...@@ -369,6 +369,7 @@ void avcodec_register_all(void)
REGISTER_DECODER (LIBOPENJPEG, libopenjpeg); REGISTER_DECODER (LIBOPENJPEG, libopenjpeg);
REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger); REGISTER_ENCDEC (LIBSCHROEDINGER, libschroedinger);
REGISTER_DECODER (LIBSPEEX, libspeex); REGISTER_DECODER (LIBSPEEX, libspeex);
REGISTER_DECODER (LIBSTAGEFRIGHT_H264, libstagefright_h264);
REGISTER_ENCODER (LIBTHEORA, libtheora); REGISTER_ENCODER (LIBTHEORA, libtheora);
REGISTER_ENCODER (LIBVO_AACENC, libvo_aacenc); REGISTER_ENCODER (LIBVO_AACENC, libvo_aacenc);
REGISTER_ENCODER (LIBVO_AMRWBENC, libvo_amrwbenc); REGISTER_ENCODER (LIBVO_AMRWBENC, libvo_amrwbenc);
......
This diff is collapsed.
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#define AVCODEC_VERSION_H #define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53 #define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_MINOR 9 #define LIBAVCODEC_VERSION_MINOR 10
#define LIBAVCODEC_VERSION_MICRO 0 #define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment