Gnash  0.8.11dev
VideoConverterFfmpeg.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc.
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 #ifndef GNASH_VIDEOCONVERTERFFMPEG_H
20 #define GNASH_VIDEOCONVERTERFFMPEG_H
21 
22 #include "ffmpegHeaders.h"
23 #include "VideoConverter.h"
24 
25 namespace gnash {
26 namespace media {
27 namespace ffmpeg {
28 
29 class SwsContextWrapper;
30 
32 
33 public:
35 
37 
38  std::unique_ptr<ImgBuf> convert(const ImgBuf& src);
39 
40 private:
41 
42 #if HAVE_SWSCALE_H
43  std::unique_ptr<SwsContextWrapper> _swsContext;
44 #endif
45 };
46 
47 }
48 }
49 }
50 
51 #endif // GNASH_VIDEOCONVERTERFFMPEG_H
AV_PIX_FMT_UYVY422
#define AV_PIX_FMT_UYVY422
Definition: ffmpegHeaders.h:203
ffmpegHeaders.h
AV_PIX_FMT_YUVJ420P
#define AV_PIX_FMT_YUVJ420P
Definition: ffmpegHeaders.h:197
height
@ height
Definition: klash_part.cpp:329
VideoConverter.h
gnash::media::ffmpeg::VideoConverterFfmpeg::convert
std::unique_ptr< ImgBuf > convert(const ImgBuf &src)
Convert a (video) image from one colorspace to another.
Definition: VideoConverterFfmpeg.cpp:134
gnash::media::ImgBuf
Image buffer wrapper.
Definition: VideoConverter.h:44
AV_PIX_FMT_YUVJ422P
#define AV_PIX_FMT_YUVJ422P
Definition: ffmpegHeaders.h:195
gnash::key::i
@ i
Definition: GnashKey.h:155
_
#define _(String)
Definition: log.h:44
GNASH_FOURCC
#define GNASH_FOURCC(a, b, c, d)
VideoConverterFfmpeg.h
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::media::ffmpeg::VideoConverterFfmpeg::VideoConverterFfmpeg
VideoConverterFfmpeg(ImgBuf::Type4CC srcFormat, ImgBuf::Type4CC dstFormat)
Definition: VideoConverterFfmpeg.cpp:118
AV_PIX_FMT_NONE
#define AV_PIX_FMT_NONE
Definition: ffmpegHeaders.h:205
gnash::media::ImgBuf::height
size_t height
Definition: VideoConverter.h:78
AV_PIX_FMT_RGB24
#define AV_PIX_FMT_RGB24
Definition: ffmpegHeaders.h:206
gnash::media::ImgBuf::width
size_t width
Definition: VideoConverter.h:77
gnash::media::VideoConverter
Abstract base class for video image space conversion.
Definition: VideoConverter.h:88
AV_PIX_FMT_YUV440P
#define AV_PIX_FMT_YUV440P
Definition: ffmpegHeaders.h:192
AV_PIX_FMT_UYYVYY411
#define AV_PIX_FMT_UYYVYY411
Definition: ffmpegHeaders.h:204
AV_PIX_FMT_YUVJ444P
#define AV_PIX_FMT_YUVJ444P
Definition: ffmpegHeaders.h:191
gnash::key::code
code
Definition: GnashKey.h:44
gnash::media::ImgBuf::Type4CC
std::uint32_t Type4CC
Definition: VideoConverter.h:45
gnash::media::ffmpeg::VideoConverterFfmpeg::~VideoConverterFfmpeg
~VideoConverterFfmpeg()
Definition: VideoConverterFfmpeg.cpp:127
AVPixelFormat
#define AVPixelFormat
Definition: ffmpegHeaders.h:189
AV_PIX_FMT_YUV422P
#define AV_PIX_FMT_YUV422P
Definition: ffmpegHeaders.h:194
AV_PIX_FMT_YUV411P
#define AV_PIX_FMT_YUV411P
Definition: ffmpegHeaders.h:198
log.h
gnash::media::ffmpeg::VideoConverterFfmpeg
Definition: VideoConverterFfmpeg.h:31
gnashconfig.h
AV_PIX_FMT_YUV410P
#define AV_PIX_FMT_YUV410P
Definition: ffmpegHeaders.h:199
AV_PIX_FMT_YUV420P
#define AV_PIX_FMT_YUV420P
Definition: ffmpegHeaders.h:196
AV_PIX_FMT_NV12
#define AV_PIX_FMT_NV12
Definition: ffmpegHeaders.h:200
AV_PIX_FMT_YUVJ440P
#define AV_PIX_FMT_YUVJ440P
Definition: ffmpegHeaders.h:193
AV_PIX_FMT_YUYV422
#define AV_PIX_FMT_YUYV422
Definition: ffmpegHeaders.h:202
gnash::media::ffmpeg::fourcc_to_ffmpeg
AVPixelFormat fourcc_to_ffmpeg(ImgBuf::Type4CC code)
Definition: VideoConverterFfmpeg.cpp:61
AV_PIX_FMT_YUV444P
#define AV_PIX_FMT_YUV444P
Definition: ffmpegHeaders.h:190
gnash::media::VideoConverter::_dst_fmt
ImgBuf::Type4CC _dst_fmt
Definition: VideoConverter.h:109
gnash::media::ImgBuf::stride
std::array< size_t, 4 > stride
Definition: VideoConverter.h:80
width
@ width
Definition: klash_part.cpp:329
AV_PIX_FMT_NV21
#define AV_PIX_FMT_NV21
Definition: ffmpegHeaders.h:201
GnashException.h
gnash::MediaException
An exception from MediaHandler subsystem.
Definition: GnashException.h:50
gnash::media::ImgBuf::data
std::uint8_t * data
Definition: VideoConverter.h:74