xine-lib 1.2.13-20230125hg15249
|
Go to the source code of this file.
Data Structures | |
struct | mpeg2_sequence_s |
struct | mpeg2_gop_s |
struct | mpeg2_picture_s |
struct | mpeg2_fbuf_s |
struct | mpeg2_info_s |
struct | mpeg2_convert_init_s |
Typedefs | |
typedef struct mpeg2_sequence_s | mpeg2_sequence_t |
typedef struct mpeg2_gop_s | mpeg2_gop_t |
typedef struct mpeg2_picture_s | mpeg2_picture_t |
typedef struct mpeg2_fbuf_s | mpeg2_fbuf_t |
typedef struct mpeg2_info_s | mpeg2_info_t |
typedef struct mpeg2dec_s | mpeg2dec_t |
typedef struct mpeg2_decoder_s | mpeg2_decoder_t |
typedef struct mpeg2_convert_init_s | mpeg2_convert_init_t |
typedef int | mpeg2_convert_t(int stage, void *id, const mpeg2_sequence_t *sequence, int stride, uint32_t accel, void *arg, mpeg2_convert_init_t *result) |
Enumerations | |
enum | mpeg2_state_t { STATE_BUFFER = 0 , STATE_SEQUENCE = 1 , STATE_SEQUENCE_REPEATED = 2 , STATE_SEQUENCE_MODIFIED = 3 , STATE_GOP = 4 , STATE_PICTURE = 5 , STATE_SLICE_1ST = 6 , STATE_PICTURE_2ND = 7 , STATE_SLICE = 8 , STATE_END = 9 , STATE_INVALID = 10 , STATE_INVALID_END = 11 } |
enum | mpeg2_convert_stage_t { MPEG2_CONVERT_SET = 0 , MPEG2_CONVERT_STRIDE = 1 , MPEG2_CONVERT_START = 2 } |
enum | mpeg2_alloc_t { MPEG2_ALLOC_MPEG2DEC = 0 , MPEG2_ALLOC_CHUNK = 1 , MPEG2_ALLOC_YUV = 2 , MPEG2_ALLOC_CONVERT_ID = 3 , MPEG2_ALLOC_CONVERTED = 4 } |
Functions | |
int | mpeg2_convert (mpeg2dec_t *mpeg2dec, mpeg2_convert_t convert, void *arg) |
int | mpeg2_stride (mpeg2dec_t *mpeg2dec, int stride) |
void | mpeg2_set_buf (mpeg2dec_t *mpeg2dec, uint8_t *buf[3], void *id) |
void | mpeg2_custom_fbuf (mpeg2dec_t *mpeg2dec, int custom_fbuf) |
uint32_t | mpeg2_accel (uint32_t accel) |
mpeg2dec_t * | mpeg2_init (void) |
const mpeg2_info_t * | mpeg2_info (mpeg2dec_t *mpeg2dec) |
void | mpeg2_close (mpeg2dec_t *mpeg2dec) |
void | mpeg2_buffer (mpeg2dec_t *mpeg2dec, uint8_t *start, uint8_t *end) |
int | mpeg2_getpos (mpeg2dec_t *mpeg2dec) |
mpeg2_state_t | mpeg2_parse (mpeg2dec_t *mpeg2dec) |
void | mpeg2_reset (mpeg2dec_t *mpeg2dec, int full_reset) |
void | mpeg2_skip (mpeg2dec_t *mpeg2dec, int skip) |
void | mpeg2_slice_region (mpeg2dec_t *mpeg2dec, int start, int end) |
void | mpeg2_tag_picture (mpeg2dec_t *mpeg2dec, uint32_t tag, uint32_t tag2) |
void | mpeg2_init_fbuf (mpeg2_decoder_t *decoder, uint8_t *current_fbuf[3], uint8_t *forward_fbuf[3], uint8_t *backward_fbuf[3]) |
void | mpeg2_slice (mpeg2_decoder_t *decoder, int code, const uint8_t *buffer) |
int | mpeg2_guess_aspect (const mpeg2_sequence_t *sequence, unsigned int *pixel_width, unsigned int *pixel_height) |
void * | mpeg2_malloc (unsigned size, mpeg2_alloc_t reason) |
void | mpeg2_free (void *buf) |
void | mpeg2_malloc_hooks (void *malloc(unsigned, mpeg2_alloc_t), int free(void *)) |
#define GOP_FLAG_BROKEN_LINK 2 |
#define GOP_FLAG_CLOSED_GOP 4 |
#define GOP_FLAG_DROP_FRAME 1 |
#define MPEG2_ACCEL_ALPHA 1 |
Referenced by mpeg2_idct_init(), and mpeg2_mc_init().
#define MPEG2_ACCEL_ALPHA_MVI 2 |
Referenced by mpeg2_idct_init().
#define MPEG2_ACCEL_DETECT 0x80000000 |
Referenced by mpeg2_accel(), and mpeg2_init().
#define MPEG2_ACCEL_PPC_ALTIVEC 1 |
Referenced by mpeg2_cpu_state_init(), mpeg2_idct_init(), and mpeg2_mc_init().
#define MPEG2_ACCEL_SPARC_VIS 1 |
Referenced by mpeg2_mc_init().
#define MPEG2_ACCEL_SPARC_VIS2 2 |
#define MPEG2_ACCEL_X86_3DNOW 2 |
Referenced by mpeg2_mc_init().
#define MPEG2_ACCEL_X86_MMX 1 |
Referenced by mpeg2_cpu_state_init(), mpeg2_idct_init(), and mpeg2_mc_init().
#define MPEG2_ACCEL_X86_MMXEXT 4 |
Referenced by mpeg2_idct_init(), and mpeg2_mc_init().
#define MPEG2_ACCEL_X86_SSE2 8 |
#define MPEG2_ACCEL_X86_SSE3 16 |
#define MPEG2_RELEASE MPEG2_VERSION (0, 4, 1) /* 0.4.1 */ |
#define MPEG2_VERSION | ( | a, | |
b, | |||
c ) (((a)<<16)|((b)<<8)|(c)) |
#define PIC_FLAG_CODING_TYPE_B 3 |
Referenced by mpeg2_header_picture(), and mpeg2_set_buf().
#define PIC_FLAG_CODING_TYPE_D 4 |
#define PIC_FLAG_CODING_TYPE_I 1 |
#define PIC_FLAG_CODING_TYPE_P 2 |
Referenced by mpeg2_header_picture().
#define PIC_FLAG_COMPOSITE_DISPLAY 32 |
Referenced by picture_coding_ext().
#define PIC_FLAG_PROGRESSIVE_FRAME 16 |
Referenced by mpeg2_header_picture().
#define PIC_FLAG_SKIP 64 |
Referenced by mpeg2_header_slice_start().
#define PIC_FLAG_TAGS 128 |
Referenced by mpeg2_header_picture().
#define PIC_FLAG_TOP_FIELD_FIRST 8 |
Referenced by mpeg2_video_decode_data(), and picture_coding_ext().
#define PIC_MASK_CODING_TYPE 7 |
Referenced by mpeg2_header_picture_finalize().
#define PIC_MASK_COMPOSITE_DISPLAY 0xfffff000 |
Referenced by picture_coding_ext().
#define SEQ_FLAG_COLOUR_DESCRIPTION 16 |
Referenced by sequence_display_ext().
#define SEQ_FLAG_CONSTRAINED_PARAMETERS 2 |
Referenced by mpeg2_header_sequence().
#define SEQ_FLAG_LOW_DELAY 8 |
#define SEQ_FLAG_MPEG2 1 |
#define SEQ_FLAG_PROGRESSIVE_SEQUENCE 4 |
Referenced by mpeg2_header_sequence(), picture_coding_ext(), and picture_display_ext().
#define SEQ_MASK_VIDEO_FORMAT 0xe0 |
Referenced by sequence_display_ext().
#define SEQ_VIDEO_FORMAT_COMPONENT 0 |
#define SEQ_VIDEO_FORMAT_MAC 0x80 |
#define SEQ_VIDEO_FORMAT_NTSC 0x40 |
#define SEQ_VIDEO_FORMAT_PAL 0x20 |
#define SEQ_VIDEO_FORMAT_SECAM 0x60 |
#define SEQ_VIDEO_FORMAT_UNSPECIFIED 0xa0 |
Referenced by mpeg2_header_sequence().
typedef struct mpeg2_convert_init_s mpeg2_convert_init_t |
typedef int mpeg2_convert_t(int stage, void *id, const mpeg2_sequence_t *sequence, int stride, uint32_t accel, void *arg, mpeg2_convert_init_t *result) |
typedef struct mpeg2_decoder_s mpeg2_decoder_t |
typedef struct mpeg2_fbuf_s mpeg2_fbuf_t |
typedef struct mpeg2_gop_s mpeg2_gop_t |
typedef struct mpeg2_info_s mpeg2_info_t |
typedef struct mpeg2_picture_s mpeg2_picture_t |
typedef struct mpeg2_sequence_s mpeg2_sequence_t |
typedef struct mpeg2dec_s mpeg2dec_t |
enum mpeg2_alloc_t |
enum mpeg2_state_t |
uint32_t mpeg2_accel | ( | uint32_t | accel | ) |
References MPEG2_ACCEL_DETECT, mpeg2_accels, mpeg2_cpu_state_init(), mpeg2_detect_accel(), mpeg2_idct_init(), and mpeg2_mc_init().
Referenced by mpeg2_init().
void mpeg2_buffer | ( | mpeg2dec_t * | mpeg2dec, |
uint8_t * | start, | ||
uint8_t * | end ) |
References mpeg2dec_s::buf_end, and mpeg2dec_s::buf_start.
Referenced by mpeg2_video_decode_data().
void mpeg2_close | ( | mpeg2dec_t * | mpeg2dec | ) |
References mpeg2dec_s::cc_dec, mpeg2dec_s::chunk_buffer, spu_decoder_s::dispose, get_frame_duration(), lprintf, mpeg2_free(), mpeg2_header_state_init(), NULL, mpeg2dec_s::picture, mpeg2dec_s::stream, and xine_freep_aligned.
Referenced by mpeg2_video_dispose(), and mpeg2dec_dispose().
int mpeg2_convert | ( | mpeg2dec_t * | mpeg2dec, |
mpeg2_convert_t | convert, | ||
void * | arg ) |
void mpeg2_custom_fbuf | ( | mpeg2dec_t * | mpeg2dec, |
int | custom_fbuf ) |
References mpeg2dec_s::custom_fbuf.
Referenced by open_plugin().
void mpeg2_free | ( | void * | buf | ) |
References free_hook.
Referenced by mpeg2_close(), and mpeg2_header_state_init().
int mpeg2_getpos | ( | mpeg2dec_t * | mpeg2dec | ) |
References mpeg2dec_s::buf_end, and mpeg2dec_s::buf_start.
int mpeg2_guess_aspect | ( | const mpeg2_sequence_t * | sequence, |
unsigned int * | pixel_width, | ||
unsigned int * | pixel_height ) |
const mpeg2_info_t * mpeg2_info | ( | mpeg2dec_t * | mpeg2dec | ) |
References mpeg2dec_s::info.
Referenced by mpeg2_video_decode_data(), and mpeg2_video_reset().
mpeg2dec_t * mpeg2_init | ( | void | ) |
References BUFFER_SIZE, mpeg2dec_s::chunk_buffer, mpeg2_decoder_s::DCTblock, mpeg2dec_s::decoder, mpeg2_accel(), MPEG2_ACCEL_DETECT, MPEG2_ALLOC_CHUNK, MPEG2_ALLOC_MPEG2DEC, mpeg2_malloc(), mpeg2_reset(), NULL, mpeg2dec_s::quantizer_matrix, mpeg2dec_s::sequence, and mpeg2_sequence_s::width.
Referenced by open_plugin(), and open_plugin().
void mpeg2_init_fbuf | ( | mpeg2_decoder_t * | decoder, |
uint8_t * | current_fbuf[3], | ||
uint8_t * | forward_fbuf[3], | ||
uint8_t * | backward_fbuf[3] ) |
References mpeg2_decoder_s::b_motion, B_TYPE, BOTTOM_FIELD, mpeg2_decoder_s::chroma_format, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::dmv_offset, mpeg2_decoder_s::f_motion, FRAME_PICTURE, height, mpeg2_decoder_s::height, mpeg2_decoder_s::limit_x, mpeg2_decoder_s::limit_y, mpeg2_decoder_s::limit_y_16, mpeg2_decoder_s::limit_y_8, MC_16X8, MC_DMV, MC_FIELD, MC_FRAME, motion_fi_16x8_420(), motion_fi_16x8_422(), motion_fi_16x8_444(), motion_fi_dmv_420(), motion_fi_dmv_422(), motion_fi_dmv_444(), motion_fi_field_420(), motion_fi_field_422(), motion_fi_field_444(), motion_fr_dmv_420(), motion_fr_dmv_422(), motion_fr_dmv_444(), motion_fr_field_420(), motion_fr_field_422(), motion_fr_field_444(), motion_fr_frame_420(), motion_fr_frame_422(), motion_fr_frame_444(), motion_mp1(), mpeg2_decoder_s::motion_parser, motion_reuse_420(), motion_reuse_422(), motion_reuse_444(), motion_zero_420(), motion_zero_422(), motion_zero_444(), mpeg2_decoder_s::mpeg1, mpeg2_decoder_s::picture_dest, mpeg2_decoder_s::picture_structure, motion_t::ref, motion_t::ref2, mpeg2_decoder_s::second_field, mpeg2_decoder_s::slice_stride, mpeg2_decoder_s::slice_uv_stride, mpeg2_decoder_s::stride, mpeg2_decoder_s::stride_frame, mpeg2_decoder_s::uv_stride, and mpeg2_decoder_s::width.
Referenced by mpeg2_header_slice_start().
void * mpeg2_malloc | ( | unsigned | size, |
mpeg2_alloc_t | reason ) |
References malloc_hook, and NULL.
Referenced by mpeg2_header_picture_finalize(), and mpeg2_init().
void mpeg2_malloc_hooks | ( | void * | mallocunsigned, mpeg2_alloc_t, |
int | freevoid * ) |
References free_hook, and malloc_hook.
mpeg2_state_t mpeg2_parse | ( | mpeg2dec_t * | mpeg2dec | ) |
References mpeg2dec_s::action, mpeg2dec_s::buf_end, mpeg2dec_s::buf_start, BUFFER_SIZE, mpeg2dec_s::bytes_since_tag, mpeg2dec_s::chunk_buffer, mpeg2dec_s::chunk_ptr, mpeg2dec_s::chunk_start, mpeg2dec_s::code, copy_chunk(), mpeg2dec_s::decoder, mpeg2dec_s::first_decode_slice, mpeg2_seek_header(), mpeg2_slice(), mpeg2dec_s::nb_decode_slices, seek_chunk(), mpeg2dec_s::state, STATE_BUFFER, STATE_INTERNAL_NORETURN, STATE_INVALID, and STATE_SLICE.
Referenced by mpeg2_video_decode_data(), and mpeg2_video_reset().
void mpeg2_reset | ( | mpeg2dec_t * | mpeg2dec, |
int | full_reset ) |
References mpeg2dec_s::action, mpeg2dec_s::buf_end, mpeg2dec_s::buf_start, mpeg2dec_s::code, mpeg2dec_s::first, mpeg2_info_s::gop, mpeg2dec_s::info, mpeg2_header_state_init(), mpeg2_reset_info(), mpeg2_seek_header(), NULL, mpeg2dec_s::num_tags, mpeg2_info_s::sequence, mpeg2dec_s::shift, mpeg2dec_s::state, STATE_INVALID, mpeg2_info_s::user_data, and mpeg2_info_s::user_data_len.
void mpeg2_set_buf | ( | mpeg2dec_t * | mpeg2dec, |
uint8_t * | buf[3], | ||
void * | id ) |
References mpeg2dec_s::alloc_index, mpeg2dec_s::alloc_index_user, mpeg2_fbuf_s::buf, mpeg2_decoder_s::coding_type, mpeg2dec_s::custom_fbuf, mpeg2dec_s::decoder, fbuf_alloc_t::fbuf, mpeg2dec_s::fbuf, mpeg2dec_s::fbuf_alloc, mpeg2_fbuf_s::id, mpeg2_set_fbuf(), PIC_FLAG_CODING_TYPE_B, mpeg2dec_s::state, and STATE_SEQUENCE.
Referenced by mpeg2_video_decode_data().
void mpeg2_skip | ( | mpeg2dec_t * | mpeg2dec, |
int | skip ) |
References mpeg2dec_s::first_decode_slice, and mpeg2dec_s::nb_decode_slices.
void mpeg2_slice | ( | mpeg2_decoder_t * | decoder, |
int | code, | ||
const uint8_t * | buffer ) |
References mpeg2_decoder_s::b_motion, bit_buf, bit_ptr, bits, bitstream_init(), mpeg2_decoder_s::chroma_format, code, mpeg2_decoder_s::coding_type, mpeg2_decoder_s::concealment_motion_vectors, D_TYPE, mpeg2_decoder_s::dc_dct_pred, DCT_TYPE_INTERLACED, mpeg2_decoder_s::dest, DUMPBITS, mpeg2_decoder_s::f_motion, FRAME_PICTURE, get_coded_block_pattern(), get_macroblock_modes(), get_quantizer_scale(), MBAtab::len, likely, MACROBLOCK_INTRA, MACROBLOCK_MOTION_FORWARD, MACROBLOCK_PATTERN, MACROBLOCK_QUANT, MBAtab::mba, MBA_11, MBA_5, MOTION_CALL, motion_fi_conceal(), motion_fr_conceal(), mpeg2_decoder_s::motion_parser, MOTION_TYPE_SHIFT, mpeg2_cpu_state_restore, mpeg2_cpu_state_save, NEEDBITS, NEXT_MACROBLOCK, mpeg2_decoder_s::offset, P_TYPE, mpeg2_decoder_s::picture_structure, motion_t::pmv, slice_init(), slice_intra_DCT(), slice_non_intra_DCT(), mpeg2_decoder_s::stride, UBITS, and mpeg2_decoder_s::uv_stride.
void mpeg2_slice_region | ( | mpeg2dec_t * | mpeg2dec, |
int | start, | ||
int | end ) |
References mpeg2dec_s::first_decode_slice, and mpeg2dec_s::nb_decode_slices.
int mpeg2_stride | ( | mpeg2dec_t * | mpeg2dec, |
int | stride ) |
void mpeg2_tag_picture | ( | mpeg2dec_t * | mpeg2dec, |
uint32_t | tag, | ||
uint32_t | tag2 ) |