From: Kitae Kim Date: Tue, 6 Jan 2015 10:24:20 +0000 (+0900) Subject: brillcodec: support h.264 encoder. X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~104 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cba52c214bbe627ef2bb3c6aefa8b56fd37f0e36;p=sdk%2Femulator%2Fqemu.git brillcodec: support h.264 encoder. configure and use libx264 to support h.264 encoder Conflicts: configure package/build.ubuntu-32 package/build.ubuntu-64 tizen/src/hw/pci/Makefile.objs Change-Id: I87b8771fc6bfa0cd19349b82be2d32f78a5efe45 Signed-off-by: minkee.lee --- diff --git a/configure b/configure index 20925efd72..66d8831b1a 100755 --- a/configure +++ b/configure @@ -3988,6 +3988,7 @@ if test "$libav" != "no"; then libavformat_version="54.20.3" libavresample_package="libavresample" libavresample_version="1.0.1" + libx264_package="x264" if $pkg_config --exists "$libavcodec_package >= $libavcodec_version" ; then libav_cflags=`$pkg_config --cflags $libavcodec_package` @@ -4034,6 +4035,12 @@ if test "$libav" != "no"; then libav="no" fi + if $pkg_config --exists "$libx264_package" ; then + libav_libs="$libav_libs `$pkg_config --libs $libx264_package`" + libav="yes" + else + libav="no" + fi fi ########################################## @@ -4843,6 +4850,7 @@ fi if test "$libav" = "yes" ; then echo "CONFIG_LIBAV=y" >> $config_host_mak echo "LIBAV_CFLAGS=$libav_cflags" >> $config_host_mak + echo "LIBAV_LIBS=$libav_libs" >> $config_host_mak fi if test "$libpng" = "yes" ; then echo "CONFIG_PNG=y" >> $config_host_mak diff --git a/package/build.macos-64 b/package/build.macos-64 index 08d745495f..075a212e73 100755 --- a/package/build.macos-64 +++ b/package/build.macos-64 @@ -25,7 +25,7 @@ prepare() exit 1 fi - export PKG_CONFIG_PATH=$ROOTDIR/glib2/lib/pkgconfig:$ROOTDIR/curl/lib/pkgconfig:$ROOTDIR/libffi/lib/pkgconfig:$ROOTDIR/libidn/lib/pkgconfig:$ROOTDIR/libxml2/lib/pkgconfig:$ROOTDIR/ncurses/lib/pkgconfig:$ROOTDIR/openssl/lib/pkgconfig:$ROOTDIR/pixman/lib/pkgconfig:$ROOTDIR/zlib/lib/pkgconfig:$ROOTDIR/libav/lib/pkgconfig:$ROOTDIR/libpng/lib/pkgconfig:$PKG_CONFIG_PATH + export PKG_CONFIG_PATH=$ROOTDIR/glib2/lib/pkgconfig:$ROOTDIR/curl/lib/pkgconfig:$ROOTDIR/libffi/lib/pkgconfig:$ROOTDIR/libidn/lib/pkgconfig:$ROOTDIR/libxml2/lib/pkgconfig:$ROOTDIR/ncurses/lib/pkgconfig:$ROOTDIR/openssl/lib/pkgconfig:$ROOTDIR/pixman/lib/pkgconfig:$ROOTDIR/zlib/lib/pkgconfig:$ROOTDIR/libav/lib/pkgconfig:$ROOTDIR/libpng/lib/pkgconfig:$ROOTDIR/x264/lib/pkgconfig:$PKG_CONFIG_PATH BUILD_CFLAGS="--extra-cflags=-I$ROOTDIR/libiconv/include " BUILD_LDFLAGS="--extra-ldflags=-L$ROOTDIR/libiconv/lib " @@ -107,13 +107,11 @@ build() install() { X86_BIN_DIR=$SRCDIR/package/emulator-qemu-x86.package.${TARGET_OS}/data/tools -# ARM_BIN_DIR=$SRCDIR/package/emulator-qemu-arm.package.${TARGET_OS}/data/tools COMMON_BIN_DIR=$SRCDIR/package/emulator-qemu-common.package.${TARGET_OS}/data/tools MOBILE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/mobile-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/mobile-2.3/emulator-resources/skins WEARABLE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/wearable-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/wearable-2.3/emulator-resources/skins mkdir -p $X86_BIN_DIR -# mkdir -p $ARM_BIN_DIR mkdir -p $COMMON_BIN_DIR mkdir -p $MOBILE_2_3_SKIN_RESOURCE_DIR mkdir -p $WEARABLE_2_3_SKIN_RESOURCE_DIR @@ -122,7 +120,6 @@ install() make install_dibs mv x86 $X86_BIN_DIR/emulator -# mv x86 $ARM_BIN_DIR/emulator mv common $COMMON_BIN_DIR/emulator #profile skins diff --git a/package/build.ubuntu-32 b/package/build.ubuntu-32 index f35ef73263..7cc06c71ad 100755 --- a/package/build.ubuntu-32 +++ b/package/build.ubuntu-32 @@ -4,7 +4,7 @@ clean() { prepare - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${ROOTDIR}/libav/lib/pkgconfig + export PKG_CONFIG_PATH=${ROOTDIR}/x264/lib/pkgconfig:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig:${PKG_CONFIG_PATH} cd $SRCDIR/tizen if test -e "Makefile" @@ -48,7 +48,8 @@ prepare() # build build() { - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig + export PKG_CONFIG_PATH=${ROOTDIR}/x264/lib/pkgconfig:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig:${PKG_CONFIG_PATH} + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTDIR}/remote/lib cd $SRCDIR/tizen/ ./emulator_configure.sh x86 @@ -60,33 +61,17 @@ build() echo "x86 build failure" exit 1 fi - -# make install_dibs -# make clean -# -# ./emulator_configure.sh arm -# make all_dibs -# if [ $? -eq 0 ] -# then -# echo "arm build success" -# else -# echo "arm build failure" -# exit 1 -# fi -# make install_dibs } # install install() { X86_BIN_DIR=$SRCDIR/package/emulator-qemu-x86.package.${TARGET_OS}/data/tools -# ARM_BIN_DIR=$SRCDIR/package/emulator-qemu-arm.package.${TARGET_OS}/data/tools COMMON_BIN_DIR=$SRCDIR/package/emulator-qemu-common.package.${TARGET_OS}/data/tools MOBILE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/mobile-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/mobile-2.3/emulator-resources/skins WEARABLE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/wearable-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/wearable-2.3/emulator-resources/skins mkdir -p $X86_BIN_DIR -# mkdir -p $ARM_BIN_DIR mkdir -p $COMMON_BIN_DIR mkdir -p $MOBILE_2_3_SKIN_RESOURCE_DIR mkdir -p $WEARABLE_2_3_SKIN_RESOURCE_DIR @@ -95,7 +80,6 @@ install() make install_dibs mv x86 $X86_BIN_DIR/emulator -# mv x86 $ARM_BIN_DIR/emulator mv common $COMMON_BIN_DIR/emulator #profile skins diff --git a/package/build.ubuntu-64 b/package/build.ubuntu-64 index f35ef73263..7cc06c71ad 100755 --- a/package/build.ubuntu-64 +++ b/package/build.ubuntu-64 @@ -4,7 +4,7 @@ clean() { prepare - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${ROOTDIR}/libav/lib/pkgconfig + export PKG_CONFIG_PATH=${ROOTDIR}/x264/lib/pkgconfig:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig:${PKG_CONFIG_PATH} cd $SRCDIR/tizen if test -e "Makefile" @@ -48,7 +48,8 @@ prepare() # build build() { - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig + export PKG_CONFIG_PATH=${ROOTDIR}/x264/lib/pkgconfig:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig:${PKG_CONFIG_PATH} + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTDIR}/remote/lib cd $SRCDIR/tizen/ ./emulator_configure.sh x86 @@ -60,33 +61,17 @@ build() echo "x86 build failure" exit 1 fi - -# make install_dibs -# make clean -# -# ./emulator_configure.sh arm -# make all_dibs -# if [ $? -eq 0 ] -# then -# echo "arm build success" -# else -# echo "arm build failure" -# exit 1 -# fi -# make install_dibs } # install install() { X86_BIN_DIR=$SRCDIR/package/emulator-qemu-x86.package.${TARGET_OS}/data/tools -# ARM_BIN_DIR=$SRCDIR/package/emulator-qemu-arm.package.${TARGET_OS}/data/tools COMMON_BIN_DIR=$SRCDIR/package/emulator-qemu-common.package.${TARGET_OS}/data/tools MOBILE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/mobile-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/mobile-2.3/emulator-resources/skins WEARABLE_2_3_SKIN_RESOURCE_DIR=$SRCDIR/package/wearable-2.3-emulator-qemu-skins.package.${TARGET_OS}/data/platforms/wearable-2.3/emulator-resources/skins mkdir -p $X86_BIN_DIR -# mkdir -p $ARM_BIN_DIR mkdir -p $COMMON_BIN_DIR mkdir -p $MOBILE_2_3_SKIN_RESOURCE_DIR mkdir -p $WEARABLE_2_3_SKIN_RESOURCE_DIR @@ -95,7 +80,6 @@ install() make install_dibs mv x86 $X86_BIN_DIR/emulator -# mv x86 $ARM_BIN_DIR/emulator mv common $COMMON_BIN_DIR/emulator #profile skins diff --git a/package/build.windows-32 b/package/build.windows-32 index e6bda30fee..af4c350ae4 100755 --- a/package/build.windows-32 +++ b/package/build.windows-32 @@ -39,9 +39,9 @@ prepare() if [ -z ${PKG_CONFIG_PATH} ] then - PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig + PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:$PURIFIED_ROOTDIR/x264/lib/pkgconfig else - PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:${PKG_CONFIG_PATH} + PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:$PURIFIED_ROOTDIR/x264/lib/pkgconfig:${PKG_CONFIG_PATH} fi export PKG_CONFIG_PATH diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index c2f0f25ec5..c70765f690 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -31,7 +31,7 @@ Description: Common binaries for Tizen Emulator Package: emulator-qemu-x86 OS: ubuntu-32 Build-host-os: ubuntu-32 -Build-dependency: emulator-lib, libav-dev +Build-dependency: emulator-lib-dev, emulator-lib, libav-dev Install-dependency: emulator-kernel-x86, libav Description: Tizen x86 Emulator @@ -45,7 +45,7 @@ Description: Tizen x86 Emulator Package: emulator-qemu-x86 OS: ubuntu-64 Build-host-os: ubuntu-64 -Build-dependency: emulator-lib, libav-dev +Build-dependency: emulator-lib-dev, emulator-lib, libav-dev Install-dependency: emulator-kernel-x86, libav Description: Tizen x86 Emulator diff --git a/tizen/src/hw/pci/Makefile.objs b/tizen/src/hw/pci/Makefile.objs index f816976dd8..6563bf7410 100644 --- a/tizen/src/hw/pci/Makefile.objs +++ b/tizen/src/hw/pci/Makefile.objs @@ -21,4 +21,13 @@ LIBS += -framework AppKit endif maru_brillcodec_device.o-cflags := $(LIBAV_CFLAGS) +maru_brillcodec_device.o-libs := $(LIBAV_LIBS) maru_brillcodec.o-cflags := $(LIBAV_CFLAGS) +maru_brillcodec.o-libs := $(LIBAV_LIBS) + +ifdef CONFIG_DXVA2 +maru_dxva2_plugin.o-cflags := $(LIBAV_CFLAGS) +endif +ifdef CONFIG_VAAPI +maru_brillcodec_vaapi.o-cflags := $(LIBAV_CFLAGS) $(LIBVA_CFLAGS) +endif diff --git a/tizen/src/hw/pci/maru_brillcodec.h b/tizen/src/hw/pci/maru_brillcodec.h index 8ebd9493d2..b5b13ae1ea 100644 --- a/tizen/src/hw/pci/maru_brillcodec.h +++ b/tizen/src/hw/pci/maru_brillcodec.h @@ -49,6 +49,15 @@ #define LIBAVUTIL_VERSION_CHECK (LIBAVUTIL_VERSION_MAJOR < 53) #endif +// version check +#ifndef LIBAVCODEC_VERSION_CHECK +#define LIBAVCODEC_VERSION_CHECK (LIBAVCODEC_VERSION_MAJOR < 55) +#endif + +#ifndef LIBAVUTIL_VERSION_CHECK +#define LIBAVUTIL_VERSION_CHECK (LIBAVUTIL_VERSION_MAJOR < 53) +#endif + /* * Codec Device Structures */