FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
riff.h File Reference

internal header for RIFF based (de)muxers do NOT include this in end user applications More...

#include "libavcodec/avcodec.h"
#include "avio.h"
#include "internal.h"
#include "metadata.h"

Go to the source code of this file.

Data Structures

struct  AVCodecGuid
 

Macros

#define FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX   0x00000001
 Tell ff_put_wav_header() to use WAVEFORMATEX even for PCM codecs. More...
 
#define FF_PUT_WAV_HEADER_SKIP_CHANNELMASK   0x00000002
 Tell ff_put_wav_header() to write an empty channel mask. More...
 
#define FF_PRI_GUID
 
#define FF_ARG_GUID(g)
 
#define FF_MEDIASUBTYPE_BASE_GUID   0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71
 
#define FF_AMBISONIC_BASE_GUID   0x21, 0x07, 0xD3, 0x11, 0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00
 

Typedefs

typedef uint8_t ff_asf_guid [16]
 

Functions

int64_t ff_start_tag (AVIOContext *pb, const char *tag)
 
void ff_end_tag (AVIOContext *pb, int64_t start)
 
int ff_get_bmp_header (AVIOContext *pb, AVStream *st, unsigned *esize)
 Read BITMAPINFOHEADER structure and set AVStream codec width, height and bits_per_encoded_sample fields. More...
 
void ff_put_bmp_header (AVIOContext *pb, AVCodecContext *enc, const AVCodecTag *tags, int for_asf, int ignore_extradata)
 
int ff_put_wav_header (AVIOContext *pb, AVCodecContext *enc, int flags)
 Write WAVEFORMAT header structure. More...
 
enum AVCodecID ff_wav_codec_get_id (unsigned int tag, int bps)
 
int ff_get_wav_header (AVFormatContext *s, AVIOContext *pb, AVCodecContext *codec, int size, int big_endian)
 
void ff_parse_specific_params (AVStream *st, int *au_rate, int *au_ssize, int *au_scale)
 
int ff_read_riff_info (AVFormatContext *s, int64_t size)
 
void ff_riff_write_info (AVFormatContext *s)
 Write all recognized RIFF tags from s->metadata. More...
 
void ff_riff_write_info_tag (AVIOContext *pb, const char *tag, const char *str)
 Write a single RIFF info tag. More...
 
static av_always_inline int ff_guidcmp (const void *g1, const void *g2)
 
int ff_get_guid (AVIOContext *s, ff_asf_guid *g)
 
void ff_put_guid (AVIOContext *s, const ff_asf_guid *g)
 
const ff_asf_guidff_get_codec_guid (enum AVCodecID id, const AVCodecGuid *av_guid)
 
enum AVCodecID ff_codec_guid_get_id (const AVCodecGuid *guids, ff_asf_guid guid)
 

Variables

const AVMetadataConv ff_riff_info_conv []
 
const AVCodecTag ff_codec_bmp_tags []
 
const AVCodecTag ff_codec_wav_tags []
 
const AVCodecGuid ff_codec_wav_guids []
 

Detailed Description

internal header for RIFF based (de)muxers do NOT include this in end user applications

Definition in file riff.h.

Macro Definition Documentation

#define FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX   0x00000001

Tell ff_put_wav_header() to use WAVEFORMATEX even for PCM codecs.

Definition at line 53 of file riff.h.

Referenced by asf_write_header1(), ff_put_wav_header(), mkv_write_codecprivate(), and mov_write_wfex_tag().

#define FF_PUT_WAV_HEADER_SKIP_CHANNELMASK   0x00000002

Tell ff_put_wav_header() to write an empty channel mask.

Definition at line 58 of file riff.h.

Referenced by avi_write_header(), and ff_put_wav_header().

#define FF_PRI_GUID
Value:
"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x " \
"{%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x}"

Definition at line 98 of file riff.h.

Referenced by parse_chunks(), parse_legacy_attrib(), parse_media_type(), parse_waveformatex(), qcp_read_header(), and wtvfile_open2().

#define FF_ARG_GUID (   g)
Value:
g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], \
g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15],\
g[3], g[2], g[1], g[0], g[5], g[4], g[7], g[6], \
g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]
const char * g
Definition: vf_curves.c:108

Definition at line 102 of file riff.h.

Referenced by parse_chunks(), parse_legacy_attrib(), parse_media_type(), parse_waveformatex(), qcp_read_header(), and wtvfile_open2().

#define FF_MEDIASUBTYPE_BASE_GUID   0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71

Definition at line 108 of file riff.h.

Referenced by parse_media_type(), parse_waveformatex(), and write_stream_codec_info().

#define FF_AMBISONIC_BASE_GUID   0x21, 0x07, 0xD3, 0x11, 0x86, 0x44, 0xC8, 0xC1, 0xCA, 0x00, 0x00, 0x00

Definition at line 110 of file riff.h.

Referenced by parse_waveformatex().

Typedef Documentation

typedef uint8_t ff_asf_guid[16]

Definition at line 89 of file riff.h.

Function Documentation

int64_t ff_start_tag ( AVIOContext pb,
const char *  tag 
)
void ff_end_tag ( AVIOContext pb,
int64_t  start 
)
int ff_get_bmp_header ( AVIOContext pb,
AVStream st,
unsigned *  esize 
)

Read BITMAPINFOHEADER structure and set AVStream codec width, height and bits_per_encoded_sample fields.

Does not read extradata.

Returns
codec tag

Definition at line 208 of file riffdec.c.

Referenced by avi_read_header(), parse_video_info(), and parse_videoinfoheader2().

void ff_put_bmp_header ( AVIOContext pb,
AVCodecContext enc,
const AVCodecTag tags,
int  for_asf,
int  ignore_extradata 
)

Definition at line 206 of file riffenc.c.

Referenced by asf_write_header1(), avi_write_header(), and mkv_write_codecprivate().

int ff_put_wav_header ( AVIOContext pb,
AVCodecContext enc,
int  flags 
)

Write WAVEFORMAT header structure.

Parameters
flagsa combination of FF_PUT_WAV_HEADER_* constants
Returns
the size or -1 on error

Definition at line 54 of file riffenc.c.

Referenced by asf_write_header1(), avi_write_header(), mkv_write_codecprivate(), mov_write_ms_tag(), mov_write_wfex_tag(), and write_stream_codec_info().

enum AVCodecID ff_wav_codec_get_id ( unsigned int  tag,
int  bps 
)
int ff_get_wav_header ( AVFormatContext s,
AVIOContext pb,
AVCodecContext codec,
int  size,
int  big_endian 
)
void ff_parse_specific_params ( AVStream st,
int *  au_rate,
int *  au_ssize,
int *  au_scale 
)
int ff_read_riff_info ( AVFormatContext s,
int64_t  size 
)

Definition at line 226 of file riffdec.c.

Referenced by avi_load_index(), and avi_read_header().

void ff_riff_write_info ( AVFormatContext s)

Write all recognized RIFF tags from s->metadata.

Definition at line 302 of file riffenc.c.

void ff_riff_write_info_tag ( AVIOContext pb,
const char *  tag,
const char *  str 
)

Write a single RIFF info tag.

Definition at line 271 of file riffenc.c.

Referenced by avi_write_header(), and ff_riff_write_info().

static av_always_inline int ff_guidcmp ( const void g1,
const void g2 
)
static
int ff_get_guid ( AVIOContext s,
ff_asf_guid g 
)
void ff_put_guid ( AVIOContext s,
const ff_asf_guid g 
)
const ff_asf_guid* ff_get_codec_guid ( enum AVCodecID  id,
const AVCodecGuid av_guid 
)

Definition at line 330 of file riffenc.c.

Referenced by ff_put_wav_header(), and write_stream_codec_info().

enum AVCodecID ff_codec_guid_get_id ( const AVCodecGuid guids,
ff_asf_guid  guid 
)

Definition at line 44 of file riffdec.c.

Referenced by parse_media_type(), and parse_waveformatex().

Variable Documentation

const AVMetadataConv ff_riff_info_conv[]

Definition at line 501 of file riff.c.

Referenced by avi_read_header(), and ff_riff_write_info().

const AVCodecTag ff_codec_bmp_tags[]
const AVCodecTag ff_codec_wav_tags[]
const AVCodecGuid ff_codec_wav_guids[]