FFmpeg  4.0
Macros | Enumerations | Functions | Variables
spdif.h File Reference
#include <stdint.h>
#include "avformat.h"

Go to the source code of this file.

Macros

#define SYNCWORD1   0xF872
 
#define SYNCWORD2   0x4E1F
 
#define BURST_HEADER_SIZE   0x8
 

Enumerations

enum  IEC61937DataType {
  IEC61937_AC3 = 0x01, IEC61937_MPEG1_LAYER1 = 0x04, IEC61937_MPEG1_LAYER23 = 0x05, IEC61937_MPEG2_EXT = 0x06,
  IEC61937_MPEG2_AAC = 0x07, IEC61937_MPEG2_LAYER1_LSF = 0x08, IEC61937_MPEG2_LAYER2_LSF = 0x09, IEC61937_MPEG2_LAYER3_LSF = 0x0A,
  IEC61937_DTS1 = 0x0B, IEC61937_DTS2 = 0x0C, IEC61937_DTS3 = 0x0D, IEC61937_ATRAC = 0x0E,
  IEC61937_ATRAC3 = 0x0F, IEC61937_ATRACX = 0x10, IEC61937_DTSHD = 0x11, IEC61937_WMAPRO = 0x12,
  IEC61937_MPEG2_AAC_LSF_2048 = 0x13, IEC61937_MPEG2_AAC_LSF_4096 = 0x13 | 0x20, IEC61937_EAC3 = 0x15, IEC61937_TRUEHD = 0x16
}
 

Functions

void ff_spdif_bswap_buf16 (uint16_t *dst, const uint16_t *src, int w)
 
int ff_spdif_read_packet (AVFormatContext *s, AVPacket *pkt)
 
int ff_spdif_probe (const uint8_t *p_buf, int buf_size, enum AVCodecID *codec)
 

Variables

static const uint16_t spdif_mpeg_pkt_offset [2][3]
 

Macro Definition Documentation

◆ SYNCWORD1

#define SYNCWORD1   0xF872

Definition at line 28 of file spdif.h.

Referenced by ff_spdif_probe(), ff_spdif_read_packet(), and spdif_write_packet().

◆ SYNCWORD2

#define SYNCWORD2   0x4E1F

Definition at line 29 of file spdif.h.

Referenced by ff_spdif_probe(), ff_spdif_read_packet(), and spdif_write_packet().

◆ BURST_HEADER_SIZE

#define BURST_HEADER_SIZE   0x8

Enumeration Type Documentation

◆ IEC61937DataType

Enumerator
IEC61937_AC3 

AC-3 data.

IEC61937_MPEG1_LAYER1 

MPEG-1 layer 1.

IEC61937_MPEG1_LAYER23 

MPEG-1 layer 2 or 3 data or MPEG-2 without extension.

IEC61937_MPEG2_EXT 

MPEG-2 data with extension.

IEC61937_MPEG2_AAC 

MPEG-2 AAC ADTS.

IEC61937_MPEG2_LAYER1_LSF 

MPEG-2, layer-1 low sampling frequency.

IEC61937_MPEG2_LAYER2_LSF 

MPEG-2, layer-2 low sampling frequency.

IEC61937_MPEG2_LAYER3_LSF 

MPEG-2, layer-3 low sampling frequency.

IEC61937_DTS1 

DTS type I (512 samples)

IEC61937_DTS2 

DTS type II (1024 samples)

IEC61937_DTS3 

DTS type III (2048 samples)

IEC61937_ATRAC 

ATRAC data.

IEC61937_ATRAC3 

ATRAC3 data.

IEC61937_ATRACX 

ATRAC3+ data.

IEC61937_DTSHD 

DTS HD data.

IEC61937_WMAPRO 

WMA 9 Professional data.

IEC61937_MPEG2_AAC_LSF_2048 

MPEG-2 AAC ADTS half-rate low sampling frequency.

IEC61937_MPEG2_AAC_LSF_4096 

MPEG-2 AAC ADTS quarter-rate low sampling frequency.

IEC61937_EAC3 

E-AC-3 data.

IEC61937_TRUEHD 

TrueHD data.

Definition at line 32 of file spdif.h.

Function Documentation

◆ ff_spdif_bswap_buf16()

void ff_spdif_bswap_buf16 ( uint16_t *  dst,
const uint16_t *  src,
int  w 
)

Definition at line 26 of file spdif.c.

Referenced by ff_spdif_read_packet(), s337m_read_packet(), and spdif_write_packet().

◆ ff_spdif_read_packet()

int ff_spdif_read_packet ( AVFormatContext s,
AVPacket pkt 
)

Definition at line 173 of file spdifdec.c.

Referenced by set_spdif().

◆ ff_spdif_probe()

int ff_spdif_probe ( const uint8_t p_buf,
int  buf_size,
enum AVCodecID codec 
)

Definition at line 116 of file spdifdec.c.

Referenced by set_spdif(), and spdif_probe().

Variable Documentation

◆ spdif_mpeg_pkt_offset

const uint16_t spdif_mpeg_pkt_offset[2][3]
static
Initial value:
= {
{ 3072, 9216, 4608 },
{ 1536, 4608, 4608 },
}

Definition at line 55 of file spdif.h.

Referenced by spdif_get_offset_and_codec(), and spdif_header_mpeg().