diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-11-25 11:05:44 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-11-25 11:05:44 +0000 |
commit | f238d1fd97cb605da60bbad619baa215d4569c32 (patch) | |
tree | 1a953af7850e03227486bab2a7d6db6560f249d1 /mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h | |
parent | b84df627dc3910e8685de787ba7eb9541e8f2ae8 (diff) | |
download | usdx-f238d1fd97cb605da60bbad619baa215d4569c32.tar.gz usdx-f238d1fd97cb605da60bbad619baa215d4569c32.tar.xz usdx-f238d1fd97cb605da60bbad619baa215d4569c32.zip |
move /src/plugins/media to src/mediaplugins and /game/plugins/media to /game/mediaplugins
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2753 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h')
-rw-r--r-- | mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h b/mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h deleted file mode 100644 index 9b0df889..00000000 --- a/mediaplugin/src/plugins/media/ffmpeg/ffmpeg_video_decode.h +++ /dev/null @@ -1,113 +0,0 @@ -/* UltraStar Deluxe - Karaoke Game - * - * UltraStar Deluxe is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ -#ifndef _FFMPEG_VIDEO_DECODE_H_ -#define _FFMPEG_VIDEO_DECODE_H_ - -#include "ffmpeg_core.h" -#include "core/plugin_video_decode.h" - -// uncomment if you want to see the debug stuff -//#define DEBUG_DISPLAY -//#define DEBUG_FRAMES - -// use BGR-format for accelerated colorspace conversion with swscale -#ifdef USE_SWSCALE -# define PIXEL_FMT_BGR -#endif - -#define PIXEL_FMT_BGR - -#ifdef PIXEL_FMT_BGR -# define PIXEL_FMT_FFMPEG PIX_FMT_BGR24 -# define PIXEL_FMT_SIZE 3 -// looks strange on linux -//# define PIXEL_FMT_FFMPEG PIX_FMT_BGR32; -//# define PIXEL_FMT_SIZE 4; -#else -// looks strange on linux: -# define PIXEL_FMT_FFMPEG PIX_FMT_RGB24 -# define PIXEL_FMT_SIZE 3 -#endif - -extern const videoDecoderInfo_t videoDecoderInfo; - -class FFmpegVideoDecodeStream : public VideoDecodeStream { -private: - bool _opened; //**< stream successfully opened - bool _eof; //**< end-of-file state - - bool _loop; //**< looping enabled - - AVStream *_stream; - int _streamIndex; - AVFormatContext *_formatContext; - AVCodecContext *_codecContext; - AVCodec *_codec; - - AVFrame *_avFrame; - AVFrame *_avFrameRGB; - - uint8_t *_frameBuffer; //**< stores a FFmpeg video frame - bool _frameTexValid; //**< if true, fFrameTex contains the current frame - -#ifdef USE_SWSCALE - SwsContext *_swScaleContext; -#endif - - double _aspect; //**< width/height ratio - - long double _frameDuration; //**< duration of a video frame in seconds (= 1/fps) - long double _frameTime; //**< video time position (absolute) - long double _loopTime; //**< start time of the current loop - - FFmpegVideoDecodeStream(); - - bool decodeFrame(); - void synchronizeTime(AVFrame *frame, double &pts); - - bool _open(const IPath &filename); - void close(); - -public: - virtual ~FFmpegVideoDecodeStream() { - close(); - } - - static FFmpegVideoDecodeStream* open(const IPath &filename); - - virtual void setLoop(bool enable); - virtual bool getLoop(); - - virtual void setPosition(double time); - virtual double getPosition(); - - virtual int getFrameWidth(); - virtual int getFrameHeight(); - - virtual double getFrameAspect(); - virtual uint8_t* getFrame(long double time); -}; - -#endif /* _FFMPEG_VIDEO_DECODE_H_ */ |