FFmpeg
Data Structures | Macros | Enumerations | Functions
rv34.h File Reference
#include "libavutil/mem_internal.h"
#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 More...
 
int ff_rv34_decode_init (AVCodecContext *avctx)
 Initialize decoder. More...
 
int ff_rv34_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
int ff_rv34_decode_end (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

◆ MB_TYPE_SEPARATE_DC

#define MB_TYPE_SEPARATE_DC   0x01000000

Definition at line 38 of file rv34.h.

◆ IS_SEPARATE_DC

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

Definition at line 39 of file rv34.h.

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.

RV34_MB_TYPES 

Definition at line 44 of file rv34.h.

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

Definition at line 323 of file rv34.c.

Referenced by rv30_parse_slice_header(), and rv40_parse_slice_header().

◆ ff_rv34_decode_init()

int ff_rv34_decode_init ( AVCodecContext avctx)

Initialize decoder.

Definition at line 1487 of file rv34.c.

Referenced by rv30_decode_init(), and rv40_decode_init().

◆ ff_rv34_decode_frame()

int ff_rv34_decode_frame ( AVCodecContext avctx,
AVFrame frame,
int got_frame,
AVPacket avpkt 
)

Definition at line 1596 of file rv34.c.

◆ ff_rv34_decode_end()

int ff_rv34_decode_end ( AVCodecContext avctx)

Definition at line 1803 of file rv34.c.

◆ ff_rv34_decode_update_thread_context()

int ff_rv34_decode_update_thread_context ( AVCodecContext dst,
const AVCodecContext src 
)

Definition at line 1516 of file rv34.c.