summaryrefslogtreecommitdiffstats
path: root/media/libavextensions/stagefright/AVExtensions.h
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-13 12:57:26 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-13 13:16:01 -0800
commit715a22fefe8118d07370a95b48135607ba5fb956 (patch)
tree030ec9c9a8ed481a91a0ee5096003ca8f751a03e /media/libavextensions/stagefright/AVExtensions.h
parent0c19cf7478f4dc10f2739bf6eefa1887a79b48cf (diff)
downloadframeworks_av-715a22fefe8118d07370a95b48135607ba5fb956.zip
frameworks_av-715a22fefe8118d07370a95b48135607ba5fb956.tar.gz
frameworks_av-715a22fefe8118d07370a95b48135607ba5fb956.tar.bz2
stagefright: Finish support for HEVC muxing
* Forward-port CAF L-MR1 code to fill in stubs. Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
Diffstat (limited to 'media/libavextensions/stagefright/AVExtensions.h')
-rw-r--r--media/libavextensions/stagefright/AVExtensions.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h
index 9474d19..f14d217 100644
--- a/media/libavextensions/stagefright/AVExtensions.h
+++ b/media/libavextensions/stagefright/AVExtensions.h
@@ -189,8 +189,31 @@ struct AVUtils {
HEVCMuxer() {};
virtual ~HEVCMuxer() {};
friend struct AVUtils;
+
+ private:
+ struct HEVCParamSet {
+ HEVCParamSet(uint16_t length, const uint8_t *data)
+ : mLength(length), mData(data) {}
+
+ uint16_t mLength;
+ const uint8_t *mData;
+ };
+
+ status_t extractNALRBSPData(const uint8_t *data, size_t size,
+ uint8_t **header, bool *alreadyFilled);
+
+ status_t parserProfileTierLevel(const uint8_t *data, size_t size,
+ uint8_t **header, bool *alreadyFilled);
+
+ const uint8_t *parseHEVCParamSet(const uint8_t *data, size_t length,
+ List<HEVCParamSet> &paramSetList, size_t *paramSetLen);
+
+ size_t parseHEVCCodecSpecificData(const uint8_t *data, size_t size,
+ List<HEVCParamSet> &vidParamSet, List<HEVCParamSet> &seqParamSet,
+ List<HEVCParamSet> &picParamSet );
};
+
virtual inline HEVCMuxer& HEVCMuxerUtils() {
return mHEVCMuxer;
}