VLC
3.0.21
|
Go to the source code of this file.
Data Structures | |
struct | block_t |
Macros | |
#define | BLOCK_FLAG_DISCONTINUITY 0x0001 |
The content doesn't follow the last block, possible some blocks in between have been lost. More... | |
#define | BLOCK_FLAG_TYPE_I 0x0002 |
Intra frame. More... | |
#define | BLOCK_FLAG_TYPE_P 0x0004 |
Inter frame with backward reference only. More... | |
#define | BLOCK_FLAG_TYPE_B 0x0008 |
Inter frame with backward and forward reference. More... | |
#define | BLOCK_FLAG_TYPE_PB 0x0010 |
For inter frame when you don't know the real type. More... | |
#define | BLOCK_FLAG_HEADER 0x0020 |
Warn that this block is a header one. More... | |
#define | BLOCK_FLAG_END_OF_SEQUENCE 0x0040 |
This block contains the last part of a sequence More... | |
#define | BLOCK_FLAG_CLOCK 0x0080 |
This block contains a clock reference. More... | |
#define | BLOCK_FLAG_SCRAMBLED 0x0100 |
This block is scrambled. More... | |
#define | BLOCK_FLAG_PREROLL 0x0200 |
This block has to be decoded but not be displayed. More... | |
#define | BLOCK_FLAG_CORRUPTED 0x0400 |
This block is corrupted and/or there is data loss More... | |
#define | BLOCK_FLAG_TOP_FIELD_FIRST 0x0800 |
This block contains an interlaced picture with top field stored first. More... | |
#define | BLOCK_FLAG_BOTTOM_FIELD_FIRST 0x1000 |
This block contains an interlaced picture with bottom field stored first. More... | |
#define | BLOCK_FLAG_SINGLE_FIELD 0x2000 |
This block contains a single field from interlaced picture. More... | |
#define | BLOCK_FLAG_INTERLACED_MASK (BLOCK_FLAG_TOP_FIELD_FIRST|BLOCK_FLAG_BOTTOM_FIELD_FIRST|BLOCK_FLAG_SINGLE_FIELD) |
This block contains an interlaced picture. More... | |
#define | BLOCK_FLAG_TYPE_MASK (BLOCK_FLAG_TYPE_I|BLOCK_FLAG_TYPE_P|BLOCK_FLAG_TYPE_B|BLOCK_FLAG_TYPE_PB) |
#define | BLOCK_FLAG_CORE_PRIVATE_MASK 0x00ff0000 |
#define | BLOCK_FLAG_CORE_PRIVATE_SHIFT 16 |
#define | BLOCK_FLAG_PRIVATE_MASK 0xff000000 |
#define | BLOCK_FLAG_PRIVATE_SHIFT 24 |
#define | block_cleanup_push(block) vlc_cleanup_push (block_Cleanup, block) |
#define | vlc_fifo_CleanupPush(fifo) vlc_cleanup_push(vlc_fifo_Cleanup, fifo) |
Typedefs | |
typedef void(* | block_free_t) (block_t *) |
typedef struct block_fifo_t | vlc_fifo_t |
Functions | |
void | block_Init (block_t *, void *, size_t) |
block_t * | block_Alloc (size_t size) |
Allocates a block. More... | |
block_t * | block_TryRealloc (block_t *, ssize_t pre, size_t body) |
block_t * | block_Realloc (block_t *, ssize_t pre, size_t body) |
Reallocates a block. More... | |
static void | block_Release (block_t *block) |
Releases a block. More... | |
static void | block_CopyProperties (block_t *dst, block_t *src) |
static block_t * | block_Duplicate (block_t *p_block) |
Duplicates a block. More... | |
block_t * | block_heap_Alloc (void *, size_t) |
Wraps heap in a block. More... | |
block_t * | block_mmap_Alloc (void *addr, size_t length) |
Wraps a memory mapping in a block. More... | |
block_t * | block_shm_Alloc (void *addr, size_t length) |
Wraps a System V memory segment in a block. More... | |
block_t * | block_File (int fd, bool write) |
Maps a file handle in memory. More... | |
block_t * | block_FilePath (const char *, bool write) |
Maps a file in memory. More... | |
static void | block_Cleanup (void *block) |
static void | block_ChainAppend (block_t **pp_list, block_t *p_block) |
static void | block_ChainLastAppend (block_t ***ppp_last, block_t *p_block) |
static void | block_ChainRelease (block_t *p_block) |
static size_t | block_ChainExtract (block_t *p_list, void *p_data, size_t i_max) |
static void | block_ChainProperties (block_t *p_list, int *pi_count, size_t *pi_size, vlc_tick_t *pi_length) |
static block_t * | block_ChainGather (block_t *p_list) |
block_fifo_t * | block_FifoNew (void) |
Creates a thread-safe FIFO queue of blocks. More... | |
void | block_FifoRelease (block_fifo_t *) |
Destroys a FIFO created by block_FifoNew(). More... | |
void | block_FifoEmpty (block_fifo_t *) |
Clears all blocks in a FIFO. More... | |
void | block_FifoPut (block_fifo_t *fifo, block_t *block) |
Immediately queue one block at the end of a FIFO. More... | |
block_t * | block_FifoGet (block_fifo_t *) |
Dequeue the first block from the FIFO. More... | |
block_t * | block_FifoShow (block_fifo_t *) |
Peeks the first block in the FIFO. More... | |
size_t | block_FifoSize (block_fifo_t *) |
size_t | block_FifoCount (block_fifo_t *) |
void | vlc_fifo_Lock (vlc_fifo_t *) |
Locks a block FIFO. More... | |
void | vlc_fifo_Unlock (vlc_fifo_t *) |
Unlocks a block FIFO. More... | |
void | vlc_fifo_Signal (vlc_fifo_t *) |
Wakes up one thread waiting on the FIFO, if any. More... | |
void | vlc_fifo_Wait (vlc_fifo_t *) |
Waits on the FIFO. More... | |
void | vlc_fifo_WaitCond (vlc_fifo_t *, vlc_cond_t *) |
int | vlc_fifo_TimedWaitCond (vlc_fifo_t *, vlc_cond_t *, vlc_tick_t) |
Timed variant of vlc_fifo_WaitCond(). More... | |
void | vlc_fifo_QueueUnlocked (vlc_fifo_t *, block_t *) |
Queues a linked-list of blocks into a locked FIFO. More... | |
block_t * | vlc_fifo_DequeueUnlocked (vlc_fifo_t *) |
Dequeues the first block from a locked FIFO, if any. More... | |
block_t * | vlc_fifo_DequeueAllUnlocked (vlc_fifo_t *) |
Dequeues the all blocks from a locked FIFO. More... | |
size_t | vlc_fifo_GetCount (const vlc_fifo_t *) |
Counts blocks in a FIFO. More... | |
size_t | vlc_fifo_GetBytes (const vlc_fifo_t *) |
Counts bytes in a FIFO. More... | |
static bool | vlc_fifo_IsEmpty (const vlc_fifo_t *fifo) |
static void | vlc_fifo_Cleanup (void *fifo) |
Data block definition and functions