VLC 4.0.0-dev
Loading...
Searching...
No Matches
vlc_boxes.h File Reference

This file defines functions, structures for handling boxes/atoms in vlc. More...

Include dependency graph for vlc_boxes.h:

Go to the source code of this file.

Data Structures

struct  bo_t

Macros

#define BO_SET_DECL_S(func, handler, type)
#define BO_ADD_DECL_S(func, handler, type)
#define BO_FUNC_DECL(suffix, handler, type)
#define bo_add_fourcc(p_bo, fcc)

Typedefs

typedef struct bo_t bo_t

Functions

static bool bo_init (bo_t *p_bo, int i_size)
static void bo_deinit (bo_t *p_bo)
static void bo_free (bo_t *p_bo)
static int bo_extend (bo_t *p_bo, size_t i_total)
static bool bo_set_8 (bo_t *p_bo, size_t i_offset, uint8_t i)
static bool bo_add_8 (bo_t *p_bo, uint8_t i)
static bool bo_set_16be (bo_t *p_bo, size_t i_offset, uint16_t val)
static bool bo_set_16le (bo_t *p_bo, size_t i_offset, uint16_t val)
static bool bo_add_16be (bo_t *p_bo, uint16_t val)
static bool bo_add_16le (bo_t *p_bo, uint16_t val)
static bool bo_set_32be (bo_t *p_bo, size_t i_offset, uint32_t val)
static bool bo_set_32le (bo_t *p_bo, size_t i_offset, uint32_t val)
static bool bo_add_32be (bo_t *p_bo, uint32_t val)
static bool bo_add_32le (bo_t *p_bo, uint32_t val)
static bool bo_set_64be (bo_t *p_bo, size_t i_offset, uint64_t val)
static bool bo_set_64le (bo_t *p_bo, size_t i_offset, uint64_t val)
static bool bo_add_64be (bo_t *p_bo, uint64_t val)
static bool bo_add_64le (bo_t *p_bo, uint64_t val)
static bool bo_add_24be (bo_t *p_bo, uint32_t i)
static void bo_swap_32be (bo_t *p_bo, size_t i_pos, uint32_t i)
static bool bo_add_mem (bo_t *p_bo, size_t i_size, const void *p_mem)
static size_t bo_size (const bo_t *p_bo)

Detailed Description

This file defines functions, structures for handling boxes/atoms in vlc.

Macro Definition Documentation

◆ BO_ADD_DECL_S

#define BO_ADD_DECL_S ( func,
handler,
type )
Value:
static inline bool func(bo_t *p_bo, type val)\
{\
if(!p_bo->b || !handler(p_bo, p_bo->b->i_buffer, val))\
return false;\
p_bo->b->i_buffer += sizeof(type);\
return true;\
}
Definition vlc_boxes.h:37

◆ bo_add_fourcc

#define bo_add_fourcc ( p_bo,
fcc )
Value:
bo_add_mem(p_bo, 4, fcc)
static bool bo_add_mem(bo_t *p_bo, size_t i_size, const void *p_mem)
Definition vlc_boxes.h:155

◆ BO_FUNC_DECL

#define BO_FUNC_DECL ( suffix,
handler,
type )
Value:
BO_SET_DECL_S( bo_set_ ## suffix ## be, handler ## BE, type )\
BO_SET_DECL_S( bo_set_ ## suffix ## le, handler ## LE, type )\
BO_ADD_DECL_S( bo_add_ ## suffix ## be, bo_set_ ## suffix ## be, type )\
BO_ADD_DECL_S( bo_add_ ## suffix ## le, bo_set_ ## suffix ## le, type )
#define BO_SET_DECL_S(func, handler, type)
Definition vlc_boxes.h:88

Referenced by bo_add_32be(), and bo_add_64be().

◆ BO_SET_DECL_S

#define BO_SET_DECL_S ( func,
handler,
type )
Value:
static inline bool func(bo_t *p_bo, size_t i_offset, type val)\
{\
if (!bo_extend(p_bo, i_offset + sizeof(type)))\
return false;\
handler(&p_bo->b->p_buffer[i_offset], val);\
return true;\
}
static int bo_extend(bo_t *p_bo, size_t i_total)
Definition vlc_boxes.h:68

Typedef Documentation

◆ bo_t

typedef struct bo_t bo_t

Function Documentation

◆ bo_add_16be()

bool bo_add_16be ( bo_t * p_bo,
uint16_t val )
inlinestatic

◆ bo_add_16le()

bool bo_add_16le ( bo_t * p_bo,
uint16_t val )
inlinestatic

◆ bo_add_24be()

bool bo_add_24be ( bo_t * p_bo,
uint32_t i )
inlinestatic

◆ bo_add_32be()

bool bo_add_32be ( bo_t * p_bo,
uint32_t val )
inlinestatic

References BO_FUNC_DECL.

◆ bo_add_32le()

bool bo_add_32le ( bo_t * p_bo,
uint32_t val )
inlinestatic

◆ bo_add_64be()

bool bo_add_64be ( bo_t * p_bo,
uint64_t val )
inlinestatic

References BO_FUNC_DECL.

◆ bo_add_64le()

bool bo_add_64le ( bo_t * p_bo,
uint64_t val )
inlinestatic

◆ bo_add_8()

bool bo_add_8 ( bo_t * p_bo,
uint8_t i )
inlinestatic

◆ bo_add_mem()

bool bo_add_mem ( bo_t * p_bo,
size_t i_size,
const void * p_mem )
inlinestatic

◆ bo_deinit()

void bo_deinit ( bo_t * p_bo)
inlinestatic

References bo_t::b, and block_Release.

Referenced by bo_free().

◆ bo_extend()

int bo_extend ( bo_t * p_bo,
size_t i_total )
inlinestatic

◆ bo_free()

void bo_free ( bo_t * p_bo)
inlinestatic

References bo_deinit().

◆ bo_init()

bool bo_init ( bo_t * p_bo,
int i_size )
inlinestatic

◆ bo_set_16be()

bool bo_set_16be ( bo_t * p_bo,
size_t i_offset,
uint16_t val )
inlinestatic

◆ bo_set_16le()

bool bo_set_16le ( bo_t * p_bo,
size_t i_offset,
uint16_t val )
inlinestatic

◆ bo_set_32be()

bool bo_set_32be ( bo_t * p_bo,
size_t i_offset,
uint32_t val )
inlinestatic

◆ bo_set_32le()

bool bo_set_32le ( bo_t * p_bo,
size_t i_offset,
uint32_t val )
inlinestatic

◆ bo_set_64be()

bool bo_set_64be ( bo_t * p_bo,
size_t i_offset,
uint64_t val )
inlinestatic

◆ bo_set_64le()

bool bo_set_64le ( bo_t * p_bo,
size_t i_offset,
uint64_t val )
inlinestatic

◆ bo_set_8()

bool bo_set_8 ( bo_t * p_bo,
size_t i_offset,
uint8_t i )
inlinestatic

References bo_t::b, bo_extend(), and vlc_frame_t::p_buffer.

Referenced by bo_add_8().

◆ bo_size()

size_t bo_size ( const bo_t * p_bo)
inlinestatic

References bo_t::b, and vlc_frame_t::i_buffer.

◆ bo_swap_32be()

void bo_swap_32be ( bo_t * p_bo,
size_t i_pos,
uint32_t i )
inlinestatic