FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
ituh263enc.c File Reference
#include "config_components.h"
#include <limits.h>
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "mpegvideo.h"
#include "flvenc.h"
#include "mpegvideoenc.h"
#include "h263.h"
#include "h263enc.h"
#include "h263data.h"
#include "h263dsp.h"
#include "mathops.h"
#include "mpegutils.h"
#include "internal.h"

Go to the source code of this file.

Macros

#define UNI_MPEG4_ENC_INDEX(last, run, level)   ((last)*128*64 + (run)*128 + (level))
 

Functions

static av_cold void init_mv_penalty_and_fcode (void)
 
static av_cold void init_uni_h263_rl_tab (const RLTable *rl, uint8_t *len_tab)
 
static av_cold void h263_encode_init_static (void)
 
const av_cold uint8_t(* ff_h263_get_mv_penalty (void))[MAX_DMV *2+1]
 
void ff_h263_encode_motion (PutBitContext *pb, int val, int f_code)
 

Variables

static uint8_t mv_penalty [MAX_FCODE+1][MAX_DMV *2+1]
 Table of number of bits a motion vector component needs. More...
 
static uint8_t umv_fcode_tab [MAX_MV *2+1]
 Minimal fcode that a motion vector component would need in umv. More...
 
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]
 

Detailed Description

H.263 bitstream encoder.

Definition in file ituh263enc.c.

Macro Definition Documentation

◆ UNI_MPEG4_ENC_INDEX

#define UNI_MPEG4_ENC_INDEX (   last,
  run,
  level 
)    ((last)*128*64 + (run)*128 + (level))

Definition at line 67 of file ituh263enc.c.

Function Documentation

◆ init_mv_penalty_and_fcode()

static av_cold void init_mv_penalty_and_fcode ( void  )
static

Definition at line 69 of file ituh263enc.c.

Referenced by h263_encode_init_static().

◆ init_uni_h263_rl_tab()

static av_cold void init_uni_h263_rl_tab ( const RLTable rl,
uint8_t *  len_tab 
)
static

Definition at line 100 of file ituh263enc.c.

Referenced by h263_encode_init_static().

◆ h263_encode_init_static()

static av_cold void h263_encode_init_static ( void  )
static

Definition at line 140 of file ituh263enc.c.

Referenced by ff_h263_get_mv_penalty().

◆ ff_h263_get_mv_penalty()

const av_cold uint8_t(* ff_h263_get_mv_penalty ( void  ) )[MAX_DMV *2+1]

Definition at line 153 of file ituh263enc.c.

Referenced by encode_init(), and svq1_encode_init().

◆ ff_h263_encode_motion()

void ff_h263_encode_motion ( PutBitContext pb,
int  val,
int  f_code 
)

Definition at line 162 of file ituh263enc.c.

Referenced by ff_h263_encode_motion_vector(), and svq1_encode_plane().

Variable Documentation

◆ mv_penalty

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

Table of number of bits a motion vector component needs.

Definition at line 53 of file ituh263enc.c.

Referenced by ff_h263_get_mv_penalty(), and init_mv_penalty_and_fcode().

◆ umv_fcode_tab

uint8_t umv_fcode_tab[MAX_MV *2+1]
static

Minimal fcode that a motion vector component would need in umv.

All entries in this table are 1.

Definition at line 59 of file ituh263enc.c.

Referenced by init_mv_penalty_and_fcode().

◆ uni_h263_intra_aic_rl_len

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

Definition at line 63 of file ituh263enc.c.

Referenced by h263_encode_init_static().

◆ uni_h263_inter_rl_len

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

Definition at line 64 of file ituh263enc.c.

Referenced by h263_encode_init_static().