FFmpeg
|
This file contains structures and macros shared by both Indeo4 and Indeo5 decoders. More...
Go to the source code of this file.
Data Structures | |
struct | IVIHuffDesc |
huffman codebook descriptor More... | |
struct | IVIHuffTab |
macroblock/block huffman table descriptor More... | |
struct | RVMapDesc |
run-value (RLE) table descriptor More... | |
struct | IVIMbInfo |
information for Indeo macroblock (16x16, 8x8 or 4x4) More... | |
struct | IVITile |
information for Indeo tile More... | |
struct | IVIBandDesc |
information for Indeo wavelet band More... | |
struct | IVIPlaneDesc |
color plane (luma or chroma) information More... | |
struct | IVIPicConfig |
struct | IVI45DecContext |
Macros | |
#define | IVI_VLC_BITS 13 |
max number of bits of the ivi's huffman codes More... | |
#define | IVI4_STREAM_ANALYSER 0 |
#define | IVI5_IS_PROTECTED 0x20 |
#define | IVI_NUM_TILES(stride, tile_size) (((stride) + (tile_size) - 1) / (tile_size)) |
calculate number of tiles in a stride More... | |
#define | IVI_MBs_PER_TILE(tile_width, tile_height, mb_size) ((((tile_width) + (mb_size) - 1) / (mb_size)) * (((tile_height) + (mb_size) - 1) / (mb_size))) |
calculate number of macroblocks in a tile More... | |
#define | IVI_TOSIGNED(val) (-(((val) >> 1) ^ -((val) & 1))) |
convert unsigned values into signed ones (the sign is in the LSB) More... | |
Typedefs | |
typedef struct IVIHuffDesc | IVIHuffDesc |
huffman codebook descriptor More... | |
typedef struct IVIHuffTab | IVIHuffTab |
macroblock/block huffman table descriptor More... | |
typedef void( | InvTransformPtr) (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) |
Declare inverse transform function types. More... | |
typedef void( | DCTransformPtr) (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size) |
typedef struct RVMapDesc | RVMapDesc |
run-value (RLE) table descriptor More... | |
typedef struct IVIMbInfo | IVIMbInfo |
information for Indeo macroblock (16x16, 8x8 or 4x4) More... | |
typedef struct IVITile | IVITile |
information for Indeo tile More... | |
typedef struct IVIBandDesc | IVIBandDesc |
information for Indeo wavelet band More... | |
typedef struct IVIPlaneDesc | IVIPlaneDesc |
color plane (luma or chroma) information More... | |
typedef struct IVIPicConfig | IVIPicConfig |
typedef struct IVI45DecContext | IVI45DecContext |
Enumerations | |
enum | { IVI_MB_HUFF = 0, IVI_BLK_HUFF = 1 } |
Functions | |
static int | ivi_pic_config_cmp (IVIPicConfig *str1, IVIPicConfig *str2) |
compare some properties of two pictures More... | |
static int | ivi_scale_mv (int mv, int mv_scale) |
scale motion vector More... | |
void | ff_ivi_init_static_vlc (void) |
Initialize static codes used for macroblock and block decoding. More... | |
int | ff_ivi_dec_huff_desc (GetBitContext *gb, int desc_coded, int which_tab, IVIHuffTab *huff_tab, AVCodecContext *avctx) |
Decode a huffman codebook descriptor from the bitstream and select specified huffman table. More... | |
int | ff_ivi_init_planes (IVIPlaneDesc *planes, const IVIPicConfig *cfg) |
Initialize planes (prepares descriptors, allocates buffers etc). More... | |
int | ff_ivi_init_tiles (IVIPlaneDesc *planes, int tile_width, int tile_height) |
Initialize tile and macroblock descriptors. More... | |
int | ff_ivi_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
int | ff_ivi_decode_close (AVCodecContext *avctx) |
Close Indeo5 decoder and clean up its context. More... | |
Variables | |
const uint8_t | ff_ivi_vertical_scan_8x8 [64] |
Common scan patterns (defined in ivi_common.c) More... | |
const uint8_t | ff_ivi_horizontal_scan_8x8 [64] |
const uint8_t | ff_ivi_direct_scan_4x4 [16] |
const RVMapDesc | ff_ivi_rvmap_tabs [9] |
Run-value (RLE) tables. More... | |
Detailed Description
This file contains structures and macros shared by both Indeo4 and Indeo5 decoders.
Definition in file ivi_common.h.
Macro Definition Documentation
#define IVI4_STREAM_ANALYSER 0 |
Definition at line 37 of file ivi_common.h.
#define IVI5_IS_PROTECTED 0x20 |
Definition at line 38 of file ivi_common.h.
Referenced by decode_gop_header(), and ff_ivi_decode_frame().
#define IVI_MBs_PER_TILE | ( | tile_width, | |
tile_height, | |||
mb_size | |||
) | ((((tile_width) + (mb_size) - 1) / (mb_size)) * (((tile_height) + (mb_size) - 1) / (mb_size))) |
calculate number of macroblocks in a tile
Definition at line 267 of file ivi_common.h.
Referenced by decode_mb_info(), ff_ivi_init_tiles(), and ivi_process_empty_tile().
calculate number of tiles in a stride
Definition at line 264 of file ivi_common.h.
Referenced by ff_ivi_init_tiles().
convert unsigned values into signed ones (the sign is in the LSB)
Definition at line 271 of file ivi_common.h.
Referenced by decode_mb_info(), and ivi_decode_blocks().
#define IVI_VLC_BITS 13 |
max number of bits of the ivi's huffman codes
Definition at line 36 of file ivi_common.h.
Referenced by decode_mb_info(), ivi_create_huff_from_desc(), and ivi_decode_blocks().
Typedef Documentation
Definition at line 79 of file ivi_common.h.
typedef void( InvTransformPtr) (const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags) |
Declare inverse transform function types.
Definition at line 78 of file ivi_common.h.
typedef struct IVI45DecContext IVI45DecContext |
typedef struct IVIBandDesc IVIBandDesc |
information for Indeo wavelet band
typedef struct IVIHuffDesc IVIHuffDesc |
huffman codebook descriptor
typedef struct IVIHuffTab IVIHuffTab |
macroblock/block huffman table descriptor
typedef struct IVIPicConfig IVIPicConfig |
typedef struct IVIPlaneDesc IVIPlaneDesc |
color plane (luma or chroma) information
Enumeration Type Documentation
anonymous enum |
Enumerator | |
---|---|
IVI_MB_HUFF | |
IVI_BLK_HUFF |
Huffman table is used for coding macroblocks. |
Definition at line 61 of file ivi_common.h.
Function Documentation
int ff_ivi_dec_huff_desc | ( | GetBitContext * | gb, |
int | desc_coded, | ||
int | which_tab, | ||
IVIHuffTab * | huff_tab, | ||
AVCodecContext * | avctx | ||
) |
Decode a huffman codebook descriptor from the bitstream and select specified huffman table.
- Parameters
-
[in,out] gb the GetBit context [in] desc_coded flag signalling if table descriptor was coded [in] which_tab codebook purpose (IVI_MB_HUFF or IVI_BLK_HUFF) [out] huff_tab pointer to the descriptor of the selected table [in] avctx AVCodecContext pointer
- Returns
- zero on success, negative value otherwise
Definition at line 147 of file ivi_common.c.
Referenced by decode_band_hdr(), decode_pic_hdr(), and ivi_scale_mv().
int ff_ivi_decode_close | ( | AVCodecContext * | avctx | ) |
Close Indeo5 decoder and clean up its context.
Definition at line 931 of file ivi_common.c.
Referenced by ivi_scale_mv().
int ff_ivi_decode_frame | ( | AVCodecContext * | avctx, |
void * | data, | ||
int * | got_frame, | ||
AVPacket * | avpkt | ||
) |
Definition at line 844 of file ivi_common.c.
Referenced by ivi_scale_mv().
int ff_ivi_init_planes | ( | IVIPlaneDesc * | planes, |
const IVIPicConfig * | cfg | ||
) |
Initialize planes (prepares descriptors, allocates buffers etc).
- Parameters
-
[in,out] planes pointer to the array of the plane descriptors [in] cfg pointer to the ivi_pic_config structure describing picture layout
- Returns
- result code: 0 - OK
Definition at line 222 of file ivi_common.c.
Referenced by decode_gop_header(), decode_init(), decode_pic_hdr(), and ivi_scale_mv().
Initialize static codes used for macroblock and block decoding.
Definition at line 103 of file ivi_common.c.
Referenced by decode_init(), and ivi_scale_mv().
int ff_ivi_init_tiles | ( | IVIPlaneDesc * | planes, |
int | tile_width, | ||
int | tile_height | ||
) |
Initialize tile and macroblock descriptors.
- Parameters
-
[in,out] planes pointer to the array of the plane descriptors [in] tile_width tile width [in] tile_height tile height
- Returns
- result code: 0 - OK
Definition at line 286 of file ivi_common.c.
Referenced by decode_gop_header(), decode_pic_hdr(), and ivi_scale_mv().
|
inlinestatic |
compare some properties of two pictures
Definition at line 255 of file ivi_common.h.
Referenced by decode_gop_header(), and decode_pic_hdr().
|
inlinestatic |
scale motion vector
Definition at line 274 of file ivi_common.h.
Referenced by decode_mb_info(), and ivi_process_empty_tile().
Variable Documentation
const uint8_t ff_ivi_direct_scan_4x4[16] |
Definition at line 1015 of file ivi_common.c.
Referenced by decode_gop_header().
const uint8_t ff_ivi_horizontal_scan_8x8[64] |
Definition at line 1004 of file ivi_common.c.
Referenced by decode_gop_header().
const RVMapDesc ff_ivi_rvmap_tabs[9] |
const uint8_t ff_ivi_vertical_scan_8x8[64] |
Common scan patterns (defined in ivi_common.c)
Common scan patterns (defined in ivi_common.c)
Definition at line 993 of file ivi_common.c.
Referenced by decode_gop_header().
Generated on Mon Nov 18 2024 06:52:07 for FFmpeg by 1.8.11