FFmpeg
Data Structures | Macros | Functions | Variables
dss.c File Reference
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "avformat.h"
#include "demux.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  DSSDemuxContext
 

Macros

#define DSS_HEAD_OFFSET_AUTHOR   0xc
 
#define DSS_AUTHOR_SIZE   16
 
#define DSS_HEAD_OFFSET_START_TIME   0x26
 
#define DSS_HEAD_OFFSET_END_TIME   0x32
 
#define DSS_TIME_SIZE   12
 
#define DSS_HEAD_OFFSET_ACODEC   0x2a4
 
#define DSS_ACODEC_DSS_SP   0x0 /* SP mode */
 
#define DSS_ACODEC_G723_1   0x2 /* LP mode */
 
#define DSS_HEAD_OFFSET_COMMENT   0x31e
 
#define DSS_COMMENT_SIZE   64
 
#define DSS_BLOCK_SIZE   512
 
#define DSS_AUDIO_BLOCK_HEADER_SIZE   6
 
#define DSS_FRAME_SIZE   42
 

Functions

static int dss_probe (const AVProbeData *p)
 
static int dss_read_metadata_date (AVFormatContext *s, unsigned int offset, const char *key)
 
static int dss_read_metadata_string (AVFormatContext *s, unsigned int offset, unsigned int size, const char *key)
 
static int dss_read_header (AVFormatContext *s)
 
static void dss_skip_audio_header (AVFormatContext *s, AVPacket *pkt)
 
static void dss_sp_byte_swap (DSSDemuxContext *ctx, uint8_t *data)
 
static int dss_sp_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int dss_723_1_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int dss_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int dss_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 

Variables

static const uint8_t frame_size [4] = { 24, 20, 4, 1 }
 
const FFInputFormat ff_dss_demuxer
 

Macro Definition Documentation

◆ DSS_HEAD_OFFSET_AUTHOR

#define DSS_HEAD_OFFSET_AUTHOR   0xc

Definition at line 30 of file dss.c.

◆ DSS_AUTHOR_SIZE

#define DSS_AUTHOR_SIZE   16

Definition at line 31 of file dss.c.

◆ DSS_HEAD_OFFSET_START_TIME

#define DSS_HEAD_OFFSET_START_TIME   0x26

Definition at line 33 of file dss.c.

◆ DSS_HEAD_OFFSET_END_TIME

#define DSS_HEAD_OFFSET_END_TIME   0x32

Definition at line 34 of file dss.c.

◆ DSS_TIME_SIZE

#define DSS_TIME_SIZE   12

Definition at line 35 of file dss.c.

◆ DSS_HEAD_OFFSET_ACODEC

#define DSS_HEAD_OFFSET_ACODEC   0x2a4

Definition at line 37 of file dss.c.

◆ DSS_ACODEC_DSS_SP

#define DSS_ACODEC_DSS_SP   0x0 /* SP mode */

Definition at line 38 of file dss.c.

◆ DSS_ACODEC_G723_1

#define DSS_ACODEC_G723_1   0x2 /* LP mode */

Definition at line 39 of file dss.c.

◆ DSS_HEAD_OFFSET_COMMENT

#define DSS_HEAD_OFFSET_COMMENT   0x31e

Definition at line 41 of file dss.c.

◆ DSS_COMMENT_SIZE

#define DSS_COMMENT_SIZE   64

Definition at line 42 of file dss.c.

◆ DSS_BLOCK_SIZE

#define DSS_BLOCK_SIZE   512

Definition at line 44 of file dss.c.

◆ DSS_AUDIO_BLOCK_HEADER_SIZE

#define DSS_AUDIO_BLOCK_HEADER_SIZE   6

Definition at line 45 of file dss.c.

◆ DSS_FRAME_SIZE

#define DSS_FRAME_SIZE   42

Definition at line 46 of file dss.c.

Function Documentation

◆ dss_probe()

static int dss_probe ( const AVProbeData p)
static

Definition at line 60 of file dss.c.

◆ dss_read_metadata_date()

static int dss_read_metadata_date ( AVFormatContext s,
unsigned int  offset,
const char *  key 
)
static

Definition at line 69 of file dss.c.

Referenced by dss_read_header().

◆ dss_read_metadata_string()

static int dss_read_metadata_string ( AVFormatContext s,
unsigned int  offset,
unsigned int  size,
const char *  key 
)
static

Definition at line 92 of file dss.c.

Referenced by dss_read_header().

◆ dss_read_header()

static int dss_read_header ( AVFormatContext s)
static

Definition at line 114 of file dss.c.

◆ dss_skip_audio_header()

static void dss_skip_audio_header ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 176 of file dss.c.

Referenced by dss_723_1_read_packet(), and dss_sp_read_packet().

◆ dss_sp_byte_swap()

static void dss_sp_byte_swap ( DSSDemuxContext ctx,
uint8_t *  data 
)
static

Definition at line 185 of file dss.c.

Referenced by dss_sp_read_packet().

◆ dss_sp_read_packet()

static int dss_sp_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 205 of file dss.c.

Referenced by dss_read_packet().

◆ dss_723_1_read_packet()

static int dss_723_1_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 257 of file dss.c.

Referenced by dss_read_packet().

◆ dss_read_packet()

static int dss_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 309 of file dss.c.

◆ dss_read_seek()

static int dss_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
)
static

Definition at line 319 of file dss.c.

Variable Documentation

◆ frame_size

const uint8_t frame_size[4] = { 24, 20, 4, 1 }
static

Definition at line 48 of file dss.c.

Referenced by dss_723_1_read_packet().

◆ ff_dss_demuxer

const FFInputFormat ff_dss_demuxer
Initial value:
= {
.p.name = "dss",
.p.long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard (DSS)"),
.p.extensions = "dss",
.priv_data_size = sizeof(DSSDemuxContext),
}

Definition at line 358 of file dss.c.

read_seek
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:151
dss_read_seek
static int dss_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Definition: dss.c:319
read_packet
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_read_callback.c:42
read_header
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:550
DSSDemuxContext
Definition: dss.c:50
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:94
dss_read_packet
static int dss_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: dss.c:309
read_probe
static int read_probe(const AVProbeData *p)
Definition: cdg.c:30
dss_read_header
static int dss_read_header(AVFormatContext *s)
Definition: dss.c:114
dss_probe
static int dss_probe(const AVProbeData *p)
Definition: dss.c:60