FFmpeg  4.0
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
 
#define FF_BROKEN_BASE_GUID   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA
 

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, uint32_t *size)
 Read BITMAPINFOHEADER structure and set AVStream codec width, height and bits_per_encoded_sample fields. More...
 
void ff_put_bmp_header (AVIOContext *pb, AVCodecParameters *par, int for_asf, int ignore_extradata)
 
int ff_put_wav_header (AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par, 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, AVCodecParameters *par, 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

◆ FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX

#define FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX   0x00000001

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

Definition at line 54 of file riff.h.

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

◆ FF_PUT_WAV_HEADER_SKIP_CHANNELMASK

#define FF_PUT_WAV_HEADER_SKIP_CHANNELMASK   0x00000002

Tell ff_put_wav_header() to write an empty channel mask.

Definition at line 59 of file riff.h.

Referenced by avi_write_header(), and ff_put_wav_header().

◆ FF_PRI_GUID

#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 99 of file riff.h.

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

◆ FF_ARG_GUID

#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:112

Definition at line 103 of file riff.h.

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

◆ FF_MEDIASUBTYPE_BASE_GUID

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

Definition at line 109 of file riff.h.

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

◆ FF_AMBISONIC_BASE_GUID

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

Definition at line 111 of file riff.h.

Referenced by parse_waveformatex().

◆ FF_BROKEN_BASE_GUID

#define FF_BROKEN_BASE_GUID   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA

Definition at line 113 of file riff.h.

Referenced by parse_waveformatex().

Typedef Documentation

◆ ff_asf_guid

typedef uint8_t ff_asf_guid[16]

Definition at line 90 of file riff.h.

Function Documentation

◆ ff_start_tag()

int64_t ff_start_tag ( AVIOContext pb,
const char *  tag 
)

◆ ff_end_tag()

void ff_end_tag ( AVIOContext pb,
int64_t  start 
)

◆ ff_get_bmp_header()

int ff_get_bmp_header ( AVIOContext pb,
AVStream st,
uint32_t *  size 
)

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

Does not read extradata. Writes the size of the BMP file to *size.

Returns
codec tag

Definition at line 211 of file riffdec.c.

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

◆ ff_put_bmp_header()

void ff_put_bmp_header ( AVIOContext pb,
AVCodecParameters par,
int  for_asf,
int  ignore_extradata 
)

◆ ff_put_wav_header()

int ff_put_wav_header ( AVFormatContext s,
AVIOContext pb,
AVCodecParameters par,
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().

◆ ff_wav_codec_get_id()

enum AVCodecID ff_wav_codec_get_id ( unsigned int  tag,
int  bps 
)

◆ ff_get_wav_header()

int ff_get_wav_header ( AVFormatContext s,
AVIOContext pb,
AVCodecParameters par,
int  size,
int  big_endian 
)

◆ ff_parse_specific_params()

void ff_parse_specific_params ( AVStream st,
int au_rate,
int au_ssize,
int au_scale 
)

◆ ff_read_riff_info()

int ff_read_riff_info ( AVFormatContext s,
int64_t  size 
)

Definition at line 230 of file riffdec.c.

Referenced by avi_load_index(), avi_read_header(), and set_spdif().

◆ ff_riff_write_info()

void ff_riff_write_info ( AVFormatContext s)

Write all recognized RIFF tags from s->metadata.

Definition at line 327 of file riffenc.c.

Referenced by avi_write_header().

◆ ff_riff_write_info_tag()

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

Write a single RIFF info tag.

Definition at line 295 of file riffenc.c.

Referenced by avi_write_header(), and ff_riff_write_info().

◆ ff_guidcmp()

static av_always_inline int ff_guidcmp ( const void g1,
const void g2 
)
static

◆ ff_get_guid()

int ff_get_guid ( AVIOContext s,
ff_asf_guid g 
)

◆ ff_put_guid()

void ff_put_guid ( AVIOContext s,
const ff_asf_guid g 
)

◆ ff_get_codec_guid()

const ff_asf_guid* ff_get_codec_guid ( enum AVCodecID  id,
const AVCodecGuid av_guid 
)

Definition at line 355 of file riffenc.c.

Referenced by ff_guidcmp(), ff_put_wav_header(), and write_stream_codec_info().

◆ ff_codec_guid_get_id()

enum AVCodecID ff_codec_guid_get_id ( const AVCodecGuid guids,
ff_asf_guid  guid 
)

Definition at line 44 of file riffdec.c.

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

Variable Documentation

◆ ff_riff_info_conv

const AVMetadataConv ff_riff_info_conv[]

Definition at line 559 of file riff.c.

Referenced by avi_read_header(), ff_riff_write_info(), and set_spdif().

◆ ff_codec_bmp_tags

const AVCodecTag ff_codec_bmp_tags[]

◆ ff_codec_wav_tags

const AVCodecTag ff_codec_wav_tags[]

◆ ff_codec_wav_guids

const AVCodecGuid ff_codec_wav_guids[]