FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | 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.

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)
 

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

Definition in file rv34.h.

Macro Definition Documentation

#define MB_TYPE_SEPARATE_DC   0x01000000

Definition at line 36 of file rv34.h.

#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().

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_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 328 of file rv34.c.

Referenced by rv30_parse_slice_header(), and rv40_parse_slice_header().

int ff_rv34_decode_init ( AVCodecContext avctx)

Initialize decoder.

Definition at line 1469 of file rv34.c.

Referenced by rv30_decode_init(), and rv40_decode_init().

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

Definition at line 1602 of file rv34.c.

int ff_rv34_decode_end ( AVCodecContext avctx)

Definition at line 1801 of file rv34.c.

int ff_rv34_decode_init_thread_copy ( AVCodecContext avctx)

Definition at line 1513 of file rv34.c.

int ff_rv34_decode_update_thread_context ( AVCodecContext dst,
const AVCodecContext src 
)

Definition at line 1530 of file rv34.c.