rv34.h File Reference

RV30 and RV40 decoder common data declarations. More...

#include "avcodec.h"
#include "mpegvideo.h"
#include "h264pred.h"
#include "rv34dsp.h"
Include dependency graph for rv34.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RV34VLC
 VLC tables used by the decoder. More...
 
struct  SliceInfo
 essential slice information More...
 
struct  RV34DecContext
 decoder context More...
 

Macros

#define MB_TYPE_SEPARATE_DC   0x01000000
 
#define IS_SEPARATE_DC(a)   ((a) & MB_TYPE_SEPARATE_DC)
 

Typedefs

typedef struct RV34VLC RV34VLC
 VLC tables used by the decoder. More...
 
typedef struct SliceInfo SliceInfo
 essential slice information More...
 
typedef struct RV34DecContext RV34DecContext
 decoder context More...
 

Enumerations

enum  RV40BlockTypes {
  RV34_MB_TYPE_INTRA, RV34_MB_TYPE_INTRA16x16, RV34_MB_P_16x16, RV34_MB_P_8x8,
  RV34_MB_B_FORWARD, RV34_MB_B_BACKWARD, RV34_MB_SKIP, RV34_MB_B_DIRECT,
  RV34_MB_P_16x8, RV34_MB_P_8x16, RV34_MB_B_BIDIR, RV34_MB_P_MIX16x16,
  RV34_MB_TYPES
}
 RV30 and RV40 Macroblock types. More...
 

Functions

int ff_rv34_get_start_offset (GetBitContext *gb, int blocks)
 common decoding functions More...
 
int ff_rv34_decode_init (AVCodecContext *avctx)
 Initialize decoder. More...
 
int ff_rv34_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 
int ff_rv34_decode_end (AVCodecContext *avctx)
 
int ff_rv34_decode_init_thread_copy (AVCodecContext *avctx)
 
int ff_rv34_decode_update_thread_context (AVCodecContext *dst, const AVCodecContext *src)
 

Detailed Description

RV30 and RV40 decoder common data declarations.

Definition in file rv34.h.

Macro Definition Documentation

#define IS_SEPARATE_DC (   a)    ((a) & MB_TYPE_SEPARATE_DC)

Definition at line 37 of file rv34.h.

Referenced by rv30_loop_filter(), and rv40_loop_filter().

#define MB_TYPE_SEPARATE_DC   0x01000000

Definition at line 36 of file rv34.h.

Typedef Documentation

decoder context

typedef struct RV34VLC RV34VLC

VLC tables used by the decoder.

Intra frame VLC sets do not contain some of those tables.

typedef struct SliceInfo SliceInfo

essential slice information

Enumeration Type Documentation

RV30 and RV40 Macroblock types.

Enumerator
RV34_MB_TYPE_INTRA 

Intra macroblock.

RV34_MB_TYPE_INTRA16x16 

Intra macroblock with DCs in a separate 4x4 block.

RV34_MB_P_16x16 

P-frame macroblock, one motion frame.

RV34_MB_P_8x8 

P-frame macroblock, 8x8 motion compensation partitions.

RV34_MB_B_FORWARD 

B-frame macroblock, forward prediction.

RV34_MB_B_BACKWARD 

B-frame macroblock, backward prediction.

RV34_MB_SKIP 

Skipped block.

RV34_MB_B_DIRECT 

Bidirectionally predicted B-frame macroblock, no motion vectors.

RV34_MB_P_16x8 

P-frame macroblock, 16x8 motion compensation partitions.

RV34_MB_P_8x16 

P-frame macroblock, 8x16 motion compensation partitions.

RV34_MB_B_BIDIR 

Bidirectionally predicted B-frame macroblock, two motion vectors.

RV34_MB_P_MIX16x16 

P-frame macroblock with DCs in a separate 4x4 block, one motion vector.

RV34_MB_TYPES 

Definition at line 42 of file rv34.h.

Function Documentation

int ff_rv34_decode_end ( AVCodecContext avctx)

Definition at line 1813 of file rv34.c.

int ff_rv34_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame,
AVPacket avpkt 
)

Definition at line 1610 of file rv34.c.

int ff_rv34_decode_init ( AVCodecContext avctx)

Initialize decoder.

Definition at line 1470 of file rv34.c.

Referenced by rv30_decode_init(), and rv40_decode_init().

int ff_rv34_decode_init_thread_copy ( AVCodecContext avctx)

Definition at line 1516 of file rv34.c.

int ff_rv34_decode_update_thread_context ( AVCodecContext dst,
const AVCodecContext src 
)

Definition at line 1534 of file rv34.c.

int ff_rv34_get_start_offset ( GetBitContext gb,
int  mb_size 
)

common decoding functions

common decoding functions

Todo:
Maybe replace with ff_h263_decode_mba() ?

Definition at line 329 of file rv34.c.

Referenced by rv30_parse_slice_header(), and rv40_parse_slice_header().