/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /*************************************************************************** * iso11172-3.h * * Tue Sep 6 13:10:48 CEST 2005 * Copyright 2005 Bent Bisballe Nyeng * deva@aasimon.org ****************************************************************************/ /* * This file is part of MIaV. * * MIaV 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. * * MIaV 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 MIaV; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef __MIAV_ISO11172_3_H__ #define __MIAV_ISO11172_3_H__ namespace ISO11172_3 { //////////////////////////////////////////////////// // Types //////////////////////////////////////////////////// typedef struct { uint32_t emphasis:2; uint32_t original_home:1; uint32_t copyright:1; uint32_t mode_extension:2; uint32_t mode:2; uint32_t private_bit:1; uint32_t padding_bit:1; uint32_t sampling_frequency:2; uint32_t bitrate_index:4; uint32_t protection_bit:1; uint32_t layer:2; uint32_t ID:1; uint32_t syncword:12; } header; //////////////////////////////////////////////////// // Constants //////////////////////////////////////////////////// typedef enum { ID_RESERVED = 0, ID_MPEG = 1 } IDs; typedef enum { LAYER_RESERVED = 0x00, LAYER_III = 0x01, LAYER_II = 0x10, LAYER_I = 0x11 } layers; typedef enum { CRC_ON = 0, CRC_OFF = 1 } crcs; typedef enum { MODE_STEREO = 0x00, MODE_JOINT_STEREO = 0x01, MODE_DUAL_CHANNEL = 0x10, MODE_SINGLE_CHANNEL = 0x11, } modes; //////////////////////////////////////////////////// // Methods //////////////////////////////////////////////////// }; #endif/*__MIAV_ISO11172_3_H__*/