182b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON/* 282b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* Copyright (c) 2009-2011 Intel Corporation. All rights reserved. 382b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* 482b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* Licensed under the Apache License, Version 2.0 (the "License"); 582b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* you may not use this file except in compliance with the License. 682b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* You may obtain a copy of the License at 782b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* 882b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* http://www.apache.org/licenses/LICENSE-2.0 982b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* 1082b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* Unless required by applicable law or agreed to in writing, software 1182b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* distributed under the License is distributed on an "AS IS" BASIS, 1282b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1382b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* See the License for the specific language governing permissions and 1482b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON* limitations under the License. 1582b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON*/ 1682b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 1782b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON#ifndef VIDEO_DECODER_AVC_SECURE_H_ 1882b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON#define VIDEO_DECODER_AVC_SECURE_H_ 1982b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 2082b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON#include "VideoDecoderAVC.h" 2182b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON#include "secvideoparser.h" 2282b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 2382b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTONclass VideoDecoderAVCSecure : public VideoDecoderAVC { 2482b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTONpublic: 2582b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON VideoDecoderAVCSecure(const char *mimeType); 2682b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual ~VideoDecoderAVCSecure(); 2782b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual Decode_Status start(VideoConfigBuffer *buffer); 2882b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual void stop(void); 2982b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual Decode_Status decode(VideoDecodeBuffer *buffer); 3082b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 3182b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTONprotected: 3282b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual Decode_Status getCodecSpecificConfigs(VAProfile profile, VAConfigID*config); 3382b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 3482b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTONprivate: 3582b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON virtual Decode_Status decodeSlice(vbp_data_h264 *data, uint32_t picIndex, uint32_t sliceIndex); 3682b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTONprivate: 3782b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON pavp_info_t mEncParam; 3882b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON uint8_t *mNaluHeaderBuffer; 3982b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON uint8_t *mSliceHeaderBuffer; 4082b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON uint32_t mIsEncryptData; 4182b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON uint32_t mFrameSize; 4282b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON}; 4382b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON 4482b428e49a70ddc051a36d2b3a25d90db79770dcGuilhem IMBERTON#endif /* VIDEO_DECODER_AVC_SECURE_H_ */ 45