24 #define STATE_INTERNAL_NORETURN ((mpeg2_state_t)-1) 27 #define MACROBLOCK_INTRA 1 28 #define MACROBLOCK_PATTERN 2 29 #define MACROBLOCK_MOTION_BACKWARD 4 30 #define MACROBLOCK_MOTION_FORWARD 8 31 #define MACROBLOCK_QUANT 16 32 #define DCT_TYPE_INTERLACED 32 34 #define MOTION_TYPE_SHIFT 6 42 #define BOTTOM_FIELD 2 43 #define FRAME_PICTURE 3 260 uint8_t * dest,
int stride);
263 uint8_t * dest,
int stride);
269 uint8_t * dest,
int stride);
275 uint8_t * dest,
int stride);
278 uint8_t * dest,
int stride);
289 #define MPEG2_MC_EXTERN(x) mpeg2_mc_t mpeg2_mc_##x = { \ 290 {MC_put_o_16_##x, MC_put_x_16_##x, MC_put_y_16_##x, MC_put_xy_16_##x, \ 291 MC_put_o_8_##x, MC_put_x_8_##x, MC_put_y_8_##x, MC_put_xy_8_##x}, \ 292 {MC_avg_o_16_##x, MC_avg_x_16_##x, MC_avg_y_16_##x, MC_avg_xy_16_##x, \ 293 MC_avg_o_8_##x, MC_avg_x_8_##x, MC_avg_y_8_##x, MC_avg_xy_8_##x} \ void mpeg2_idct_copy_alpha(int16_t *block, uint8_t *dest, int stride)
fbuf_alloc_t fbuf_alloc[3]
Definition: mpeg2_internal.h:197
void mpeg2_idct_add_altivec(signed short *block, unsigned char *dest, int stride)
const uint8_t * bitstream_ptr
Definition: mpeg2_internal.h:71
uint32_t tag_current
Definition: mpeg2_internal.h:176
int yuv_index
Definition: mpeg2_internal.h:201
Definition: mpeg2_internal.h:151
uint8_t * chunk_start
Definition: mpeg2_internal.h:169
int mpeg2_header_user_data(mpeg2dec_t *mpeg2dec)
Definition: header.c:849
void mpeg2_idct_copy_mmx(int16_t *block, uint8_t *dest, int stride)
mpeg2_convert_t * convert
Definition: mpeg2_internal.h:202
void mpeg2_header_state_init(picture_t *picture)
Definition: header.c:112
int intra_dc_precision
Definition: mpeg2_internal.h:128
int dmv_offset
Definition: mpeg2_internal.h:104
mpeg2_state_t
Definition: mpeg2.h:119
uint8_t new_quantizer_matrix[4][64]
Definition: mpeg2_internal.h:218
unsigned int limit_y
Definition: mpeg2_internal.h:84
Definition: mpeg2_internal.h:284
void mpeg2_header_sequence_finalize(mpeg2dec_t *mpeg2dec)
Definition: header.c:449
int alloc_index_user
Definition: mpeg2_internal.h:181
Definition: mpeg2_internal.h:64
int frame_pred_frame_dct
Definition: mpeg2_internal.h:132
mpeg2_mc_t mpeg2_mc_alpha
void mpeg2_idct_alpha_init(void)
void mpeg2_idct_add_mmx(int16_t *block, uint8_t *dest, int stride)
struct picture_s * picture
Definition: mpeg2.h:34
int16_t display_offset_y
Definition: mpeg2_internal.h:213
int chroma_format
Definition: mpeg2_internal.h:118
mpeg2_fbuf_t * fbuf[3]
Definition: mpeg2_internal.h:195
uint8_t nb_decode_slices
Definition: mpeg2_internal.h:184
int slice_uv_stride
Definition: mpeg2_internal.h:79
int stride
Definition: mpeg2_internal.h:76
uint8_t code
Definition: mpeg2.h:52
void mpeg2_header_gop_finalize(mpeg2dec_t *mpeg2dec)
Definition: header.c:514
uint16_t * quantizer_matrix[4]
Definition: mpeg2_internal.h:110
uint32_t mpeg2_detect_accel(uint32_t accel)
Definition: cpu_accel.c:252
void * convert_id
Definition: mpeg2_internal.h:102
int height
Definition: mpeg2_internal.h:116
uint8_t quantizer_matrix[4][64]
Definition: mpeg2_internal.h:217
mpeg2_mc_t mpeg2_mc_3dnow
mpeg2_info_t info
Definition: mpeg2_internal.h:158
mpeg2_state_t mpeg2_header_end(mpeg2dec_t *mpeg2dec)
Definition: header.c:939
void mpeg2_idct_mmx_init(void)
void mpeg2_idct_copy_altivec(signed short *block, unsigned char *dest, int stride)
void mpeg2_idct_add_alpha(int last, int16_t *block, uint8_t *dest, int stride)
uint16_t quantizer_prescale[4][32][64]
Definition: mpeg2_internal.h:112
unsigned int limit_y_16
Definition: mpeg2_internal.h:82
void motion_parser_t(mpeg2_decoder_t *decoder, motion_t *motion, mpeg2_mc_fct *const *table)
Definition: mpeg2_internal.h:60
mpeg2_state_t mpeg2_header_slice_start(mpeg2dec_t *mpeg2dec)
Definition: header.c:879
mpeg2_mc_t mpeg2_mc_altivec
unsigned int convert_id_size
Definition: mpeg2_internal.h:204
#define avg(predictor, i)
Definition: motion_comp.c:97
mpeg2_mc_t mpeg2_mc_mmxext
uint32_t ext_state
Definition: mpeg2_internal.h:164
mpeg2_gop_t new_gop
Definition: mpeg2_internal.h:190
int16_t DCTblock[64]
Definition: mpeg2_internal.h:97
mpeg2_mc_t mpeg2_mc_c
Definition: motion_comp.c:145
void mpeg2_idct_copy_mmxext(int16_t *block, uint8_t *dest, int stride)
mpeg2_state_t state
Definition: mpeg2_internal.h:163
int bitstream_bits
Definition: mpeg2_internal.h:70
int16_t display_offset_x
Definition: mpeg2_internal.h:213
int mpeg2_header_extension(picture_t *picture, uint8_t *buffer)
Definition: header.c:316
unsigned int limit_x
Definition: mpeg2_internal.h:81
int stride_frame
Definition: mpeg2_internal.h:80
int vertical_position_extension
Definition: mpeg2_internal.h:117
int8_t scaled[4]
Definition: mpeg2_internal.h:216
#define ATTR_ALIGN(align)
Definition: attributes.h:64
struct cpu_state_s cpu_state_t
int16_t dc_dct_pred[3]
Definition: mpeg2_internal.h:94
void mpeg2_mc_fct(uint8_t *, const uint8_t *, int, int)
Definition: mpeg2_internal.h:51
void mpeg2_idct_add_mmxext(int16_t *block, uint8_t *dest, int stride)
uint32_t tag2_previous
Definition: mpeg2_internal.h:176
uint8_t * picture_dest[3]
Definition: mpeg2_internal.h:99
mpeg2_state_t(* action)(struct mpeg2dec_s *mpeg2dec)
Definition: mpeg2_internal.h:162
uint32_t tag2_current
Definition: mpeg2_internal.h:176
uint32_t shift
Definition: mpeg2.h:36
void mpeg2_cpu_state_init(uint32_t mm_accel)
Definition: cpu_state.c:170
int mpeg2_header_picture(picture_t *picture, uint8_t *buffer)
Definition: header.c:400
const uint8_t * scan
Definition: mpeg2_internal.h:144
void * convert_arg
Definition: mpeg2_internal.h:203
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)
Definition: mpeg2.h:146
unsigned int user_data_len
Definition: mpeg2_internal.h:186
int dummy
Definition: mpeg2_internal.h:225
void mpeg2_idct_add_mvi(int last, int16_t *block, uint8_t *dest, int stride)
int num_tags
Definition: mpeg2_internal.h:177
#define put(predictor, i)
Definition: motion_comp.c:96
Definition: mpeg2_internal.h:53
motion_parser_t * motion_parser[5]
Definition: mpeg2_internal.h:91
void mpeg2_idct_altivec_init(void)
int mpeg2_header_gop(mpeg2dec_t *mpeg2dec)
Definition: header.c:498
void mpeg2_set_fbuf(mpeg2dec_t *mpeg2dec, int b_type)
Definition: header.c:522
int uv_stride
Definition: mpeg2_internal.h:77
struct mpeg2_mc_s mpeg2_mc_t
int alloc_index
Definition: mpeg2_internal.h:182
uint32_t tag_previous
Definition: mpeg2_internal.h:176
int offset
Definition: mpeg2_internal.h:75
uint8_t * chunk_ptr
Definition: mpeg2.h:50
int convert_stride
Definition: mpeg2_internal.h:205
uint8_t first_decode_slice
Definition: mpeg2_internal.h:183
mpeg2_state_t mpeg2_header_picture_start(mpeg2dec_t *mpeg2dec)
int coding_type
Definition: mpeg2_internal.h:123
uint8_t * dest[3]
Definition: mpeg2_internal.h:73
int top_field_first
Definition: mpeg2_internal.h:139
void mpeg2_reset_info(mpeg2_info_t *info)
Definition: header.c:117
void mpeg2_idct_copy_mvi(int16_t *block, uint8_t *dest, int stride)
uint8_t * buf_start
Definition: mpeg2_internal.h:210
motion_t f_motion
Definition: mpeg2_internal.h:90
unsigned int limit_y_8
Definition: mpeg2_internal.h:83
int intra_vlc_format
Definition: mpeg2_internal.h:137
int mpeg2_header_sequence(picture_t *picture, uint8_t *buffer)
Definition: header.c:119
void mpeg2_idct_init(uint32_t mm_accel)
Definition: idct.c:281
mpeg2_decoder_t decoder
Definition: mpeg2_internal.h:156
mpeg2_gop_t gop
Definition: mpeg2_internal.h:191
void mpeg2_mc_init(uint32_t mm_accel)
Definition: motion_comp.c:34
mpeg2_picture_t * picture
Definition: mpeg2_internal.h:194
int second_field
Definition: mpeg2_internal.h:146
int slice_stride
Definition: mpeg2_internal.h:78
int picture_structure
Definition: mpeg2_internal.h:130
int mpeg1
Definition: mpeg2_internal.h:148
uint8_t * buf_end
Definition: mpeg2_internal.h:211
mpeg2_state_t mpeg2_seek_header(mpeg2dec_t *mpeg2dec)
Definition: decode.c:137
mpeg2_state_t mpeg2_parse_header(mpeg2dec_t *mpeg2dec)
Definition: decode.c:213
mpeg2_picture_t pictures[4]
Definition: mpeg2_internal.h:193
int concealment_motion_vectors
Definition: mpeg2_internal.h:135
mpeg2_fbuf_t fbuf
Definition: mpeg2_internal.h:152
motion_t b_motion
Definition: mpeg2_internal.h:89
void(* convert)(void *convert_id, uint8_t *const *src, unsigned int v_offset)
Definition: mpeg2_internal.h:100
int custom_fbuf
Definition: mpeg2_internal.h:198
int8_t q_scale_type
Definition: mpeg2_internal.h:216
uint8_t * chunk_buffer
Definition: mpeg2.h:48
unsigned int v_offset
Definition: mpeg2_internal.h:105
uint16_t(*[2] chroma_quantizer)[64]
Definition: mpeg2_internal.h:111
void(* convert_start)(void *id, const mpeg2_fbuf_t *fbuf, const mpeg2_picture_t *picture, const mpeg2_gop_t *gop)
Definition: mpeg2_internal.h:206
mpeg2_sequence_t new_sequence
Definition: mpeg2_internal.h:188
int is_display_initialized
Definition: mpeg2_internal.h:161
uint32_t bitstream_buf
Definition: mpeg2_internal.h:69
void mpeg2_header_picture_finalize(mpeg2dec_t *mpeg2dec, uint32_t accels)
Definition: header.c:676
int copy_matrix
Definition: mpeg2_internal.h:215
int width
Definition: mpeg2_internal.h:115
int bytes_since_tag
Definition: mpeg2_internal.h:178
mpeg2_picture_t new_picture
Definition: mpeg2_internal.h:192
uint8_t * yuv_buf[3][3]
Definition: mpeg2_internal.h:200
int first
Definition: mpeg2_internal.h:180
mpeg2_sequence_t sequence
Definition: mpeg2_internal.h:189