#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "ivi_dsp.h"
#include "ivi_common.h"
#include "indeo5data.h"
Go to the source code of this file.
| Data Structures | |
| struct | IVI5DecContext | 
| Defines | |
| #define | ALT_BITSTREAM_READER_LE | 
| #define | IVI5_PIC_SIZE_ESC 15 | 
| #define | IVI5_IS_PROTECTED 0x20 | 
| Enumerations | |
| enum | { FRAMETYPE_INTRA = 0, FRAMETYPE_INTER = 1, FRAMETYPE_INTER_SCAL = 2, FRAMETYPE_INTER_NOREF = 3, FRAMETYPE_NULL = 4 } | 
| Indeo5 frame types.  More... | |
| Functions | |
| static int | decode_gop_header (IVI5DecContext *ctx, AVCodecContext *avctx) | 
| Decode Indeo5 GOP (Group of pictures) header. | |
| static void | skip_hdr_extension (GetBitContext *gb) | 
| Skip a header extension. | |
| static int | decode_pic_hdr (IVI5DecContext *ctx, AVCodecContext *avctx) | 
| Decode Indeo5 picture header. | |
| static int | decode_band_hdr (IVI5DecContext *ctx, IVIBandDesc *band, AVCodecContext *avctx) | 
| Decode Indeo5 band header. | |
| static int | decode_mb_info (IVI5DecContext *ctx, IVIBandDesc *band, IVITile *tile, AVCodecContext *avctx) | 
| Decode info (block type, cbp, quant delta, motion vector) for all macroblocks in the current tile. | |
| static int | decode_band (IVI5DecContext *ctx, int plane_num, IVIBandDesc *band, AVCodecContext *avctx) | 
| Decode an Indeo5 band. | |
| static void | switch_buffers (IVI5DecContext *ctx) | 
| Switch buffers. | |
| static av_cold int | decode_init (AVCodecContext *avctx) | 
| Initialize Indeo5 decoder. | |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) | 
| main decoder function | |
| static av_cold int | decode_close (AVCodecContext *avctx) | 
| Close Indeo5 decoder and clean up its context. | |
| Variables | |
| AVCodec | ff_indeo5_decoder | 
Indeo5 data is usually transported within .avi or .mov files. Known FOURCCs: 'IV50'
Definition in file indeo5.c.
| #define IVI5_IS_PROTECTED 0x20 | 
| #define IVI5_PIC_SIZE_ESC 15 | 
| anonymous enum | 
| static int decode_band | ( | IVI5DecContext * | ctx, | |
| int | plane_num, | |||
| IVIBandDesc * | band, | |||
| AVCodecContext * | avctx | |||
| ) |  [static] | 
Decode an Indeo5 band.
| [in,out] | ctx | ptr to the decoder context | 
| [in,out] | band | ptr to the band descriptor | 
| [in] | avctx | ptr to the AVCodecContext | 
| static int decode_band_hdr | ( | IVI5DecContext * | ctx, | |
| IVIBandDesc * | band, | |||
| AVCodecContext * | avctx | |||
| ) |  [static] | 
Decode Indeo5 band header.
| [in,out] | ctx | ptr to the decoder context | 
| [in,out] | band | ptr to the band descriptor | 
| [in] | avctx | ptr to the AVCodecContext | 
| static av_cold int decode_close | ( | AVCodecContext * | avctx | ) |  [static] | 
| static int decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | avpkt | |||
| ) |  [static] | 
| static int decode_gop_header | ( | IVI5DecContext * | ctx, | |
| AVCodecContext * | avctx | |||
| ) |  [static] | 
Decode Indeo5 GOP (Group of pictures) header.
This header is present in key frames only. It defines parameters for all frames in a GOP.
| [in,out] | ctx | ptr to the decoder context | 
| [in] | avctx | ptr to the AVCodecContext | 
Definition at line 91 of file indeo5.c.
Referenced by decode_pic_hdr().
| static av_cold int decode_init | ( | AVCodecContext * | avctx | ) |  [static] | 
| static int decode_mb_info | ( | IVI5DecContext * | ctx, | |
| IVIBandDesc * | band, | |||
| IVITile * | tile, | |||
| AVCodecContext * | avctx | |||
| ) |  [static] | 
Decode info (block type, cbp, quant delta, motion vector) for all macroblocks in the current tile.
| [in,out] | ctx | ptr to the decoder context | 
| [in,out] | band | ptr to the band descriptor | 
| [in,out] | tile | ptr to the tile descriptor | 
| [in] | avctx | ptr to the AVCodecContext | 
| static int decode_pic_hdr | ( | IVI5DecContext * | ctx, | |
| AVCodecContext * | avctx | |||
| ) |  [static] | 
Decode Indeo5 picture header.
| [in,out] | ctx | ptr to the decoder context | 
| [in] | avctx | ptr to the AVCodecContext | 
| static void skip_hdr_extension | ( | GetBitContext * | gb | ) |  [inline, static] | 
Skip a header extension.
| [in,out] | gb | the GetBit context | 
Definition at line 304 of file indeo5.c.
Referenced by decode_band_hdr(), and decode_pic_hdr().
| static void switch_buffers | ( | IVI5DecContext * | ctx | ) |  [static] | 
Initial value:
 {
    .name           = "indeo5",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_INDEO5,
    .priv_data_size = sizeof(IVI5DecContext),
    .init           = decode_init,
    .close          = decode_close,
    .decode         = decode_frame,
    .long_name      = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
}
 1.5.8
 1.5.8