frame.c File Reference

Include dependency graph for frame.c:


Defines

#define NDEBUG   1
#define MOTION_CALL(routine, direction)
#define NEXT_MACROBLOCK

Enumerations

enum  { I_TYPE = 1, P_TYPE = 2, B_TYPE = 3 }

Functions

static int get_macroblock_modes (transrate_t *tr)
static int get_quantizer_scale (transrate_t *tr)
static int get_motion_delta (bs_transrate_t *bs, const int f_code)
static int get_dmv (bs_transrate_t *bs)
static int get_coded_block_pattern (bs_transrate_t *bs)
static int get_luma_dc_dct_diff (bs_transrate_t *bs, uint32_t *bits, uint8_t *len)
static int get_chroma_dc_dct_diff (bs_transrate_t *bs, uint32_t *bits, uint8_t *len)
static void motion_fr_frame (bs_transrate_t *bs, unsigned int f_code[2])
static void motion_fr_field (bs_transrate_t *bs, unsigned int f_code[2])
static void motion_fr_dmv (bs_transrate_t *bs, unsigned int f_code[2])
static void motion_fi_field (bs_transrate_t *bs, unsigned int f_code[2])
static void motion_fi_16x8 (bs_transrate_t *bs, unsigned int f_code[2])
static void motion_fi_dmv (bs_transrate_t *bs, unsigned int f_code[2])
static void putmbdata (transrate_t *tr, int macroblock_modes)
static void put_quantiser (transrate_t *tr)
static void putaddrinc (transrate_t *tr, int addrinc)
static int slice_init (transrate_t *tr, int code)
static void mpeg2_slice (transrate_t *tr, const int code)
static const uint8_t mpeg2_scan_norm[64] ATTR_ALIGN (16)
static int mpeg2_header_sequence (transrate_t *tr)
static int do_next_start_code (transrate_t *tr)
int process_frame (sout_stream_t *p_stream, sout_stream_id_t *id, block_t *in, block_t **out, int i_handicap)

Variables

static const int non_linear_quantizer_scale []
static const uint8_t map_non_linear_mquant [113]
static const int16_t default_intra_matrix [64]

Define Documentation

#define MOTION_CALL ( routine,
direction   ) 

Value:

do {                                                        \
    if ((direction) & MACROBLOCK_MOTION_FORWARD)            \
        routine( bs, tr->f_code[0]);                        \
    if ((direction) & MACROBLOCK_MOTION_BACKWARD)           \
        routine( bs, tr->f_code[1]);                        \
} while (0)

#define NDEBUG   1

#define NEXT_MACROBLOCK

Value:

do {                                                            \
    tr->h_offset += 16;                                         \
    if( tr->h_offset == tr->horizontal_size_value)              \
    {                                                           \
        tr->v_offset += 16;                                         \
        if (tr->v_offset > (tr->vertical_size_value - 16)) return;      \
        tr->h_offset = 0;                                       \
    }                                                           \
} while (0)


Enumeration Type Documentation

anonymous enum

Enumerator:
I_TYPE 
P_TYPE 
B_TYPE 


Function Documentation

static const uint8_t mpeg2_scan_norm [64] ATTR_ALIGN ( 16   )  [static]

static int do_next_start_code ( transrate_t tr  )  [static]

static int get_chroma_dc_dct_diff ( bs_transrate_t bs,
uint32_t *  bits,
uint8_t *  len 
) [inline, static]

static int get_coded_block_pattern ( bs_transrate_t bs  )  [inline, static]

static int get_dmv ( bs_transrate_t bs  )  [inline, static]

static int get_luma_dc_dct_diff ( bs_transrate_t bs,
uint32_t *  bits,
uint8_t *  len 
) [inline, static]

static int get_macroblock_modes ( transrate_t tr  )  [inline, static]

static int get_motion_delta ( bs_transrate_t bs,
const int  f_code 
) [inline, static]

static int get_quantizer_scale ( transrate_t tr  )  [inline, static]

static void motion_fi_16x8 ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static void motion_fi_dmv ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static void motion_fi_field ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static void motion_fr_dmv ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static void motion_fr_field ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static void motion_fr_frame ( bs_transrate_t bs,
unsigned int  f_code[2] 
) [static]

static int mpeg2_header_sequence ( transrate_t tr  )  [static]

static void mpeg2_slice ( transrate_t tr,
const int  code 
) [static]

int process_frame ( sout_stream_t p_stream,
sout_stream_id_t id,
block_t in,
block_t **  out,
int  i_handicap 
)

static void put_quantiser ( transrate_t tr  )  [inline, static]

static void putaddrinc ( transrate_t tr,
int  addrinc 
) [inline, static]

static void putmbdata ( transrate_t tr,
int  macroblock_modes 
) [static]

static int slice_init ( transrate_t tr,
int  code 
) [static]


Variable Documentation

const int16_t default_intra_matrix[64] [static]

Initial value:

 {
        8, 16, 19, 22, 26, 27, 29, 34,
        16, 16, 22, 24, 27, 29, 34, 37,
        19, 22, 26, 27, 29, 34, 34, 38,
        22, 22, 26, 27, 29, 34, 37, 40,
        22, 26, 27, 29, 32, 35, 40, 48,
        26, 27, 29, 32, 35, 40, 48, 58,
        26, 27, 29, 34, 38, 46, 56, 69,
        27, 29, 35, 38, 46, 56, 69, 83
}

const uint8_t map_non_linear_mquant[113] [static]

Initial value:

{
    0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,
    16,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,
    22,22,23,23,23,23,24,24,24,24,24,24,24,25,25,25,25,25,25,25,26,26,
    26,26,26,26,26,26,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,29,
    29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,31,31,31,31,31
}

const int non_linear_quantizer_scale[] [static]

Initial value:

{
     0,  1,  2,  3,  4,  5,   6,   7,
     8, 10, 12, 14, 16, 18,  20,  22,
    24, 28, 32, 36, 40, 44,  48,  52,
    56, 64, 72, 80, 88, 96, 104, 112
}


Generated on Wed Aug 13 08:04:50 2008 for VLC by  doxygen 1.5.1