FFmpeg
Classes | Macros | Typedefs | Enumerations | Functions
rv34.h File Reference

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

#include "avcodec.h"
#include "mpegvideo.h"
#include "h264pred.h"
#include "rv34dsp.h"

Go to the source code of this file.

Classes

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
 
typedef struct RV34DecContext RV34DecContext
 decoder context
 

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.
 
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.

Typedef Documentation

§ RV34VLC

typedef struct RV34VLC RV34VLC

VLC tables used by the decoder.

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

Enumeration Type Documentation

§ RV40BlockTypes

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.

Function Documentation

§ ff_rv34_get_start_offset()

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() ?