QVisu
Qt-based visualization for smart homes
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
vlc_block.h File Reference
#include <sys/types.h>

Go to the source code of this file.

Classes

struct  block_t
 

Macros

#define BLOCK_FLAG_DISCONTINUITY   0x0001
 
#define BLOCK_FLAG_TYPE_I   0x0002
 
#define BLOCK_FLAG_TYPE_P   0x0004
 
#define BLOCK_FLAG_TYPE_B   0x0008
 
#define BLOCK_FLAG_TYPE_PB   0x0010
 
#define BLOCK_FLAG_HEADER   0x0020
 
#define BLOCK_FLAG_END_OF_FRAME   0x0040
 
#define BLOCK_FLAG_NO_KEYFRAME   0x0080
 
#define BLOCK_FLAG_END_OF_SEQUENCE   0x0100
 
#define BLOCK_FLAG_CLOCK   0x0200
 
#define BLOCK_FLAG_SCRAMBLED   0x0400
 
#define BLOCK_FLAG_PREROLL   0x0800
 
#define BLOCK_FLAG_CORRUPTED   0x1000
 
#define BLOCK_FLAG_TOP_FIELD_FIRST   0x2000
 
#define BLOCK_FLAG_BOTTOM_FIELD_FIRST   0x4000
 
#define BLOCK_FLAG_INTERLACED_MASK   (BLOCK_FLAG_TOP_FIELD_FIRST|BLOCK_FLAG_BOTTOM_FIELD_FIRST)
 
#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)
 

Typedefs

typedef void(* block_free_t )(block_t *)
 

Functions

VLC_API void block_Init (block_t *, void *, size_t)
 
VLC_API block_tblock_Alloc (size_t) VLC_USED VLC_MALLOC
 
VLC_API block_tblock_Realloc (block_t *, ssize_t i_pre, size_t i_body) VLC_USED
 
VLC_API block_tblock_heap_Alloc (void *, size_t) VLC_USED VLC_MALLOC
 
VLC_API block_tblock_mmap_Alloc (void *addr, size_t length) VLC_USED VLC_MALLOC
 
VLC_API block_tblock_shm_Alloc (void *addr, size_t length) VLC_USED VLC_MALLOC
 
VLC_API block_tblock_File (int fd) VLC_USED VLC_MALLOC
 
VLC_API block_tblock_FilePath (const char *) VLC_USED VLC_MALLOC
 
VLC_API block_fifo_t * block_FifoNew (void) VLC_USED VLC_MALLOC
 
VLC_API void block_FifoRelease (block_fifo_t *)
 
VLC_API void block_FifoPace (block_fifo_t *fifo, size_t max_depth, size_t max_size)
 
VLC_API void block_FifoEmpty (block_fifo_t *)
 
VLC_API size_t block_FifoPut (block_fifo_t *, block_t *)
 
void block_FifoWake (block_fifo_t *)
 
VLC_API block_tblock_FifoGet (block_fifo_t *) VLC_USED
 
VLC_API block_tblock_FifoShow (block_fifo_t *)
 
size_t block_FifoSize (const block_fifo_t *p_fifo) VLC_USED
 
VLC_API size_t block_FifoCount (const block_fifo_t *p_fifo) VLC_USED
 

Detailed Description

This file implements functions and structures to handle blocks of data in vlc

Macro Definition Documentation

#define BLOCK_FLAG_BOTTOM_FIELD_FIRST   0x4000

This block contains an interlaced picture with bottom field first

#define BLOCK_FLAG_CLOCK   0x0200

This block contains a clock reference

#define BLOCK_FLAG_CORRUPTED   0x1000

This block is corrupted and/or there is data loss

#define BLOCK_FLAG_DISCONTINUITY   0x0001

The content doesn't follow the last block, or is probably broken

#define BLOCK_FLAG_END_OF_FRAME   0x0040

This is the last block of the frame

#define BLOCK_FLAG_END_OF_SEQUENCE   0x0100

This block contains the last part of a sequence

#define BLOCK_FLAG_HEADER   0x0020

Warn that this block is a header one

#define BLOCK_FLAG_INTERLACED_MASK   (BLOCK_FLAG_TOP_FIELD_FIRST|BLOCK_FLAG_BOTTOM_FIELD_FIRST)

This block contains an interlaced picture

#define BLOCK_FLAG_NO_KEYFRAME   0x0080

This is not a key frame for bitrate shaping

#define BLOCK_FLAG_PREROLL   0x0800

This block has to be decoded but not be displayed

#define BLOCK_FLAG_SCRAMBLED   0x0400

This block is scrambled

#define BLOCK_FLAG_TOP_FIELD_FIRST   0x2000

This block contains an interlaced picture with top field first

#define BLOCK_FLAG_TYPE_B   0x0008

Inter frame with backward and forward reference

#define BLOCK_FLAG_TYPE_I   0x0002

Intra frame

#define BLOCK_FLAG_TYPE_P   0x0004

Inter frame with backward reference only

#define BLOCK_FLAG_TYPE_PB   0x0010

For inter frame when you don't know the real type