/* * osgART/VideoConfig * osgART: AR ToolKit for OpenSceneGraph * * Copyright (c) 2005-2007 ARToolworks, Inc. All rights reserved. * * Rev Date Who Changes * 1.0 2006-12-08 --- Version 1.0 release. * */ /* * This file is part of osgART - AR Toolkit for OpenSceneGraph * * Copyright (c) 2005-2007 ARToolworks, Inc. All rights reserved. * * (See the AUTHORS file in the root of this distribution.) * * * OSGART 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. * * OSGART 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 OSGART; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * */ /** * \file VideoConfig * \brief Types used in defining configuration of video data. * * Types used in defining configuration of video data. */ #ifndef OSGART_VIDEOCONFIG #define OSGART_VIDEOCONFIG 1 #include "osgART/Export" #include namespace osgART { /** * \brief Pixel Format type * */ typedef enum { VIDEOFORMAT_RGB555 = 0, VIDEOFORMAT_RGB565, VIDEOFORMAT_RGB24, VIDEOFORMAT_BGR24, VIDEOFORMAT_RGBA32, VIDEOFORMAT_BGRA32, // Win 32 native. VIDEOFORMAT_ARGB32, // Mac OS X native. VIDEOFORMAT_ABGR32, VIDEOFORMAT_Y8, VIDEOFORMAT_Y16, VIDEOFORMAT_YUV444, VIDEOFORMAT_YUV422, VIDEOFORMAT_YUV422P, VIDEOFORMAT_YUV411, VIDEOFORMAT_YUV411P, VIDEOFORMAT_YUV420P, VIDEOFORMAT_YUV410P, VIDEOFORMAT_GREY8, VIDEOFORMAT_MJPEG, VIDEOFORMAT_ANY } PixelFormatType; /** * \brief Framerate type - define frame rate of the video flux * */ typedef enum { VIDEOFRAMERATE_1_875, VIDEOFRAMERATE_3_75, VIDEOFRAMERATE_5, VIDEOFRAMERATE_7_5, VIDEOFRAMERATE_10, VIDEOFRAMERATE_15, VIDEOFRAMERATE_30, VIDEOFRAMERATE_PAL, VIDEOFRAMERATE_NTSC, VIDEOFRAMERATE_50, VIDEOFRAMERATE_60, VIDEOFRAMERATE_120, VIDEOFRAMERATE_240, VIDEOFRAMERATE_ANY, VIDEOFRAMERATE_MAX } FrameRateType; typedef struct { int id; int width, height; FrameRateType framerate; PixelFormatType type; std::string deviceconfig; } VideoConfiguration; }; #endif