1/* 2* Copyright (c) 2009-2011 Intel Corporation. All rights reserved. 3* 4* Licensed under the Apache License, Version 2.0 (the "License"); 5* you may not use this file except in compliance with the License. 6* You may obtain a copy of the License at 7* 8* http://www.apache.org/licenses/LICENSE-2.0 9* 10* Unless required by applicable law or agreed to in writing, software 11* distributed under the License is distributed on an "AS IS" BASIS, 12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* See the License for the specific language governing permissions and 14* limitations under the License. 15*/ 16 17#ifndef VIDEO_DECODER_AVC_SECURE_H_ 18#define VIDEO_DECODER_AVC_SECURE_H_ 19 20#include "VideoDecoderAVC.h" 21#include "secvideoparser.h" 22 23class VideoDecoderAVCSecure : public VideoDecoderAVC { 24public: 25 VideoDecoderAVCSecure(const char *mimeType); 26 virtual ~VideoDecoderAVCSecure(); 27 virtual Decode_Status start(VideoConfigBuffer *buffer); 28 virtual void stop(void); 29 virtual Decode_Status decode(VideoDecodeBuffer *buffer); 30 31protected: 32 virtual Decode_Status getCodecSpecificConfigs(VAProfile profile, VAConfigID*config); 33 34private: 35 virtual Decode_Status decodeSlice(vbp_data_h264 *data, uint32_t picIndex, uint32_t sliceIndex); 36private: 37 pavp_info_t mEncParam; 38 uint8_t *mNaluHeaderBuffer; 39 uint8_t *mSliceHeaderBuffer; 40 uint32_t mIsEncryptData; 41 uint32_t mFrameSize; 42}; 43 44#endif /* VIDEO_DECODER_AVC_SECURE_H_ */ 45