From a9961f6786d048c247cd41363e2b784e1a5aeab4 Mon Sep 17 00:00:00 2001 From: Manikanta Kanamarlapudi Date: Mon, 28 Sep 2015 16:03:17 +0530 Subject: libstagefright: Set Intra period set intra period for HEVC encoder Change-Id: Id2b3e71b746eaaed76118126d44ad83458d68520 --- media/libavextensions/stagefright/AVExtensions.h | 5 +++++ media/libavextensions/stagefright/AVUtils.cpp | 6 ++++++ 2 files changed, 11 insertions(+) (limited to 'media/libavextensions') diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h index 832fc28..fc04df1 100644 --- a/media/libavextensions/stagefright/AVExtensions.h +++ b/media/libavextensions/stagefright/AVExtensions.h @@ -34,6 +34,7 @@ #include #include #include +#include namespace android { @@ -183,6 +184,10 @@ struct AVUtils { virtual void cacheCaptureBuffers(sp camera, video_encoder encoder); virtual const char *getCustomCodecsLocation(); + virtual void setIntraPeriod( + int nPFrames, int nBFrames, const sp OMXhandle, + IOMX::node_id nodeID); + private: HEVCMuxer mHEVCMuxer; // ----- NO TRESSPASSING BEYOND THIS LINE ------ diff --git a/media/libavextensions/stagefright/AVUtils.cpp b/media/libavextensions/stagefright/AVUtils.cpp index 9219fc2..324ff9b 100644 --- a/media/libavextensions/stagefright/AVUtils.cpp +++ b/media/libavextensions/stagefright/AVUtils.cpp @@ -169,6 +169,12 @@ const char *AVUtils::getCustomCodecsLocation() { return "/etc/media_codecs.xml"; } +void AVUtils::setIntraPeriod( + int, int, const sp, + IOMX::node_id) { + return; +} + // ----- NO TRESSPASSING BEYOND THIS LINE ------ AVUtils::AVUtils() {} -- cgit v1.1 From b8a89c8c3cdcaa95706897b18bff35098df0c817 Mon Sep 17 00:00:00 2001 From: Deva Ramasubramanian Date: Thu, 17 Sep 2015 12:48:59 -0700 Subject: libstagefright: Allow for CameraSourceTimeLapse to be extended Add in hooks to route CameraSourceTimeLapse creation to AVFactory so that we can add our customizations. Change-Id: I309a247ba6e3c5626cfba096677a6dbfeae543f3 --- media/libavextensions/stagefright/AVExtensions.h | 15 ++++++++++++++- media/libavextensions/stagefright/AVFactory.cpp | 18 +++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) (limited to 'media/libavextensions') diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h index fc04df1..9c712e4 100644 --- a/media/libavextensions/stagefright/AVExtensions.h +++ b/media/libavextensions/stagefright/AVExtensions.h @@ -54,6 +54,7 @@ class CameraParameters; class MediaBuffer; struct AudioSource; class CameraSource; +class CameraSourceTimeLapse; class ICamera; class ICameraRecordingProxy; class String16; @@ -85,7 +86,7 @@ struct AVFactory { uint32_t channels, uint32_t outSampleRate = 0); - virtual CameraSource *CreateFromCamera( + virtual CameraSource *CreateCameraSourceFromCamera( const sp &camera, const sp &proxy, int32_t cameraId, @@ -95,6 +96,18 @@ struct AVFactory { int32_t frameRate, const sp& surface, bool storeMetaDataInVideoBuffers = true); + + virtual CameraSourceTimeLapse *CreateCameraSourceTimeLapseFromCamera( + const sp &camera, + const sp &proxy, + int32_t cameraId, + const String16& clientName, + uid_t clientUid, + Size videoSize, + int32_t videoFrameRate, + const sp& surface, + int64_t timeBetweenFrameCaptureUs, + bool storeMetaDataInVideoBuffers = true); // ----- NO TRESSPASSING BEYOND THIS LINE ------ DECLARE_LOADABLE_SINGLETON(AVFactory); }; diff --git a/media/libavextensions/stagefright/AVFactory.cpp b/media/libavextensions/stagefright/AVFactory.cpp index 19977e9..90ac7b2 100644 --- a/media/libavextensions/stagefright/AVFactory.cpp +++ b/media/libavextensions/stagefright/AVFactory.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include "common/ExtensionsLoader.hpp" @@ -88,7 +89,7 @@ AudioSource* AVFactory::createAudioSource( channels, outSampleRate); } -CameraSource* AVFactory::CreateFromCamera( +CameraSource* AVFactory::CreateCameraSourceFromCamera( const sp &camera, const sp &proxy, int32_t cameraId, @@ -103,6 +104,21 @@ CameraSource* AVFactory::CreateFromCamera( storeMetaDataInVideoBuffers); } +CameraSourceTimeLapse* AVFactory::CreateCameraSourceTimeLapseFromCamera( + const sp &camera, + const sp &proxy, + int32_t cameraId, + const String16& clientName, + uid_t clientUid, + Size videoSize, + int32_t videoFrameRate, + const sp& surface, + int64_t timeBetweenFrameCaptureUs, + bool storeMetaDataInVideoBuffers) { + return CameraSourceTimeLapse::CreateFromCamera(camera, proxy, cameraId, + clientName, clientUid, videoSize, videoFrameRate, surface, + timeBetweenFrameCaptureUs, storeMetaDataInVideoBuffers); +} // ----- NO TRESSPASSING BEYOND THIS LINE ------ AVFactory::AVFactory() { } -- cgit v1.1 From 2860671de710281c35df163d343f2ab2ec9bf736 Mon Sep 17 00:00:00 2001 From: Aravind Asam Date: Fri, 25 Sep 2015 14:02:11 -0700 Subject: Opt out of clang till issues are fixed Needed for moving to clang Change-Id: I984ce0d452bcd9025d743c0f081bb0d22587b106 --- media/libavextensions/Android.mk | 3 +++ 1 file changed, 3 insertions(+) (limited to 'media/libavextensions') diff --git a/media/libavextensions/Android.mk b/media/libavextensions/Android.mk index 0bc886d..0380135 100644 --- a/media/libavextensions/Android.mk +++ b/media/libavextensions/Android.mk @@ -22,6 +22,7 @@ ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) endif LOCAL_MODULE:= libavextensions +LOCAL_CLANG := false LOCAL_MODULE_TAGS := optional @@ -49,6 +50,7 @@ ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) endif LOCAL_MODULE:= libavmediaextentions +LOCAL_CLANG := false LOCAL_MODULE_TAGS := optional @@ -82,6 +84,7 @@ ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS),true) endif LOCAL_MODULE:= libavmediaserviceextensions +LOCAL_CLANG := false LOCAL_MODULE_TAGS := optional -- cgit v1.1