FFmpeg
Data Structures | Macros | Functions | Variables
xmv.c File Reference
#include <inttypes.h>
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "internal.h"
#include "riff.h"
#include "libavutil/avassert.h"

Go to the source code of this file.

Data Structures

struct  XMVVideoPacket
 A video packet with an XMV file. More...
 
struct  XMVAudioPacket
 An audio packet with an XMV file. More...
 
struct  XMVDemuxContext
 Context for demuxing an XMV file. More...
 

Macros

#define XMV_MIN_HEADER_SIZE   36
 The min size of an XMV header. More...
 
#define XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT   1
 Audio flag: ADPCM'd 5.1 stream, front left / right channels. More...
 
#define XMV_AUDIO_ADPCM51_FRONTCENTERLOW   2
 Audio flag: ADPCM'd 5.1 stream, front center / low frequency channels. More...
 
#define XMV_AUDIO_ADPCM51_REARLEFTRIGHT   4
 Audio flag: ADPCM'd 5.1 stream, rear left / right channels. More...
 
#define XMV_AUDIO_ADPCM51
 Audio flag: Any of the ADPCM'd 5.1 stream flags. More...
 
#define XMV_BLOCK_ALIGN_SIZE   36
 

Functions

static int xmv_probe (const AVProbeData *p)
 
static int xmv_read_close (AVFormatContext *s)
 
static int xmv_read_header (AVFormatContext *s)
 
static void xmv_read_extradata (uint8_t *extradata, AVIOContext *pb)
 
static int xmv_process_packet_header (AVFormatContext *s)
 
static int xmv_fetch_new_packet (AVFormatContext *s)
 
static int xmv_fetch_audio_packet (AVFormatContext *s, AVPacket *pkt, uint32_t stream)
 
static int xmv_fetch_video_packet (AVFormatContext *s, AVPacket *pkt)
 
static int xmv_read_packet (AVFormatContext *s, AVPacket *pkt)
 

Variables

const AVInputFormat ff_xmv_demuxer
 

Detailed Description

Microsoft XMV demuxer

Definition in file xmv.c.

Macro Definition Documentation

◆ XMV_MIN_HEADER_SIZE

#define XMV_MIN_HEADER_SIZE   36

The min size of an XMV header.

Definition at line 38 of file xmv.c.

◆ XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT

#define XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT   1

Audio flag: ADPCM'd 5.1 stream, front left / right channels.

Definition at line 41 of file xmv.c.

◆ XMV_AUDIO_ADPCM51_FRONTCENTERLOW

#define XMV_AUDIO_ADPCM51_FRONTCENTERLOW   2

Audio flag: ADPCM'd 5.1 stream, front center / low frequency channels.

Definition at line 43 of file xmv.c.

◆ XMV_AUDIO_ADPCM51_REARLEFTRIGHT

#define XMV_AUDIO_ADPCM51_REARLEFTRIGHT   4

Audio flag: ADPCM'd 5.1 stream, rear left / right channels.

Definition at line 45 of file xmv.c.

◆ XMV_AUDIO_ADPCM51

#define XMV_AUDIO_ADPCM51
Value:
XMV_AUDIO_ADPCM51_FRONTCENTERLOW | \
XMV_AUDIO_ADPCM51_REARLEFTRIGHT)

Audio flag: Any of the ADPCM'd 5.1 stream flags.

Definition at line 48 of file xmv.c.

◆ XMV_BLOCK_ALIGN_SIZE

#define XMV_BLOCK_ALIGN_SIZE   36

Definition at line 52 of file xmv.c.

Function Documentation

◆ xmv_probe()

static int xmv_probe ( const AVProbeData p)
static

Definition at line 118 of file xmv.c.

◆ xmv_read_close()

static int xmv_read_close ( AVFormatContext s)
static

Definition at line 135 of file xmv.c.

◆ xmv_read_header()

static int xmv_read_header ( AVFormatContext s)
static

Definition at line 144 of file xmv.c.

◆ xmv_read_extradata()

static void xmv_read_extradata ( uint8_t *  extradata,
AVIOContext pb 
)
static

Definition at line 228 of file xmv.c.

Referenced by xmv_process_packet_header().

◆ xmv_process_packet_header()

static int xmv_process_packet_header ( AVFormatContext s)
static

Definition at line 257 of file xmv.c.

Referenced by xmv_fetch_new_packet().

◆ xmv_fetch_new_packet()

static int xmv_fetch_new_packet ( AVFormatContext s)
static

Definition at line 404 of file xmv.c.

Referenced by xmv_read_packet().

◆ xmv_fetch_audio_packet()

static int xmv_fetch_audio_packet ( AVFormatContext s,
AVPacket pkt,
uint32_t  stream 
)
static

Definition at line 434 of file xmv.c.

Referenced by xmv_read_packet().

◆ xmv_fetch_video_packet()

static int xmv_fetch_video_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 480 of file xmv.c.

Referenced by xmv_read_packet().

◆ xmv_read_packet()

static int xmv_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 539 of file xmv.c.

Variable Documentation

◆ ff_xmv_demuxer

const AVInputFormat ff_xmv_demuxer
Initial value:
= {
.name = "xmv",
.long_name = NULL_IF_CONFIG_SMALL("Microsoft XMV"),
.extensions = "xmv",
.priv_data_size = sizeof(XMVDemuxContext),
.flags_internal = FF_FMT_INIT_CLEANUP,
}

Definition at line 578 of file xmv.c.

FF_FMT_INIT_CLEANUP
#define FF_FMT_INIT_CLEANUP
For an AVInputFormat with this flag set read_close() needs to be called by the caller upon read_heade...
Definition: internal.h:48
XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT
#define XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT
Audio flag: ADPCM'd 5.1 stream, front left / right channels.
Definition: xmv.c:41
xmv_read_packet
static int xmv_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: xmv.c:539
read_close
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:141
xmv_read_header
static int xmv_read_header(AVFormatContext *s)
Definition: xmv.c:144
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
read_packet
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
xmv_read_close
static int xmv_read_close(AVFormatContext *s)
Definition: xmv.c:135
XMVDemuxContext
Context for demuxing an XMV file.
Definition: xmv.c:98
xmv_probe
static int xmv_probe(const AVProbeData *p)
Definition: xmv.c:118