FFmpeg
Loading...
Searching...
No Matches
argo_brp.c File Reference
#include "avformat.h"
#include "avio_internal.h"
#include "demux.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

const FFInputFormat ff_argo_brp_demuxer
 

Macro Definition Documentation

◆ BRP_TAG

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

Definition at line 32 of file argo_brp.c.

Referenced by argo_brp_probe(), and argo_brp_read_header().

◆ BRP_FILE_HEADER_SIZE

#define BRP_FILE_HEADER_SIZE   12

Definition at line 33 of file argo_brp.c.

Referenced by argo_brp_read_header().

◆ BRP_BLOCK_HEADER_SIZE

#define BRP_BLOCK_HEADER_SIZE   12

Definition at line 34 of file argo_brp.c.

Referenced by argo_brp_read_header(), and argo_brp_read_packet().

◆ BRP_STREAM_HEADER_SIZE

#define BRP_STREAM_HEADER_SIZE   20

Definition at line 35 of file argo_brp.c.

Referenced by argo_brp_read_header().

◆ BRP_MAX_STREAMS

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

Definition at line 36 of file argo_brp.c.

Referenced by argo_brp_read_header().

◆ BRP_BASF_LOOKAHEAD

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

Definition at line 37 of file argo_brp.c.

Referenced by argo_brp_read_header().

◆ BVID_HEADER_SIZE

#define BVID_HEADER_SIZE   16

Definition at line 38 of file argo_brp.c.

Referenced by read_extradata().

◆ MASK_HEADER_SIZE

#define MASK_HEADER_SIZE   12

Definition at line 39 of file argo_brp.c.

Referenced by read_extradata().

◆ BRP_MIN_BUFFER_SIZE

#define BRP_MIN_BUFFER_SIZE
Value:
#define BRP_STREAM_HEADER_SIZE
Definition argo_brp.c:35
#define BVID_HEADER_SIZE
Definition argo_brp.c:38
#define BRP_FILE_HEADER_SIZE
Definition argo_brp.c:33
#define BRP_BLOCK_HEADER_SIZE
Definition argo_brp.c:34
#define MASK_HEADER_SIZE
Definition argo_brp.c:39
#define FFMAX3(a, b, c)
Definition macros.h:48

Definition at line 40 of file argo_brp.c.

Referenced by argo_brp_read_header(), and argo_brp_read_packet().

◆ BRP_CODEC_ID_BVID

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

Definition at line 46 of file argo_brp.c.

Referenced by argo_brp_read_header(), argo_brp_read_packet(), and read_extradata().

◆ BRP_CODEC_ID_BASF

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

Definition at line 47 of file argo_brp.c.

Referenced by argo_brp_read_header(), and read_extradata().

◆ BRP_CODEC_ID_MASK

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

Definition at line 48 of file argo_brp.c.

Referenced by argo_brp_read_header(), and read_extradata().

Function Documentation

◆ argo_brp_probe()

static int argo_brp_probe ( const AVProbeData * p)
static

Definition at line 102 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 110 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 346 of file argo_brp.c.

Variable Documentation

◆ ff_argo_brp_demuxer

const FFInputFormat ff_argo_brp_demuxer
Initial value:
= {
.p.name = "argo_brp",
.p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games BRP"),
.priv_data_size = sizeof(ArgoBRPDemuxContext),
}
static int argo_brp_read_header(AVFormatContext *s)
Definition argo_brp.c:150
static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition argo_brp.c:346
static int argo_brp_probe(const AVProbeData *p)
Definition argo_brp.c:102
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
static int read_probe(const AVProbeData *p)
Definition cdg.c:30
static int read_header(FFV1Context *f, RangeCoder *c)
Definition ffv1dec.c:578
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88

Definition at line 412 of file argo_brp.c.