FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavformat
spdif.h
Go to the documentation of this file.
1
/*
2
* IEC 61937 common header
3
* Copyright (c) 2009 Bartlomiej Wolowiec
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVFORMAT_SPDIF_H
23
#define AVFORMAT_SPDIF_H
24
25
#include <stdint.h>
26
#include "
avformat.h
"
27
28
#define SYNCWORD1 0xF872
29
#define SYNCWORD2 0x4E1F
30
#define BURST_HEADER_SIZE 0x8
31
32
enum
IEC61937DataType
{
33
IEC61937_AC3
= 0x01,
///< AC-3 data
34
IEC61937_MPEG1_LAYER1
= 0x04,
///< MPEG-1 layer 1
35
IEC61937_MPEG1_LAYER23
= 0x05,
///< MPEG-1 layer 2 or 3 data or MPEG-2 without extension
36
IEC61937_MPEG2_EXT
= 0x06,
///< MPEG-2 data with extension
37
IEC61937_MPEG2_AAC
= 0x07,
///< MPEG-2 AAC ADTS
38
IEC61937_MPEG2_LAYER1_LSF
= 0x08,
///< MPEG-2, layer-1 low sampling frequency
39
IEC61937_MPEG2_LAYER2_LSF
= 0x09,
///< MPEG-2, layer-2 low sampling frequency
40
IEC61937_MPEG2_LAYER3_LSF
= 0x0A,
///< MPEG-2, layer-3 low sampling frequency
41
IEC61937_DTS1
= 0x0B,
///< DTS type I (512 samples)
42
IEC61937_DTS2
= 0x0C,
///< DTS type II (1024 samples)
43
IEC61937_DTS3
= 0x0D,
///< DTS type III (2048 samples)
44
IEC61937_ATRAC
= 0x0E,
///< Atrac data
45
IEC61937_ATRAC3
= 0x0F,
///< Atrac 3 data
46
IEC61937_ATRACX
= 0x10,
///< Atrac 3 plus data
47
IEC61937_DTSHD
= 0x11,
///< DTS HD data
48
IEC61937_WMAPRO
= 0x12,
///< WMA 9 Professional data
49
IEC61937_MPEG2_AAC_LSF_2048
= 0x13,
///< MPEG-2 AAC ADTS half-rate low sampling frequency
50
IEC61937_MPEG2_AAC_LSF_4096
= 0x13 | 0x20,
///< MPEG-2 AAC ADTS quarter-rate low sampling frequency
51
IEC61937_EAC3
= 0x15,
///< E-AC-3 data
52
IEC61937_TRUEHD
= 0x16,
///< TrueHD data
53
};
54
55
static
const
uint16_t
spdif_mpeg_pkt_offset
[2][3] = {
56
//LAYER1 LAYER2 LAYER3
57
{ 3072, 9216, 4608 },
// MPEG2 LSF
58
{ 1536, 4608, 4608 },
// MPEG1
59
};
60
61
void
ff_spdif_bswap_buf16
(uint16_t *
dst
,
const
uint16_t *src,
int
w);
62
int
ff_spdif_read_packet
(
AVFormatContext
*s,
AVPacket
*
pkt
);
63
int
ff_spdif_probe
(
const
uint8_t
*p_buf,
int
buf_size,
enum
AVCodecID
*codec);
64
65
#endif
/* AVFORMAT_SPDIF_H */
Generated on Sat May 25 2013 03:58:49 for FFmpeg by
1.8.2