h263.c File Reference


Detailed Description

h263/mpeg4 codec.

Definition in file h263.c.

Go to the source code of this file.

Functions

static void h263_encode_block (MpegEncContext *s, DCTELEM *block, int n)
 encodes a 8x8 block.
static void h263p_encode_umotion (MpegEncContext *s, int val)
static void mpeg4_encode_block (MpegEncContext *s, DCTELEM *block, int n, int intra_dc, uint8_t *scan_table, PutBitContext *dc_pb, PutBitContext *ac_pb)
 encodes a 8x8 block
static int mpeg4_get_block_length (MpegEncContext *s, DCTELEM *block, int n, int intra_dc, uint8_t *scan_table)
static int h263_decode_motion (MpegEncContext *s, int pred, int fcode)
static int h263p_decode_umotion (MpegEncContext *s, int pred)
static int h263_decode_block (MpegEncContext *s, DCTELEM *block, int n, int coded)
static int mpeg4_decode_dc (MpegEncContext *s, int n, int *dir_ptr)
 decodes the dc value.
static int mpeg4_decode_block (MpegEncContext *s, DCTELEM *block, int n, int coded, int intra, int rvlc)
 decodes a block.
static int h263_pred_dc (MpegEncContext *s, int n, int16_t **dc_val_ptr)
static void mpeg4_encode_visual_object_header (MpegEncContext *s)
static void mpeg4_encode_vol_header (MpegEncContext *s, int vo_number, int vol_number)
static void mpeg4_decode_sprite_trajectory (MpegEncContext *s, GetBitContext *gb)
static int ff_mpeg4_pred_dc (MpegEncContext *s, int n, int level, int *dir_ptr, int encoding)
 predicts the dc.
int h263_get_picture_format (int width, int height)
static void show_pict_info (MpegEncContext *s)
static void aspect_to_info (MpegEncContext *s, AVRational aspect)
void ff_flv_encode_picture_header (MpegEncContext *s, int picture_number)
void h263_encode_picture_header (MpegEncContext *s, int picture_number)
void h263_encode_gob_header (MpegEncContext *s, int mb_line)
 Encodes a group of blocks header.
static int get_block_rate (MpegEncContext *s, DCTELEM block[64], int block_last_index, uint8_t scantable[64])
static int decide_ac_pred (MpegEncContext *s, DCTELEM block[6][64], int dir[6], uint8_t *st[6], int zigzag_last_index[6])
static void restore_ac_coeffs (MpegEncContext *s, DCTELEM block[6][64], int dir[6], uint8_t *st[6], int zigzag_last_index[6])
static void ff_init_qscale_tab (MpegEncContext *s)
 init s->current_picture.qscale_table from s->lambda_table
void ff_clean_h263_qscales (MpegEncContext *s)
 modify qscale so that encoding is acually possible in h263 (limit difference to -2.
void ff_clean_mpeg4_qscales (MpegEncContext *s)
 modify mb_type & qscale so that encoding is acually possible in mpeg4
void ff_mpeg4_init_direct_mv (MpegEncContext *s)
static void ff_mpeg4_set_one_direct_mv (MpegEncContext *s, int mx, int my, int i)
int ff_mpeg4_set_direct_mv (MpegEncContext *s, int mx, int my)
void ff_h263_update_motion_val (MpegEncContext *s)
static int h263_get_motion_length (MpegEncContext *s, int val, int f_code)
static void ff_h263_encode_motion_vector (MpegEncContext *s, int x, int y, int f_code)
static int get_p_cbp (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
static int get_b_cbp (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y, int mb_type)
static void mpeg4_encode_blocks (MpegEncContext *s, DCTELEM block[6][64], int intra_dc[6], uint8_t **scan_table, PutBitContext *dc_pb, PutBitContext *ac_pb)
void mpeg4_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void h263_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
void ff_h263_loop_filter (MpegEncContext *s)
static void h263_pred_acdc (MpegEncContext *s, DCTELEM *block, int n)
int16_th263_pred_motion (MpegEncContext *s, int block, int dir, int *px, int *py)
void ff_h263_encode_motion (MpegEncContext *s, int val, int f_code)
static void init_mv_penalty_and_fcode (MpegEncContext *s)
static void init_uni_dc_tab (void)
static void init_uni_mpeg4_rl_tab (RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab)
static void init_uni_h263_rl_tab (RLTable *rl, uint32_t *bits_tab, uint8_t *len_tab)
void h263_encode_init (MpegEncContext *s)
void ff_mpeg4_stuffing (PutBitContext *pbc)
 add mpeg4 stuffing bits (01.
void ff_set_mpeg4_time (MpegEncContext *s)
static void mpeg4_encode_gop_header (MpegEncContext *s)
void mpeg4_encode_picture_header (MpegEncContext *s, int picture_number)
void mpeg4_pred_ac (MpegEncContext *s, DCTELEM *block, int n, int dir)
 predicts the ac.
static void mpeg4_encode_dc (PutBitContext *s, int level, int n)
 encodes the dc value.
static int mpeg4_get_dc_length (int level, int n)
void h263_decode_init_vlc (MpegEncContext *s)
int ff_h263_get_gob_height (MpegEncContext *s)
 Get the GOB height based on picture height.
int ff_h263_decode_mba (MpegEncContext *s)
void ff_h263_encode_mba (MpegEncContext *s)
static int h263_decode_gob_header (MpegEncContext *s)
 decodes the group of blocks header or slice header.
static void memsetw (short *tab, int val, int n)
void ff_mpeg4_init_partitions (MpegEncContext *s)
void ff_mpeg4_merge_partitions (MpegEncContext *s)
int ff_mpeg4_get_video_packet_prefix_length (MpegEncContext *s)
void ff_mpeg4_encode_video_packet_header (MpegEncContext *s)
static int mpeg4_is_resync (MpegEncContext *s)
 check if the next stuff is a resync marker or the end.
static int mpeg4_decode_video_packet_header (MpegEncContext *s)
 decodes the next video packet.
void ff_mpeg4_clean_buffers (MpegEncContext *s)
int ff_h263_resync (MpegEncContext *s)
 decodes the group of blocks / video packet header.
static int get_amv (MpegEncContext *s, int n)
 gets the average motion vector for a GMC MB.
static int mpeg4_decode_partition_a (MpegEncContext *s)
 decodes first partition.
static int mpeg4_decode_partition_b (MpegEncContext *s, int mb_count)
 decode second partition.
int ff_mpeg4_decode_partitions (MpegEncContext *s)
 decodes the first & second partition
static int mpeg4_decode_partitioned_mb (MpegEncContext *s, DCTELEM block[6][64])
 decode partition C of one MB.
static void preview_obmc (MpegEncContext *s)
 read the next MVs for OBMC.
static void h263_decode_dquant (MpegEncContext *s)
int ff_h263_decode_mb (MpegEncContext *s, DCTELEM block[6][64])
int ff_mpeg4_decode_mb (MpegEncContext *s, DCTELEM block[6][64])
int h263_decode_picture_header (MpegEncContext *s)
static int mpeg4_decode_gop_header (MpegEncContext *s, GetBitContext *gb)
static int decode_vol_header (MpegEncContext *s, GetBitContext *gb)
static int decode_user_data (MpegEncContext *s, GetBitContext *gb)
 decodes the user data stuff in the header.
static int decode_vop_header (MpegEncContext *s, GetBitContext *gb)
int ff_mpeg4_decode_picture_header (MpegEncContext *s, GetBitContext *gb)
 decode mpeg4 headers
int intel_h263_decode_picture_header (MpegEncContext *s)
int flv_h263_decode_picture_header (MpegEncContext *s)

Variables

static uint8_t uni_DCtab_lum_len [512]
static uint8_t uni_DCtab_chrom_len [512]
static uint16_t uni_DCtab_lum_bits [512]
static uint16_t uni_DCtab_chrom_bits [512]
static uint8_t mv_penalty [MAX_FCODE+1][MAX_MV *2+1]
static uint8_t fcode_tab [MAX_MV *2+1]
static uint8_t umv_fcode_tab [MAX_MV *2+1]
static uint32_t uni_mpeg4_intra_rl_bits [64 *64 *2 *2]
static uint8_t uni_mpeg4_intra_rl_len [64 *64 *2 *2]
static uint32_t uni_mpeg4_inter_rl_bits [64 *64 *2 *2]
static uint8_t uni_mpeg4_inter_rl_len [64 *64 *2 *2]
static uint8_t uni_h263_intra_aic_rl_len [64 *64 *2 *2]
static uint8_t uni_h263_inter_rl_len [64 *64 *2 *2]
static uint8_t static_rl_table_store [5][2][2 *MAX_RUN+MAX_LEVEL+3]
static VLC intra_MCBPC_vlc
static VLC inter_MCBPC_vlc
static VLC cbpy_vlc
static VLC mv_vlc
static VLC dc_lum
static VLC dc_chrom
static VLC sprite_trajectory
static VLC mb_type_b_vlc
static VLC h263_mbtype_b_vlc
static VLC cbpc_b_vlc


Function Documentation

static void h263_encode_block ( MpegEncContext s,
DCTELEM block,
int  n 
) [static]

encodes a 8x8 block.

Parameters:
block the 8x8 block
n block index (0-3 are luma, 4-5 are chroma)

Definition at line 2134 of file h263.c.

Referenced by h263_encode_mb().

static void h263p_encode_umotion ( MpegEncContext s,
int  val 
) [static]

Definition at line 1775 of file h263.c.

Referenced by h263_encode_mb().

static void mpeg4_encode_block ( MpegEncContext s,
DCTELEM block,
int  n,
int  intra_dc,
uint8_t *  scan_table,
PutBitContext dc_pb,
PutBitContext ac_pb 
) [inline, static]

encodes a 8x8 block

Parameters:
n block index (0-3 are luma, 4-5 are chroma)

Definition at line 2721 of file h263.c.

Referenced by mpeg4_encode_blocks().

static int mpeg4_get_block_length ( MpegEncContext s,
DCTELEM block,
int  n,
int  intra_dc,
uint8_t *  scan_table 
) [static]

Definition at line 2837 of file h263.c.

Referenced by mpeg4_encode_blocks().

static int h263_decode_motion ( MpegEncContext s,
int  pred,
int  fcode 
) [static]

static int h263p_decode_umotion ( MpegEncContext s,
int  pred 
) [static]

Definition at line 4530 of file h263.c.

Referenced by ff_h263_decode_mb(), and preview_obmc().

static int h263_decode_block ( MpegEncContext s,
DCTELEM block,
int  n,
int  coded 
) [static]

Definition at line 4555 of file h263.c.

Referenced by ff_h263_decode_mb().

static int mpeg4_decode_dc ( MpegEncContext s,
int  n,
int *  dir_ptr 
) [inline, static]

decodes the dc value.

Parameters:
n block index (0-3 are luma, 4-5 are chroma)
dir_ptr the prediction direction will be stored here
Returns:
the quantized dc

Definition at line 4691 of file h263.c.

Referenced by mpeg4_decode_block(), mpeg4_decode_partition_a(), and mpeg4_decode_partition_b().

static int mpeg4_decode_block ( MpegEncContext s,
DCTELEM block,
int  n,
int  coded,
int  intra,
int  rvlc 
) [inline, static]

decodes a block.

Returns:
<0 if an error occured

Definition at line 4736 of file h263.c.

Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partitioned_mb().

static int h263_pred_dc ( MpegEncContext s,
int  n,
int16_t **  dc_val_ptr 
) [static]

Definition at line 1553 of file h263.c.

Referenced by h263_encode_mb().

static void mpeg4_encode_visual_object_header ( MpegEncContext s  )  [static]

Definition at line 2309 of file h263.c.

Referenced by h263_encode_init(), and mpeg4_encode_picture_header().

static void mpeg4_encode_vol_header ( MpegEncContext s,
int  vo_number,
int  vol_number 
) [static]

Definition at line 2354 of file h263.c.

Referenced by h263_encode_init(), and mpeg4_encode_picture_header().

static void mpeg4_decode_sprite_trajectory ( MpegEncContext s,
GetBitContext gb 
) [static]

Definition at line 5255 of file h263.c.

Referenced by decode_vop_header(), and mpeg4_decode_video_packet_header().

static int ff_mpeg4_pred_dc ( MpegEncContext s,
int  n,
int  level,
int *  dir_ptr,
int  encoding 
) [inline, static]

predicts the dc.

encoding quantized level -> quantized diff decoding quantized diff -> quantized level

Parameters:
n block index (0-3 are luma, 4-5 are chroma)
dir_ptr pointer to an integer where the prediction direction will be stored

Definition at line 2530 of file h263.c.

Referenced by mpeg4_decode_block(), and mpeg4_decode_dc().

int h263_get_picture_format ( int  width,
int  height 
)

Definition at line 122 of file h263.c.

Referenced by h263_encode_picture_header(), and MPV_encode_init().

static void show_pict_info ( MpegEncContext s  )  [static]

Definition at line 141 of file h263.c.

Referenced by h263_decode_picture_header(), and intel_h263_decode_picture_header().

static void aspect_to_info ( MpegEncContext s,
AVRational  aspect 
) [static]

Definition at line 160 of file h263.c.

Referenced by h263_encode_picture_header(), and mpeg4_encode_vol_header().

void ff_flv_encode_picture_header ( MpegEncContext s,
int  picture_number 
)

Definition at line 175 of file h263.c.

Referenced by encode_picture().

void h263_encode_picture_header ( MpegEncContext s,
int  picture_number 
)

Definition at line 221 of file h263.c.

Referenced by encode_picture().

void h263_encode_gob_header ( MpegEncContext s,
int  mb_line 
)

Encodes a group of blocks header.

Definition at line 366 of file h263.c.

Referenced by encode_thread().

static int get_block_rate ( MpegEncContext s,
DCTELEM  block[64],
int  block_last_index,
uint8_t  scantable[64] 
) [inline, static]

Definition at line 389 of file h263.c.

Referenced by decide_ac_pred().

static int decide_ac_pred ( MpegEncContext s,
DCTELEM  block[6][64],
int  dir[6],
uint8_t *  st[6],
int  zigzag_last_index[6] 
) [inline, static]

Definition at line 413 of file h263.c.

static void restore_ac_coeffs ( MpegEncContext s,
DCTELEM  block[6][64],
int  dir[6],
uint8_t *  st[6],
int  zigzag_last_index[6] 
) [inline, static]

Definition at line 484 of file h263.c.

static void ff_init_qscale_tab ( MpegEncContext s  )  [static]

init s->current_picture.qscale_table from s->lambda_table

Definition at line 510 of file h263.c.

Referenced by ff_clean_h263_qscales().

void ff_clean_h263_qscales ( MpegEncContext s  ) 

modify qscale so that encoding is acually possible in h263 (limit difference to -2.

.2)

Definition at line 524 of file h263.c.

Referenced by estimate_qp(), and ff_clean_mpeg4_qscales().

void ff_clean_mpeg4_qscales ( MpegEncContext s  ) 

modify mb_type & qscale so that encoding is acually possible in mpeg4

Definition at line 553 of file h263.c.

Referenced by estimate_qp().

void ff_mpeg4_init_direct_mv ( MpegEncContext s  ) 

Definition at line 593 of file h263.c.

Referenced by decode_vop_header(), ff_set_mpeg4_time(), and rv20_decode_picture_header().

static void ff_mpeg4_set_one_direct_mv ( MpegEncContext s,
int  mx,
int  my,
int  i 
) [inline, static]

Definition at line 601 of file h263.c.

Referenced by ff_mpeg4_set_direct_mv().

int ff_mpeg4_set_direct_mv ( MpegEncContext s,
int  mx,
int  my 
)

Returns:
the mb_type

Definition at line 636 of file h263.c.

Referenced by encode_thread(), ff_h263_decode_mb(), and ff_mpeg4_decode_mb().

void ff_h263_update_motion_val ( MpegEncContext s  ) 

Definition at line 687 of file h263.c.

Referenced by decode_slice(), encode_thread(), and rv10_decode_packet().

static int h263_get_motion_length ( MpegEncContext s,
int  val,
int  f_code 
) [inline, static]

Definition at line 741 of file h263.c.

Referenced by ff_h263_encode_motion_vector().

static void ff_h263_encode_motion_vector ( MpegEncContext s,
int  x,
int  y,
int  f_code 
) [inline, static]

Definition at line 758 of file h263.c.

Referenced by h263_encode_mb().

static int get_p_cbp ( MpegEncContext s,
DCTELEM  block[6][64],
int  motion_x,
int  motion_y 
) [inline, static]

Definition at line 769 of file h263.c.

Referenced by h263_encode_mb().

static int get_b_cbp ( MpegEncContext s,
DCTELEM  block[6][64],
int  motion_x,
int  motion_y,
int  mb_type 
) [inline, static]

Definition at line 826 of file h263.c.

static void mpeg4_encode_blocks ( MpegEncContext s,
DCTELEM  block[6][64],
int  intra_dc[6],
uint8_t **  scan_table,
PutBitContext dc_pb,
PutBitContext ac_pb 
) [inline, static]

Definition at line 868 of file h263.c.

void mpeg4_encode_mb ( MpegEncContext s,
DCTELEM  block[6][64],
int  motion_x,
int  motion_y 
)

Definition at line 897 of file h263.c.

Referenced by encode_mb_internal().

void h263_encode_mb ( MpegEncContext s,
DCTELEM  block[6][64],
int  motion_x,
int  motion_y 
)

Definition at line 1261 of file h263.c.

Referenced by encode_mb_internal().

void ff_h263_loop_filter ( MpegEncContext s  ) 

Definition at line 1465 of file h263.c.

Referenced by decode_slice(), encode_thread(), and rv10_decode_packet().

static void h263_pred_acdc ( MpegEncContext s,
DCTELEM block,
int  n 
) [static]

Definition at line 1599 of file h263.c.

Referenced by h263_decode_block().

int16_t* h263_pred_motion ( MpegEncContext s,
int  block,
int  dir,
int *  px,
int *  py 
)

void ff_h263_encode_motion ( MpegEncContext s,
int  val,
int  f_code 
)

Definition at line 1745 of file h263.c.

Referenced by ff_h263_encode_motion_vector(), and svq1_encode_plane().

static void init_mv_penalty_and_fcode ( MpegEncContext s  )  [static]

Definition at line 1813 of file h263.c.

Referenced by h263_encode_init().

static void init_uni_dc_tab ( void   )  [static]

Definition at line 1856 of file h263.c.

Referenced by h263_encode_init().

static void init_uni_mpeg4_rl_tab ( RLTable rl,
uint32_t bits_tab,
uint8_t *  len_tab 
) [static]

Definition at line 1908 of file h263.c.

Referenced by h263_encode_init().

static void init_uni_h263_rl_tab ( RLTable rl,
uint32_t bits_tab,
uint8_t *  len_tab 
) [static]

Definition at line 1993 of file h263.c.

Referenced by h263_encode_init().

void h263_encode_init ( MpegEncContext s  ) 

Definition at line 2036 of file h263.c.

Referenced by encode_init(), MPV_encode_init(), and svq1_encode_init().

void ff_mpeg4_stuffing ( PutBitContext pbc  ) 

add mpeg4 stuffing bits (01.

..1)

Definition at line 2261 of file h263.c.

Referenced by mpeg4_encode_gop_header(), mpeg4_encode_visual_object_header(), mpeg4_encode_vol_header(), and write_slice_end().

void ff_set_mpeg4_time ( MpegEncContext s  ) 

Definition at line 2270 of file h263.c.

Referenced by encode_picture().

static void mpeg4_encode_gop_header ( MpegEncContext s  )  [static]

Definition at line 2279 of file h263.c.

Referenced by mpeg4_encode_picture_header().

void mpeg4_encode_picture_header ( MpegEncContext s,
int  picture_number 
)

Definition at line 2456 of file h263.c.

Referenced by encode_picture().

void mpeg4_pred_ac ( MpegEncContext s,
DCTELEM block,
int  n,
int  dir 
)

predicts the ac.

Parameters:
n block index (0-3 are luma, 4-5 are chroma)
dir the ac prediction direction

Definition at line 2607 of file h263.c.

Referenced by ff_msmpeg4_decode_block(), and mpeg4_decode_block().

static void mpeg4_encode_dc ( PutBitContext s,
int  level,
int  n 
) [inline, static]

encodes the dc value.

Parameters:
n block index (0-3 are luma, 4-5 are chroma)

Definition at line 2668 of file h263.c.

Referenced by mpeg4_encode_block().

static int mpeg4_get_dc_length ( int  level,
int  n 
) [inline, static]

Definition at line 2709 of file h263.c.

Referenced by mpeg4_get_block_length().

void h263_decode_init_vlc ( MpegEncContext s  ) 

Definition at line 2910 of file h263.c.

Referenced by ff_h263_decode_init(), and rv10_decode_init().

int ff_h263_get_gob_height ( MpegEncContext s  ) 

Get the GOB height based on picture height.

Definition at line 2963 of file h263.c.

Referenced by encode_thread(), and ff_h263_decode_frame().

int ff_h263_decode_mba ( MpegEncContext s  ) 

void ff_h263_encode_mba ( MpegEncContext s  ) 

static int h263_decode_gob_header ( MpegEncContext s  )  [static]

decodes the group of blocks header or slice header.

Returns:
<0 if an error occured

Definition at line 3001 of file h263.c.

Referenced by ff_h263_resync().

static void memsetw ( short *  tab,
int  val,
int  n 
) [inline, static]

Definition at line 3052 of file h263.c.

Referenced by ff_mpeg4_clean_buffers().

void ff_mpeg4_init_partitions ( MpegEncContext s  ) 

Definition at line 3061 of file h263.c.

Referenced by encode_thread().

void ff_mpeg4_merge_partitions ( MpegEncContext s  ) 

Definition at line 3074 of file h263.c.

Referenced by write_slice_end().

int ff_mpeg4_get_video_packet_prefix_length ( MpegEncContext s  ) 

void ff_mpeg4_encode_video_packet_header ( MpegEncContext s  ) 

Definition at line 3118 of file h263.c.

Referenced by encode_thread().

static int mpeg4_is_resync ( MpegEncContext s  )  [inline, static]

check if the next stuff is a resync marker or the end.

Returns:
0 if not

Definition at line 3136 of file h263.c.

Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partitioned_mb().

static int mpeg4_decode_video_packet_header ( MpegEncContext s  )  [static]

decodes the next video packet.

Returns:
<0 if something went wrong

Definition at line 3186 of file h263.c.

Referenced by ff_h263_resync().

void ff_mpeg4_clean_buffers ( MpegEncContext s  ) 

Definition at line 3275 of file h263.c.

Referenced by encode_thread(), ff_h263_decode_frame(), and ff_msmpeg4_handle_slices().

int ff_h263_resync ( MpegEncContext s  ) 

decodes the group of blocks / video packet header.

Returns:
<0 if no resync found

Definition at line 3310 of file h263.c.

Referenced by ff_h263_decode_frame().

static int get_amv ( MpegEncContext s,
int  n 
) [inline, static]

gets the average motion vector for a GMC MB.

Parameters:
n either 0 for the x component or 1 for y
Returns:
the average MV for a GMC MB

Definition at line 3355 of file h263.c.

Referenced by ff_mpeg4_decode_mb(), and mpeg4_decode_partition_a().

static int mpeg4_decode_partition_a ( MpegEncContext s  )  [static]

decodes first partition.

Returns:
number of MBs decoded or <0 if an error occured

Definition at line 3400 of file h263.c.

Referenced by ff_mpeg4_decode_partitions().

static int mpeg4_decode_partition_b ( MpegEncContext s,
int  mb_count 
) [static]

decode second partition.

Returns:
<0 if an error occured

Definition at line 3565 of file h263.c.

Referenced by ff_mpeg4_decode_partitions().

int ff_mpeg4_decode_partitions ( MpegEncContext s  ) 

decodes the first & second partition

Returns:
<0 if error (and sets error type in the error_status_table)

Definition at line 3652 of file h263.c.

Referenced by decode_slice().

static int mpeg4_decode_partitioned_mb ( MpegEncContext s,
DCTELEM  block[6][64] 
) [static]

decode partition C of one MB.

Returns:
<0 if an error occured

Definition at line 3705 of file h263.c.

Referenced by decode_vop_header().

static void preview_obmc ( MpegEncContext s  )  [static]

read the next MVs for OBMC.

yes this is a ugly hack, feel free to send a patch :)

Definition at line 3791 of file h263.c.

Referenced by ff_h263_decode_mb().

static void h263_decode_dquant ( MpegEncContext s  )  [static]

Definition at line 3883 of file h263.c.

Referenced by ff_h263_decode_mb().

int ff_h263_decode_mb ( MpegEncContext s,
DCTELEM  block[6][64] 
)

Definition at line 3896 of file h263.c.

Referenced by ff_h263_decode_init(), and rv10_decode_packet().

int ff_mpeg4_decode_mb ( MpegEncContext s,
DCTELEM  block[6][64] 
)

Definition at line 4162 of file h263.c.

Referenced by decode_vop_header(), and ff_h263_decode_init().

int h263_decode_picture_header ( MpegEncContext s  ) 

Definition at line 4989 of file h263.c.

Referenced by ff_h263_decode_frame().

static int mpeg4_decode_gop_header ( MpegEncContext s,
GetBitContext gb 
) [static]

Definition at line 5464 of file h263.c.

Referenced by ff_mpeg4_decode_picture_header().

static int decode_vol_header ( MpegEncContext s,
GetBitContext gb 
) [static]

Definition at line 5480 of file h263.c.

Referenced by ff_mpeg4_decode_picture_header().

static int decode_user_data ( MpegEncContext s,
GetBitContext gb 
) [static]

decodes the user data stuff in the header.

allso inits divx/xvid/lavc_version/build

Definition at line 5744 of file h263.c.

Referenced by ff_mpeg4_decode_picture_header().

static int decode_vop_header ( MpegEncContext s,
GetBitContext gb 
) [static]

Definition at line 5795 of file h263.c.

Referenced by ff_mpeg4_decode_picture_header().

int ff_mpeg4_decode_picture_header ( MpegEncContext s,
GetBitContext gb 
)

decode mpeg4 headers

Returns:
<0 if no VOP found (or a damaged one) FRAME_SKIPPED if a not coded VOP is found 0 if a VOP is found

Definition at line 6008 of file h263.c.

Referenced by av_mpeg4_decode_header(), and ff_h263_decode_frame().

int intel_h263_decode_picture_header ( MpegEncContext s  ) 

Definition at line 6090 of file h263.c.

Referenced by ff_h263_decode_frame().

int flv_h263_decode_picture_header ( MpegEncContext s  ) 

Definition at line 6156 of file h263.c.

Referenced by ff_h263_decode_frame().


Variable Documentation

uint8_t uni_DCtab_lum_len[512] [static]

Definition at line 84 of file h263.c.

Referenced by h263_encode_init(), init_uni_dc_tab(), mpeg4_encode_dc(), and mpeg4_get_dc_length().

uint8_t uni_DCtab_chrom_len[512] [static]

Definition at line 85 of file h263.c.

Referenced by h263_encode_init(), init_uni_dc_tab(), mpeg4_encode_dc(), and mpeg4_get_dc_length().

uint16_t uni_DCtab_lum_bits[512] [static]

Definition at line 86 of file h263.c.

Referenced by init_uni_dc_tab(), and mpeg4_encode_dc().

uint16_t uni_DCtab_chrom_bits[512] [static]

Definition at line 87 of file h263.c.

Referenced by init_uni_dc_tab(), and mpeg4_encode_dc().

uint8_t mv_penalty[MAX_FCODE+1][MAX_MV *2+1] [static]

uint8_t fcode_tab[MAX_MV *2+1] [static]

uint8_t umv_fcode_tab[MAX_MV *2+1] [static]

Definition at line 91 of file h263.c.

Referenced by h263_encode_init(), and init_mv_penalty_and_fcode().

uint32_t uni_mpeg4_intra_rl_bits[64 *64 *2 *2] [static]

Definition at line 93 of file h263.c.

Referenced by h263_encode_init(), and mpeg4_encode_block().

uint8_t uni_mpeg4_intra_rl_len[64 *64 *2 *2] [static]

Definition at line 94 of file h263.c.

Referenced by h263_encode_init(), mpeg4_encode_block(), and mpeg4_get_block_length().

uint32_t uni_mpeg4_inter_rl_bits[64 *64 *2 *2] [static]

Definition at line 95 of file h263.c.

Referenced by h263_encode_init(), and mpeg4_encode_block().

uint8_t uni_mpeg4_inter_rl_len[64 *64 *2 *2] [static]

Definition at line 96 of file h263.c.

Referenced by h263_encode_init(), mpeg4_encode_block(), and mpeg4_get_block_length().

uint8_t uni_h263_intra_aic_rl_len[64 *64 *2 *2] [static]

Definition at line 97 of file h263.c.

Referenced by h263_encode_init().

uint8_t uni_h263_inter_rl_len[64 *64 *2 *2] [static]

Definition at line 98 of file h263.c.

Referenced by h263_encode_init().

uint8_t static_rl_table_store[5][2][2 *MAX_RUN+MAX_LEVEL+3] [static]

VLC intra_MCBPC_vlc [static]

Definition at line 2897 of file h263.c.

VLC inter_MCBPC_vlc [static]

Definition at line 2898 of file h263.c.

VLC cbpy_vlc [static]

Definition at line 2899 of file h263.c.

VLC mv_vlc [static]

Definition at line 2900 of file h263.c.

VLC dc_lum [static]

Definition at line 2901 of file h263.c.

VLC dc_chrom [static]

Definition at line 2901 of file h263.c.

Definition at line 2902 of file h263.c.

VLC mb_type_b_vlc [static]

Definition at line 2903 of file h263.c.

Definition at line 2904 of file h263.c.

VLC cbpc_b_vlc [static]

Definition at line 2905 of file h263.c.


Generated on Sat Dec 18 05:15:52 2010 for MythTV by  doxygen 1.5.5