FFmpeg
Data Structures | Macros | Functions | Variables
argo_brp.c File Reference
#include "avformat.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avassert.h"
#include "libavutil/internal.h"
#include "argo_asf.h"

Go to the source code of this file.

Data Structures

struct  ArgoBRPFileHeader
 
struct  ArgoBRPBlockHeader
 
struct  ArgoBVIDHeader
 
struct  ArgoMASKHeader
 
struct  ArgoBRPStreamHeader
 
struct  ArgoBRPDemuxContext
 

Macros

#define BRP_TAG   MKTAG('B', 'R', 'P', 'P')
 
#define BRP_FILE_HEADER_SIZE   12
 
#define BRP_BLOCK_HEADER_SIZE   12
 
#define BRP_STREAM_HEADER_SIZE   20
 
#define BRP_MAX_STREAMS   32 /* Soft cap, but even this is overkill. */
 
#define BRP_BASF_LOOKAHEAD   10 /* How many blocks to search for the first BASF one. */
 
#define BVID_HEADER_SIZE   16
 
#define MASK_HEADER_SIZE   12
 
#define BRP_MIN_BUFFER_SIZE
 
#define BRP_CODEC_ID_BVID   MKTAG('B', 'V', 'I', 'D')
 
#define BRP_CODEC_ID_BASF   MKTAG('B', 'A', 'S', 'F')
 
#define BRP_CODEC_ID_MASK   MKTAG('M', 'A', 'S', 'K')
 

Functions

static int argo_brp_probe (const AVProbeData *p)
 
static int read_extradata (AVFormatContext *s, const ArgoBRPStreamHeader *hdr, void *buf, size_t bufsz)
 
static int argo_brp_read_header (AVFormatContext *s)
 
static int argo_brp_read_packet (AVFormatContext *s, AVPacket *pkt)
 

Variables

AVInputFormat ff_argo_brp_demuxer
 

Macro Definition Documentation

◆ BRP_TAG

#define BRP_TAG   MKTAG('B', 'R', 'P', 'P')

Definition at line 30 of file argo_brp.c.

◆ BRP_FILE_HEADER_SIZE

#define BRP_FILE_HEADER_SIZE   12

Definition at line 31 of file argo_brp.c.

◆ BRP_BLOCK_HEADER_SIZE

#define BRP_BLOCK_HEADER_SIZE   12

Definition at line 32 of file argo_brp.c.

◆ BRP_STREAM_HEADER_SIZE

#define BRP_STREAM_HEADER_SIZE   20

Definition at line 33 of file argo_brp.c.

◆ BRP_MAX_STREAMS

#define BRP_MAX_STREAMS   32 /* Soft cap, but even this is overkill. */

Definition at line 34 of file argo_brp.c.

◆ BRP_BASF_LOOKAHEAD

#define BRP_BASF_LOOKAHEAD   10 /* How many blocks to search for the first BASF one. */

Definition at line 35 of file argo_brp.c.

◆ BVID_HEADER_SIZE

#define BVID_HEADER_SIZE   16

Definition at line 36 of file argo_brp.c.

◆ MASK_HEADER_SIZE

#define MASK_HEADER_SIZE   12

Definition at line 37 of file argo_brp.c.

◆ BRP_MIN_BUFFER_SIZE

#define BRP_MIN_BUFFER_SIZE

◆ BRP_CODEC_ID_BVID

#define BRP_CODEC_ID_BVID   MKTAG('B', 'V', 'I', 'D')

Definition at line 44 of file argo_brp.c.

◆ BRP_CODEC_ID_BASF

#define BRP_CODEC_ID_BASF   MKTAG('B', 'A', 'S', 'F')

Definition at line 45 of file argo_brp.c.

◆ BRP_CODEC_ID_MASK

#define BRP_CODEC_ID_MASK   MKTAG('M', 'A', 'S', 'K')

Definition at line 46 of file argo_brp.c.

Function Documentation

◆ argo_brp_probe()

static int argo_brp_probe ( const AVProbeData p)
static

Definition at line 100 of file argo_brp.c.

◆ read_extradata()

static int read_extradata ( AVFormatContext s,
const ArgoBRPStreamHeader hdr,
void *  buf,
size_t  bufsz 
)
static

Definition at line 108 of file argo_brp.c.

Referenced by argo_brp_read_header().

◆ argo_brp_read_header()

static int argo_brp_read_header ( AVFormatContext s)
static

Definition at line 150 of file argo_brp.c.

◆ argo_brp_read_packet()

static int argo_brp_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 350 of file argo_brp.c.

Variable Documentation

◆ ff_argo_brp_demuxer

AVInputFormat ff_argo_brp_demuxer
Initial value:
= {
.name = "argo_brp",
.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games BRP"),
.priv_data_size = sizeof(ArgoBRPDemuxContext),
}

Definition at line 416 of file argo_brp.c.

argo_brp_read_header
static int argo_brp_read_header(AVFormatContext *s)
Definition: argo_brp.c:150
argo_brp_read_packet
static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: argo_brp.c:350
BRP_BLOCK_HEADER_SIZE
#define BRP_BLOCK_HEADER_SIZE
Definition: argo_brp.c:32
ArgoBRPDemuxContext
Definition: argo_brp.c:90
FFMAX3
#define FFMAX3(a, b, c)
Definition: common.h:104
MASK_HEADER_SIZE
#define MASK_HEADER_SIZE
Definition: argo_brp.c:37
BRP_FILE_HEADER_SIZE
#define BRP_FILE_HEADER_SIZE
Definition: argo_brp.c:31
read_header
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:527
read_probe
static int read_probe(const AVProbeData *pd)
Definition: jvdec.c:55
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:117
BRP_STREAM_HEADER_SIZE
#define BRP_STREAM_HEADER_SIZE
Definition: argo_brp.c:33
argo_brp_probe
static int argo_brp_probe(const AVProbeData *p)
Definition: argo_brp.c:100
read_packet
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
BVID_HEADER_SIZE
#define BVID_HEADER_SIZE
Definition: argo_brp.c:36