/*****************************************************************************
 *
 *  video_constants.h -- Declare most common constants for video handling.
 *
 *  Copyright (C) 2010 Starbuck <starbuck@labdv.com>
 *  All rights reserved.
 *
 *  This file is part of the Gui4 module of the DVDx 4 application.
 *
 *  GNU Lesser General Public License Usage
 *  This file may be used under the terms of the GNU Lesser General
 *  Public License version 2.1 as published by the Free Software
 *  Foundation and appearing in the file LICENSE.LGPL included in the
 *  packaging of this file.  Please review the following information to
 *  ensure the GNU Lesser General Public License version 2.1 requirements
 *  will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 *
 *  GNU General Public License Usage
 *  Alternatively, this file may be used under the terms of the GNU
 *  General Public License version 3.0 as published by the Free Software
 *  Foundation and appearing in the file LICENSE.GPL included in the
 *  packaging of this file.  Please review the following information to
 *  ensure the GNU General Public License version 3.0 requirements will be
 *  met: http://www.gnu.org/copyleft/gpl.html.
 *
 *****************************************************************************/

#ifndef DVDX_CONSTANTS_H
#define DVDX_CONSTANTS_H

//=============
namespace Video
{
//---------------
namespace Encoder
{
enum Encoder { MEncoder = 1, FFmpeg, x264, MKVmerge };	// 0 for undefined
}
//--------------
namespace Player  // and related utilities
{
enum Player { MPlayer = 1, FFprobe, FFplay, MediaInfo, VLC };	// 0 for undefined
}
//-------------
namespace Media
{
enum Media { File = 1, DVD, VCD };	// 0 for undefined
}
//--------------------
namespace Acceleration
{
enum Acceleration { None = 0, OpenGL, DirectX };
}
//--------------
namespace Profile
{
enum Profile { None = 0, Low, Medium, High, User, Copy };
}
//--------------
namespace Status
{
enum Status { IdleEngine = 0, RawStatus, ParseFail, EngineOk, Running, NotResponding, Unknown };
}
//---------------
namespace Parsing
{
enum Parsing { None = 0, Ignore, Format, NoVideo,
				Stream, Resolution, ScaledResolution, Aspect, Length, Deinterlace,
				VideoCodec,
				VolumeId, Titles, Chapters, ChapterList, Angles,
				AudioNum, AudioStream, AudioId, AudioFormat, AudioCodec,
				AudioMainStream, AudioBitrate, AudioSampling, AudioChannelNumber, 
				SubtitleNum, Subtitle,
				Position, Chapter, Speed,
				ExitPlayback, Playing, StartingPlayback, NoDvdVmg, FileNotFound, Error };
}
//=============
}
#endif
