FFmpeg
Macros | Functions | Variables
channel_layout.c File Reference
#include <inttypes.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/bprint.h"
#include "libavutil/channel_layout.h"
#include "libavutil/error.h"
#include "libavutil/internal.h"
#include "libavutil/macros.h"
#include "libavutil/mem.h"

Go to the source code of this file.

Macros

#define BPRINT_ARGS1(bp, ...)   (bp), __VA_ARGS__
 
#define BPRINT_ARGS0(bp, ...)   __VA_ARGS__, (bp)
 
#define ORD_ARGS1(str, size, ...)   (str), (size), __VA_ARGS__
 
#define ORD_ARGS0(str, size, ...)   __VA_ARGS__, (str), (size)
 
#define CMP_BPRINT_AND_NONBPRINT(bp, func_name, ARG_ORDER, ...)
 
#define CHANNEL_NAME(x)   channel_name(&bp, (x));
 
#define CHANNEL_DESCRIPTION(x)   channel_description(&bp, (x));
 
#define CHANNEL_LAYOUT_FROM_MASK(x)   channel_layout_from_mask(&layout, &bp, (x));
 
#define CHANNEL_LAYOUT_FROM_STRING(x)   channel_layout_from_string(&layout, &bp, (x));
 
#define CHANNEL_LAYOUT_CHANNEL_FROM_INDEX(x)
 
#define CHANNEL_LAYOUT_SUBSET(x)   mask = av_channel_layout_subset(&layout, x)
 
#define CHANNEL_LAYOUT_INDEX_FROM_CHANNEL(x)
 
#define CHANNEL_LAYOUT_CHANNEL_FROM_STRING(x)
 
#define CHANNEL_LAYOUT_INDEX_FROM_STRING(x)
 

Functions

static void channel_name (AVBPrint *bp, enum AVChannel channel)
 
static void channel_description (AVBPrint *bp, enum AVChannel channel)
 
static void channel_layout_from_mask (AVChannelLayout *layout, AVBPrint *bp, uint64_t channel_layout)
 
static void channel_layout_from_string (AVChannelLayout *layout, AVBPrint *bp, const char *channel_layout)
 
static void describe_type (AVBPrint *bp, AVChannelLayout *layout)
 
static const char * channel_layout_retype (AVChannelLayout *layout, AVBPrint *bp, const char *channel_layout)
 
int main (void)
 

Variables

static const char * channel_order_names [] = {"UNSPEC", "NATIVE", "CUSTOM", "AMBI"}
 

Macro Definition Documentation

◆ BPRINT_ARGS1

#define BPRINT_ARGS1 (   bp,
  ... 
)    (bp), __VA_ARGS__

Definition at line 32 of file channel_layout.c.

◆ BPRINT_ARGS0

#define BPRINT_ARGS0 (   bp,
  ... 
)    __VA_ARGS__, (bp)

Definition at line 33 of file channel_layout.c.

◆ ORD_ARGS1

#define ORD_ARGS1 (   str,
  size,
  ... 
)    (str), (size), __VA_ARGS__

Definition at line 34 of file channel_layout.c.

◆ ORD_ARGS0

#define ORD_ARGS0 (   str,
  size,
  ... 
)    __VA_ARGS__, (str), (size)

Definition at line 35 of file channel_layout.c.

◆ CMP_BPRINT_AND_NONBPRINT

#define CMP_BPRINT_AND_NONBPRINT (   bp,
  func_name,
  ARG_ORDER,
  ... 
)

Definition at line 38 of file channel_layout.c.

◆ CHANNEL_NAME

#define CHANNEL_NAME (   x)    channel_name(&bp, (x));

Definition at line 164 of file channel_layout.c.

◆ CHANNEL_DESCRIPTION

#define CHANNEL_DESCRIPTION (   x)    channel_description(&bp, (x));

Definition at line 167 of file channel_layout.c.

◆ CHANNEL_LAYOUT_FROM_MASK

#define CHANNEL_LAYOUT_FROM_MASK (   x)    channel_layout_from_mask(&layout, &bp, (x));

Definition at line 170 of file channel_layout.c.

◆ CHANNEL_LAYOUT_FROM_STRING

#define CHANNEL_LAYOUT_FROM_STRING (   x)    channel_layout_from_string(&layout, &bp, (x));

Definition at line 173 of file channel_layout.c.

◆ CHANNEL_LAYOUT_CHANNEL_FROM_INDEX

#define CHANNEL_LAYOUT_CHANNEL_FROM_INDEX (   x)
Value:
if (ret < 0) \
ret = -1

Definition at line 176 of file channel_layout.c.

◆ CHANNEL_LAYOUT_SUBSET

#define CHANNEL_LAYOUT_SUBSET (   x)    mask = av_channel_layout_subset(&layout, x)

Definition at line 181 of file channel_layout.c.

◆ CHANNEL_LAYOUT_INDEX_FROM_CHANNEL

#define CHANNEL_LAYOUT_INDEX_FROM_CHANNEL (   x)
Value:
if (ret < 0) \
ret = -1

Definition at line 184 of file channel_layout.c.

◆ CHANNEL_LAYOUT_CHANNEL_FROM_STRING

#define CHANNEL_LAYOUT_CHANNEL_FROM_STRING (   x)
Value:
if (ret < 0) \
ret = -1

Definition at line 189 of file channel_layout.c.

◆ CHANNEL_LAYOUT_INDEX_FROM_STRING

#define CHANNEL_LAYOUT_INDEX_FROM_STRING (   x)
Value:
if (ret < 0) \
ret = -1

Definition at line 194 of file channel_layout.c.

Function Documentation

◆ channel_name()

static void channel_name ( AVBPrint *  bp,
enum AVChannel  channel 
)
static

Definition at line 81 of file channel_layout.c.

◆ channel_description()

static void channel_description ( AVBPrint *  bp,
enum AVChannel  channel 
)
static

Definition at line 87 of file channel_layout.c.

◆ channel_layout_from_mask()

static void channel_layout_from_mask ( AVChannelLayout layout,
AVBPrint *  bp,
uint64_t  channel_layout 
)
static

Definition at line 93 of file channel_layout.c.

◆ channel_layout_from_string()

static void channel_layout_from_string ( AVChannelLayout layout,
AVBPrint *  bp,
const char *  channel_layout 
)
static

Definition at line 105 of file channel_layout.c.

◆ describe_type()

static void describe_type ( AVBPrint *  bp,
AVChannelLayout layout 
)
static

Definition at line 119 of file channel_layout.c.

Referenced by channel_layout_retype().

◆ channel_layout_retype()

static const char* channel_layout_retype ( AVChannelLayout layout,
AVBPrint *  bp,
const char *  channel_layout 
)
static

Definition at line 130 of file channel_layout.c.

Referenced by main().

◆ main()

int main ( void  )

Definition at line 199 of file channel_layout.c.

Variable Documentation

◆ channel_order_names

const char* channel_order_names[] = {"UNSPEC", "NATIVE", "CUSTOM", "AMBI"}
static

Definition at line 117 of file channel_layout.c.

Referenced by channel_layout_retype(), and describe_type().

av_channel_layout_channel_from_index
enum AVChannel av_channel_layout_channel_from_index(const AVChannelLayout *channel_layout, unsigned int idx)
Get the channel with the given index in a channel layout.
Definition: channel_layout.c:867
av_channel_layout_index_from_string
int av_channel_layout_index_from_string(const AVChannelLayout *channel_layout, const char *str)
Get the index in a channel layout of a channel described by the given string.
Definition: channel_layout.c:941
layout
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel layout
Definition: filter_design.txt:18
ret
ret
Definition: filter_design.txt:187
av_channel_layout_channel_from_string
enum AVChannel av_channel_layout_channel_from_string(const AVChannelLayout *channel_layout, const char *str)
Get a channel described by the given string.
Definition: channel_layout.c:896
av_channel_layout_index_from_channel
int av_channel_layout_index_from_channel(const AVChannelLayout *channel_layout, enum AVChannel channel)
Get the index of a given channel in a channel layout.
Definition: channel_layout.c:907