xine-lib 1.2.11
|
#include "config.h"
#include <inttypes.h>
#include <xine/xine_internal.h>
#include <xine/video_out.h>
#include "mpeg2_internal.h"
#include <xine/attributes.h>
#include "vlc.h"
Macros | |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | SATURATE(val) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | MOTION(table, ref, motion_x, motion_y, size, y) |
#define | MOTION_FIELD(table, ref, motion_x, motion_y, dest_field, op, src_field) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | MOTION_CALL(routine, direction) |
#define | NEXT_MACROBLOCK |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
#define | bit_buf (picture->bitstream_buf) |
#define | bits (picture->bitstream_bits) |
#define | bit_ptr (picture->bitstream_ptr) |
Functions | |
static int | get_macroblock_modes (picture_t *picture) |
static int | get_quantizer_scale (picture_t *picture) |
static int | get_motion_delta (picture_t *picture, int f_code) |
static int | bound_motion_vector (int vec, int f_code) |
static int | get_dmv (picture_t *picture) |
static int | get_coded_block_pattern (picture_t *picture) |
static int | get_luma_dc_dct_diff (picture_t *picture) |
static int | get_chroma_dc_dct_diff (picture_t *picture) |
static void | get_intra_block_B14 (picture_t *picture) |
static void | get_intra_block_B15 (picture_t *picture) |
static void | get_non_intra_block (picture_t *picture) |
static void | get_mpeg1_intra_block (picture_t *picture) |
static void | get_mpeg1_non_intra_block (picture_t *picture) |
static void | slice_intra_DCT (picture_t *picture, int cc, uint8_t *dest, int stride) |
static void | slice_non_intra_DCT (picture_t *picture, uint8_t *dest, int stride) |
static void | motion_mp1 (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fr_frame (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fr_field (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fr_dmv (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_reuse (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_zero (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fr_conceal (picture_t *picture) |
static void | motion_fi_field (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fi_16x8 (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fi_dmv (picture_t *picture, motion_t *motion, void(**table)(uint8_t *, uint8_t *, int, int)) |
static void | motion_fi_conceal (picture_t *picture) |
static int | slice_init (picture_t *picture, int code) |
void | mpeg2_slice (picture_t *picture, int code, uint8_t *buffer) |
Variables | |
static const int | non_linear_quantizer_scale [] |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_buf (picture->bitstream_buf) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bit_ptr (picture->bitstream_ptr) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define bits (picture->bitstream_bits) |
#define MOTION | ( | table, | |
ref, | |||
motion_x, | |||
motion_y, | |||
size, | |||
y | |||
) |
#define MOTION_CALL | ( | routine, | |
direction | |||
) |
#define MOTION_FIELD | ( | table, | |
ref, | |||
motion_x, | |||
motion_y, | |||
dest_field, | |||
op, | |||
src_field | |||
) |
#define NEXT_MACROBLOCK |
#define SATURATE | ( | val | ) |
|
inlinestatic |
|
inlinestatic |
References bit_buf, bit_ptr, bits, DC_chrom_5, DC_long, DUMPBITS, DCtab::len, NEEDBITS, SBITS, DCtab::size, and UBITS.
Referenced by slice_intra_DCT().
|
inlinestatic |
References bit_buf, bit_ptr, bits, CBPtab::cbp, CBP_7, CBP_9, DUMPBITS, CBPtab::len, NEEDBITS, and UBITS.
Referenced by mpeg2_slice().
|
inlinestatic |
References bit_buf, bits, DMVtab::dmv, DMV_2, DUMPBITS, DMVtab::len, and UBITS.
Referenced by motion_fi_dmv(), and motion_fr_dmv().
|
static |
References bit_buf, bit_ptr, bits, DCT_13, DCT_15, DCT_16, DCT_B14_10, DCT_B14_8, DCT_B14AC_5, DUMPBITS, GETWORD, DCTtab::len, DCTtab::level, NEEDBITS, DCTtab::run, SATURATE, SBITS, and UBITS.
Referenced by slice_intra_DCT().
|
static |
References bit_buf, bit_ptr, bits, DCT_13, DCT_15, DCT_16, DCT_B15_10, DCT_B15_8, DUMPBITS, GETWORD, DCTtab::len, DCTtab::level, NEEDBITS, DCTtab::run, SATURATE, SBITS, and UBITS.
Referenced by slice_intra_DCT().
|
inlinestatic |
References bit_buf, bit_ptr, bits, DC_long, DC_lum_5, DUMPBITS, DCtab::len, NEEDBITS, SBITS, DCtab::size, and UBITS.
Referenced by slice_intra_DCT().
|
inlinestatic |
References B_TYPE, bit_buf, bits, D_TYPE, DCT_TYPE_INTERLACED, DUMPBITS, FRAME_PICTURE, I_TYPE, MBtab::len, MACROBLOCK_INTRA, MACROBLOCK_MOTION_FORWARD, MACROBLOCK_PATTERN, MB_B, MB_I, MB_P, MC_FRAME, MBtab::modes, MOTION_TYPE_BASE, P_TYPE, and UBITS.
Referenced by mpeg2_slice().
|
inlinestatic |
References bit_buf, bit_ptr, bits, MVtab::delta, DUMPBITS, MVtab::len, MV_10, MV_4, NEEDBITS, SBITS, and UBITS.
Referenced by motion_fi_16x8(), motion_fi_conceal(), motion_fi_dmv(), motion_fi_field(), motion_fr_conceal(), motion_fr_dmv(), motion_fr_field(), motion_fr_frame(), and motion_mp1().
|
static |
References bit_buf, bit_ptr, bits, DCT_13, DCT_15, DCT_16, DCT_B14_10, DCT_B14_8, DCT_B14AC_5, DUMPBITS, GETWORD, DCTtab::len, DCTtab::level, NEEDBITS, DCTtab::run, SATURATE, SBITS, and UBITS.
Referenced by slice_intra_DCT().
|
static |
References bit_buf, bit_ptr, bits, DCT_13, DCT_15, DCT_16, DCT_B14_10, DCT_B14_8, DCT_B14AC_5, DCT_B14DC_5, DUMPBITS, GETWORD, DCTtab::len, DCTtab::level, NEEDBITS, DCTtab::run, SATURATE, SBITS, and UBITS.
Referenced by slice_non_intra_DCT().
|
static |
References bit_buf, bit_ptr, bits, DCT_13, DCT_15, DCT_16, DCT_B14_10, DCT_B14_8, DCT_B14AC_5, DCT_B14DC_5, DUMPBITS, GETWORD, DCTtab::len, DCTtab::level, NEEDBITS, DCTtab::run, SATURATE, SBITS, and UBITS.
Referenced by slice_non_intra_DCT().
|
inlinestatic |
References bit_buf, bits, DUMPBITS, non_linear_quantizer_scale, and UBITS.
Referenced by mpeg2_slice(), and slice_init().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), DUMPBITS, motion_t::f_code, get_motion_delta(), MOTION, NEEDBITS, motion_t::pmv, motion_t::ref2, and UBITS.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), DUMPBITS, get_motion_delta(), and NEEDBITS.
Referenced by mpeg2_slice().
|
static |
References mpeg2_mc_t::avg, bit_buf, bit_ptr, bits, bound_motion_vector(), motion_t::f_code, get_dmv(), get_motion_delta(), MOTION, mpeg2_mc, NEEDBITS, motion_t::pmv, mpeg2_mc_t::put, and motion_t::ref.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), DUMPBITS, motion_t::f_code, get_motion_delta(), MOTION, NEEDBITS, motion_t::pmv, motion_t::ref2, and UBITS.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), DUMPBITS, get_motion_delta(), and NEEDBITS.
Referenced by mpeg2_slice().
|
static |
References mpeg2_mc_t::avg, bit_buf, bit_ptr, bits, bound_motion_vector(), motion_t::f_code, get_dmv(), get_motion_delta(), MOTION_FIELD, mpeg2_mc, NEEDBITS, motion_t::pmv, mpeg2_mc_t::put, motion_t::ref, and picture_t::top_field_first.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), DUMPBITS, motion_t::f_code, field, get_motion_delta(), MOTION_FIELD, NEEDBITS, motion_t::pmv, motion_t::ref, and UBITS.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), motion_t::f_code, get_motion_delta(), MOTION, NEEDBITS, motion_t::pmv, and motion_t::ref.
Referenced by mpeg2_slice().
|
static |
References bit_buf, bit_ptr, bits, bound_motion_vector(), motion_t::f_code, get_motion_delta(), MOTION, NEEDBITS, motion_t::pmv, and motion_t::ref.
Referenced by mpeg2_slice().
|
static |
References MOTION, motion_t::pmv, and motion_t::ref.
Referenced by mpeg2_slice().
|
static |
References motion_t::ref.
Referenced by mpeg2_slice().
void mpeg2_slice | ( | picture_t * | picture, |
int | code, | ||
uint8_t * | buffer | ||
) |
References bit_buf, bit_ptr, bits, bitstream_init(), code, D_TYPE, DCT_TYPE_INTERLACED, DUMPBITS, FRAME_PICTURE, get_coded_block_pattern(), get_macroblock_modes(), get_quantizer_scale(), MBAtab::len, MACROBLOCK_INTRA, MACROBLOCK_MOTION_FORWARD, MACROBLOCK_PATTERN, MACROBLOCK_QUANT, MBAtab::mba, MBA_11, MBA_5, MC_16X8, MC_DMV, MC_FIELD, MC_FRAME, MOTION_CALL, motion_fi_16x8(), motion_fi_conceal(), motion_fi_dmv(), motion_fi_field(), motion_fr_conceal(), motion_fr_dmv(), motion_fr_field(), motion_fr_frame(), motion_mp1(), motion_reuse(), MOTION_TYPE_MASK, motion_zero(), mpeg2_cpu_state_restore, mpeg2_cpu_state_save, NEEDBITS, NEXT_MACROBLOCK, P_TYPE, slice_init(), slice_intra_DCT(), slice_non_intra_DCT(), and UBITS.
Referenced by libmpeg2_accel_slice(), and mpeg2_parse().
|
inlinestatic |
References B_TYPE, vo_frame_s::base, bit_buf, bit_ptr, bits, BOTTOM_FIELD, code, DUMPBITS, FRAME_PICTURE, get_quantizer_scale(), height, MBAtab::len, MBAtab::mba, MBA_11, MBA_5, NEEDBITS, NULL, TOP_FIELD, and UBITS.
Referenced by mpeg2_slice().
|
inlinestatic |
References bit_buf, bit_ptr, bits, D_TYPE, get_chroma_dc_dct_diff(), get_intra_block_B14(), get_intra_block_B15(), get_luma_dc_dct_diff(), get_mpeg1_intra_block(), mpeg2_idct_copy, and NEEDBITS.
Referenced by mpeg2_slice().
|
inlinestatic |
References get_mpeg1_non_intra_block(), get_non_intra_block(), and mpeg2_idct_add.
Referenced by mpeg2_slice().
|
static |
Referenced by get_quantizer_scale().