From 68ec69bc44e7d362a3f88fec3459654b270f86cd Mon Sep 17 00:00:00 2001 From: Shalaj Jain Date: Tue, 21 Jul 2015 20:25:16 -0700 Subject: avextensions: Add support for Codec Extension features Add support for Codec extension features like skype, vqzip, b-frame encoding, prefer adaptive playback etc. Add extensions to support encode batching. Also enable Werror for libavextensions. Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333 --- media/libavextensions/Android.mk | 6 +++--- media/libavextensions/mediaplayerservice/AVNuExtensions.h | 2 ++ media/libavextensions/mediaplayerservice/AVNuUtils.cpp | 9 ++++----- media/libavextensions/stagefright/AVExtensions.h | 8 ++++++++ media/libavextensions/stagefright/AVUtils.cpp | 8 +++----- 5 files changed, 20 insertions(+), 13 deletions(-) (limited to 'media/libavextensions') diff --git a/media/libavextensions/Android.mk b/media/libavextensions/Android.mk index 26c9f85..0bc886d 100644 --- a/media/libavextensions/Android.mk +++ b/media/libavextensions/Android.mk @@ -15,7 +15,7 @@ LOCAL_C_INCLUDES:= \ $(TOP)/hardware/qcom/media/mm-core/inc \ $(TOP)/frameworks/av/media/libstagefright \ -LOCAL_CFLAGS += -Wno-multichar +LOCAL_CFLAGS += -Wno-multichar -Werror ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) LOCAL_CFLAGS += -DENABLE_AV_ENHANCEMENTS @@ -42,7 +42,7 @@ LOCAL_C_INCLUDES:= \ $(TOP)/external/flac/include \ $(TOP)/hardware/qcom/media/mm-core/inc -LOCAL_CFLAGS += -Wno-multichar +LOCAL_CFLAGS += -Wno-multichar -Werror ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) LOCAL_CFLAGS += -DENABLE_AV_ENHANCEMENTS @@ -75,7 +75,7 @@ LOCAL_C_INCLUDES:= \ $(TOP)/external/flac/include \ $(TOP)/hardware/qcom/media/mm-core/inc -LOCAL_CFLAGS += -Wno-multichar +LOCAL_CFLAGS += -Wno-multichar -Werror ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) LOCAL_CFLAGS += -DENABLE_AV_ENHANCEMENTS diff --git a/media/libavextensions/mediaplayerservice/AVNuExtensions.h b/media/libavextensions/mediaplayerservice/AVNuExtensions.h index 6ab790f..4d1421c 100644 --- a/media/libavextensions/mediaplayerservice/AVNuExtensions.h +++ b/media/libavextensions/mediaplayerservice/AVNuExtensions.h @@ -81,6 +81,8 @@ struct AVNuUtils { virtual status_t convertToSinkFormatIfNeeded(const sp &, sp &, audio_format_t sinkFormat, bool isOffload); + virtual void printFileName(int fd); + // ----- NO TRESSPASSING BEYOND THIS LINE ------ DECLARE_LOADABLE_SINGLETON(AVNuUtils); }; diff --git a/media/libavextensions/mediaplayerservice/AVNuUtils.cpp b/media/libavextensions/mediaplayerservice/AVNuUtils.cpp index 2e2e511..bc07c90 100644 --- a/media/libavextensions/mediaplayerservice/AVNuUtils.cpp +++ b/media/libavextensions/mediaplayerservice/AVNuUtils.cpp @@ -44,7 +44,6 @@ namespace android { - sp AVNuUtils::createPCMMetaFromSource(const sp &sMeta) { return sMeta; } @@ -93,18 +92,18 @@ void AVNuUtils::setSourcePCMFormat(const sp &) { void AVNuUtils::setDecodedPCMFormat(const sp &) { } + status_t AVNuUtils::convertToSinkFormatIfNeeded(const sp &, sp &, audio_format_t /*sinkFormat*/, bool /*isOffload*/) { return INVALID_OPERATION; } +void AVNuUtils::printFileName(int) {} // ----- NO TRESSPASSING BEYOND THIS LINE ------ -AVNuUtils::AVNuUtils() { -} +AVNuUtils::AVNuUtils() {} -AVNuUtils::~AVNuUtils() { -} +AVNuUtils::~AVNuUtils() {} //static AVNuUtils *AVNuUtils::sInst = diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h index 2ebfcde..f2a079f 100644 --- a/media/libavextensions/stagefright/AVExtensions.h +++ b/media/libavextensions/stagefright/AVExtensions.h @@ -44,6 +44,8 @@ struct IMediaHTTPConnection; struct MediaCodec; struct MediaHTTP; struct NuCachedSource2; +class CameraParameters; +class MediaBuffer; /* * Factory to create objects of base-classes in libstagefright @@ -97,6 +99,12 @@ struct AVUtils { virtual bool canOffloadAPE(const sp &meta); + virtual void extractCustomCameraKeys( + const CameraParameters& /*params*/, sp &/*meta*/) {} + virtual void printFileName(int /*fd*/) {} + virtual void addDecodingTimesFromBatch(MediaBuffer * /*buf*/, + List &/*decodeTimeQueue*/) {} + // ----- NO TRESSPASSING BEYOND THIS LINE ------ DECLARE_LOADABLE_SINGLETON(AVUtils); }; diff --git a/media/libavextensions/stagefright/AVUtils.cpp b/media/libavextensions/stagefright/AVUtils.cpp index 502154f..a683f48 100644 --- a/media/libavextensions/stagefright/AVUtils.cpp +++ b/media/libavextensions/stagefright/AVUtils.cpp @@ -101,7 +101,7 @@ sp AVUtils::createCustomComponentByName( return NULL; } -bool AVUtils::canOffloadAPE(const sp &meta) { +bool AVUtils::canOffloadAPE(const sp &) { return true; } @@ -110,11 +110,9 @@ bool AVUtils::isEnhancedExtension(const char *) { } // ----- NO TRESSPASSING BEYOND THIS LINE ------ -AVUtils::AVUtils() { -} +AVUtils::AVUtils() {} -AVUtils::~AVUtils() { -} +AVUtils::~AVUtils() {} //static AVUtils *AVUtils::sInst = -- cgit v1.1