/* * Copyright (c) 2012 Yoann Blein * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #define VPX_CODEC_DISABLE_COMPAT 1 #include "vpx/vpx_decoder.h" namespace Swift { class Image; class VP8Decoder : public VideoDecoder { public: VP8Decoder(); virtual ~VP8Decoder(); void updateCodecConfig(); virtual void decodeFrame(const std::vector &frame, int pictureID); private: Image convertYV12toRGB(const vpx_image_t* img); private: vpx_codec_iface_t* codecInterface; vpx_codec_ctx_t codecContext; vpx_codec_flags_t codecFlags; }; }