| 
    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 | 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 void( | InvTransformPtr )(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags) | 
| Declare inverse transform function types.  More... | |
| typedef void( | DCTransformPtr )(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size) | 
Enumerations | |
| enum | {  IVI4_FRAMETYPE_INTRA = 0, IVI4_FRAMETYPE_INTRA1 = 1, IVI4_FRAMETYPE_INTER = 2, IVI4_FRAMETYPE_BIDIR = 3, IVI4_FRAMETYPE_INTER_NOREF = 4, IVI4_FRAMETYPE_NULL_FIRST = 5, IVI4_FRAMETYPE_NULL_LAST = 6 }  | 
| Indeo 4 frame types.  More... | |
| 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, int is_indeo4) | 
| 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... | |
This file contains structures and macros shared by both Indeo4 and Indeo5 decoders.
Definition in file ivi.h.
| #define IVI_VLC_BITS 13 | 
max number of bits of the ivi's huffman codes
Definition at line 49 of file ivi.h.
Referenced by decode_mb_info(), ivi_create_huff_from_desc(), and ivi_decode_coded_blocks().
| #define IVI5_IS_PROTECTED 0x20 | 
Definition at line 50 of file ivi.h.
Referenced by decode_gop_header(), and ff_ivi_decode_frame().
calculate number of tiles in a stride
Definition at line 283 of file ivi.h.
Referenced by ff_ivi_init_tiles().
| #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 286 of file ivi.h.
Referenced by decode_mb_info(), ivi_init_tiles(), and ivi_process_empty_tile().
convert unsigned values into signed ones (the sign is in the LSB)
Definition at line 290 of file ivi.h.
Referenced by decode_mb_info(), and ivi_decode_coded_blocks().
| anonymous enum | 
Indeo 4 frame types.
| anonymous enum | 
      
  | 
  inlinestatic | 
compare some properties of two pictures
Definition at line 274 of file ivi.h.
Referenced by decode_gop_header(), and decode_pic_hdr().
scale motion vector
Definition at line 293 of file ivi.h.
Referenced by decode_mb_info(), and ivi_process_empty_tile().
Initialize static codes used for macroblock and block decoding.
Definition at line 179 of file ivi.c.
Referenced by decode_init().
| 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.
| [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 | 
Definition at line 226 of file ivi.c.
Referenced by decode_band_hdr(), and decode_pic_hdr().
| int ff_ivi_init_planes | ( | IVIPlaneDesc * | planes, | 
| const IVIPicConfig * | cfg, | ||
| int | is_indeo4 | ||
| ) | 
Initialize planes (prepares descriptors, allocates buffers etc).
| [in,out] | planes | pointer to the array of the plane descriptors | 
| [in] | cfg | pointer to the ivi_pic_config structure describing picture layout | 
| [in] | is_indeo4 | flag signalling if it is Indeo 4 or not | 
Definition at line 305 of file ivi.c.
Referenced by decode_gop_header(), decode_init(), and decode_pic_hdr().
| int ff_ivi_init_tiles | ( | IVIPlaneDesc * | planes, | 
| int | tile_width, | ||
| int | tile_height | ||
| ) | 
Initialize tile and macroblock descriptors.
| [in,out] | planes | pointer to the array of the plane descriptors | 
| [in] | tile_width | tile width | 
| [in] | tile_height | tile height | 
Definition at line 421 of file ivi.c.
Referenced by decode_gop_header(), and decode_pic_hdr().
| int ff_ivi_decode_frame | ( | AVCodecContext * | avctx, | 
| void * | data, | ||
| int * | got_frame, | ||
| AVPacket * | avpkt | ||
| ) | 
Definition at line 1054 of file ivi.c.
Referenced by ff_ivi_decode_frame().
| int ff_ivi_decode_close | ( | AVCodecContext * | avctx | ) | 
| 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 1218 of file ivi.c.
Referenced by decode_gop_header().
| const uint8_t ff_ivi_horizontal_scan_8x8[64] | 
Definition at line 1229 of file ivi.c.
Referenced by decode_gop_header().
| const uint8_t ff_ivi_direct_scan_4x4[16] | 
Definition at line 1240 of file ivi.c.
Referenced by decode_gop_header().
| const RVMapDesc ff_ivi_rvmap_tabs[9] | 
 1.8.6