From 631fffee8a28b1bec5ed1f1d26a20e0135967f99 Mon Sep 17 00:00:00 2001 From: Mamadou DIOP Date: Mon, 17 Aug 2015 01:56:35 +0200 Subject: - --- .../0001-solve-ndk-structure-problems.patch | 58 ++++++++++++++++++++++ thirdparties/patches/ffmpeg_libx24_svn.patch | 43 ++++++++++++++++ thirdparties/patches/ffmpeg_libx264_git.patch | 23 +++++++++ 3 files changed, 124 insertions(+) create mode 100644 thirdparties/patches/0001-solve-ndk-structure-problems.patch create mode 100644 thirdparties/patches/ffmpeg_libx24_svn.patch create mode 100644 thirdparties/patches/ffmpeg_libx264_git.patch (limited to 'thirdparties/patches') diff --git a/thirdparties/patches/0001-solve-ndk-structure-problems.patch b/thirdparties/patches/0001-solve-ndk-structure-problems.patch new file mode 100644 index 0000000..04bc75b --- /dev/null +++ b/thirdparties/patches/0001-solve-ndk-structure-problems.patch @@ -0,0 +1,58 @@ +Index: android-projects/root.mk +=================================================================== +--- android-projects/root.mk (revision 551) ++++ android-projects/root.mk (working copy) +@@ -2,10 +2,10 @@ + ## Root configuration file shared by all android projects. + ###### + +-export ANDROID_NDK_ROOT=/cygdrive/c/android-ndk-r4b ++export ANDROID_NDK_ROOT=/media/dati/projects/android-dk/android-ndk-r5b + export ANDROID_SDK_ROOT=/cygdrive/c/android-sdk + export ANDROID_PLATFORM=android-3 +-export ANDROID_HOST=windows ++export ANDROID_HOST=linux-x86 + export ANDROID_GCC_VER=4.4.0 + + +@@ -18,13 +18,30 @@ + # Path where to copy libraries (*.so) -on the device or emulator- + export LIB_DIR=/system/lib + ++# Test the NDK directory structure ++export ANDROID_NDK_BASE=$(shell if [ -r $(ANDROID_NDK_ROOT)/build/platforms ] ; then \ ++ echo $(ANDROID_NDK_ROOT)/build/platforms ; \ ++ elif [ -r $(ANDROID_NDK_ROOT)/platforms ] ; then \ ++ echo $(ANDROID_NDK_ROOT)/platforms ; \ ++ else \ ++ echo "Err_Unable_to_recognize_the_NDK_structure_for_ANDROID_NDK_BASE" ; \ ++ fi) ++ ++export ANDROID_NDK_TOOL_BASE=$(shell if [ -r $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/arm-eabi-$(ANDROID_GCC_VER) ] ; then \ ++ echo $(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/arm-eabi-$(ANDROID_GCC_VER) ; \ ++ elif [ -r $(ANDROID_NDK_ROOT)/toolchains/arm-eabi-$(ANDROID_GCC_VER)/prebuilt/$(ANDROID_HOST) ] ; then \ ++ echo $(ANDROID_NDK_ROOT)/toolchains/arm-eabi-$(ANDROID_GCC_VER)/prebuilt/$(ANDROID_HOST) ; \ ++ else \ ++ echo "Err_Unable_to_recognize_the_NDK_structure_for_ANDROID_NDK_TOOL_BASE" ; \ ++ fi) ++ + ################################################################################## + + export AR=arm-eabi-ar + export CC=arm-eabi-gcc-$(ANDROID_GCC_VER) + export CPP=arm-eabi-g++ + +-export CFLAGS_COMMON=$(CFLAGS) $(DEBUG_FLAGS) -I$(ANDROID_NDK_ROOT)/build/platforms/$(ANDROID_PLATFORM)/arch-arm/usr/include \ ++export CFLAGS_COMMON=$(CFLAGS) $(DEBUG_FLAGS) -I$(ANDROID_NDK_BASE)/$(ANDROID_PLATFORM)/arch-arm/usr/include \ + -msoft-float \ + -fpic \ + -mthumb-interwork \ +@@ -57,7 +74,7 @@ + -DANDROID + #-mthumb + +-export LDFLAGS_COMMON=$(LDFLAGS) -Wl,-rpath=/system/lib,-rpath-link=$(ANDROID_NDK_ROOT)/build/platforms/$(ANDROID_PLATFORM)/arch-arm/usr/lib,-rpath-link=$(OUTPUT_DIR),-dynamic-linker=/system/bin/linker,-T,$(ANDROID_NDK_ROOT)/build/prebuilt/$(ANDROID_HOST)/arm-eabi-$(ANDROID_GCC_VER)/arm-eabi/lib/ldscripts/armelf.xsc -L$(ANDROID_NDK_ROOT)/build/platforms/$(ANDROID_PLATFORM)/arch-arm/usr/lib ++export LDFLAGS_COMMON=$(LDFLAGS) -Wl,-rpath=/system/lib,-rpath-link=$(ANDROID_NDK_BASE)/$(ANDROID_PLATFORM)/arch-arm/usr/lib,-rpath-link=$(OUTPUT_DIR),-dynamic-linker=/system/bin/linker,-T,$(ANDROID_NDK_TOOL_BASE)/arm-eabi/lib/ldscripts/armelf.xsc -L$(ANDROID_NDK_BASE)/$(ANDROID_PLATFORM)/arch-arm/usr/lib + export LDFLAGS_COMMON+=-nostdlib -lc -L$(OUTPUT_DIR) + + ifeq ($(BT), static) diff --git a/thirdparties/patches/ffmpeg_libx24_svn.patch b/thirdparties/patches/ffmpeg_libx24_svn.patch new file mode 100644 index 0000000..b9cf089 --- /dev/null +++ b/thirdparties/patches/ffmpeg_libx24_svn.patch @@ -0,0 +1,43 @@ +Index: libx264.c +=================================================================== +--- libx264.c (revision 24652) ++++ libx264.c (working copy) +@@ -100,7 +100,14 @@ + } + + x4->pic.i_pts = frame->pts; +- x4->pic.i_type = X264_TYPE_AUTO; ++ ++ // by MDI ++ if(frame->pict_type == FF_I_TYPE){ ++ x4->pic.i_type = X264_TYPE_IDR; ++ } ++ else{ ++ x4->pic.i_type = X264_TYPE_AUTO; ++ } + } + + do { +@@ -153,7 +160,8 @@ + X264Context *x4 = avctx->priv_data; + + x4->sei_size = 0; +- x264_param_default(&x4->params); ++ x264_param_default_preset(&x4->params, "veryfast", "zerolatency"); // By MDI ++ //x264_param_default(&x4->params); + + x4->params.pf_log = X264_log; + x4->params.p_log_private = avctx; +@@ -164,6 +172,12 @@ + x4->params.rc.i_vbv_buffer_size = avctx->rc_buffer_size / 1000; + x4->params.rc.i_vbv_max_bitrate = avctx->rc_max_rate / 1000; + x4->params.rc.b_stat_write = avctx->flags & CODEC_FLAG_PASS1; ++ ++ // --by MDI begin ++ //x4->params.i_slice_max_size = 1350; ++ //x4->params.rc.i_lookahead = 0; ++ // --by MDI end ++ + if (avctx->flags & CODEC_FLAG_PASS2) { + x4->params.rc.b_stat_read = 1; + } else { diff --git a/thirdparties/patches/ffmpeg_libx264_git.patch b/thirdparties/patches/ffmpeg_libx264_git.patch new file mode 100644 index 0000000..e38822f --- /dev/null +++ b/thirdparties/patches/ffmpeg_libx264_git.patch @@ -0,0 +1,23 @@ +diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c +old mode 100644 +new mode 100755 +index a2d64d1..7a2905f +--- a/libavcodec/libx264.c ++++ b/libavcodec/libx264.c +@@ -282,14 +282,14 @@ static av_cold int X264_init(AVCodecContext *avctx) + int sw,sh; + + x264_param_default(&x4->params); +- + x4->params.b_deblocking_filter = avctx->flags & CODEC_FLAG_LOOP_FILTER; + + x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor); + x4->params.rc.f_pb_factor = avctx->b_quant_factor; + x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset; + if (x4->preset || x4->tune) +- if (x264_param_default_preset(&x4->params, x4->preset, x4->tune) < 0) { ++ if (/*x264_param_default_preset(&x4->params, x4->preset, x4->tune)*/ ++ x264_param_default_preset(&x4->params, "superfast", "zerolatency") < 0) { + int i; + av_log(avctx, AV_LOG_ERROR, "Error setting preset/tune %s/%s.\n", x4->preset, x4->tune); + av_log(avctx, AV_LOG_INFO, "Possible presets:"); -- cgit v1.1