From 9da4e2dde0da695c240cf48390217ac97cb10c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Wed, 19 Dec 2007 02:59:06 +0100 Subject: Update all the code to the new headers layout. --- src/libmpeg2/mpeg2_internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libmpeg2/mpeg2_internal.h') diff --git a/src/libmpeg2/mpeg2_internal.h b/src/libmpeg2/mpeg2_internal.h index c2ffbf909..2e42aace6 100644 --- a/src/libmpeg2/mpeg2_internal.h +++ b/src/libmpeg2/mpeg2_internal.h @@ -24,7 +24,7 @@ #ifndef MPEG2_INTERNAL_H #define MPEG2_INTERNAL_H -#include "video_out.h" +#include #include "accel_xvmc.h" #ifdef ENABLE_ALTIVEC -- cgit v1.2.3 From b7a18f2d1b7afe26d1816621178a52c527d773f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 22 Dec 2007 23:24:00 +0100 Subject: Move libmpeg2 inside video_dec/libmpeg2. --HG-- rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am rename : src/libmpeg2/cpu_state.c => src/video_dec/libmpeg2/cpu_state.c rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c rename : src/libmpeg2/header.c => src/video_dec/libmpeg2/header.c rename : src/libmpeg2/idct.c => src/video_dec/libmpeg2/idct.c rename : src/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2/idct_altivec.c rename : src/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2/idct_mlib.c rename : src/libmpeg2/idct_mlib.h => src/video_dec/libmpeg2/idct_mlib.h rename : src/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2/idct_mmx.c rename : src/libmpeg2/libmpeg2_accel.c => src/video_dec/libmpeg2/libmpeg2_accel.c rename : src/libmpeg2/libmpeg2_accel.h => src/video_dec/libmpeg2/libmpeg2_accel.h rename : src/libmpeg2/motion_comp.c => src/video_dec/libmpeg2/motion_comp.c rename : src/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2/motion_comp_altivec.c rename : src/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2/motion_comp_mlib.c rename : src/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2/motion_comp_mmx.c rename : src/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2/motion_comp_vis.c rename : src/libmpeg2/mpeg2.h => src/video_dec/libmpeg2/mpeg2.h rename : src/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2/mpeg2_internal.h rename : src/libmpeg2/slice.c => src/video_dec/libmpeg2/slice.c rename : src/libmpeg2/slice_xvmc.c => src/video_dec/libmpeg2/slice_xvmc.c rename : src/libmpeg2/slice_xvmc_vld.c => src/video_dec/libmpeg2/slice_xvmc_vld.c rename : src/libmpeg2/stats.c => src/video_dec/libmpeg2/stats.c rename : src/libmpeg2/vis.h => src/video_dec/libmpeg2/vis.h rename : src/libmpeg2/vlc.h => src/video_dec/libmpeg2/vlc.h rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libmpeg2/xvmc.h => src/video_dec/libmpeg2/xvmc.h rename : src/libmpeg2/xvmc_vld.h => src/video_dec/libmpeg2/xvmc_vld.h --- src/libmpeg2/mpeg2_internal.h | 294 ------------------------------------------ 1 file changed, 294 deletions(-) delete mode 100644 src/libmpeg2/mpeg2_internal.h (limited to 'src/libmpeg2/mpeg2_internal.h') diff --git a/src/libmpeg2/mpeg2_internal.h b/src/libmpeg2/mpeg2_internal.h deleted file mode 100644 index 2e42aace6..000000000 --- a/src/libmpeg2/mpeg2_internal.h +++ /dev/null @@ -1,294 +0,0 @@ -/* - * mpeg2_internal.h - * Copyright (C) 2000-2002 Michel Lespinasse - * Copyright (C) 1999-2000 Aaron Holtzman - * - * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. - * See http://libmpeg2.sourceforge.net/ for updates. - * - * mpeg2dec is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * mpeg2dec is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef MPEG2_INTERNAL_H -#define MPEG2_INTERNAL_H - -#include -#include "accel_xvmc.h" - -#ifdef ENABLE_ALTIVEC -#include -#endif - -/* macroblock modes */ -#define MACROBLOCK_INTRA XINE_MACROBLOCK_INTRA -#define MACROBLOCK_PATTERN XINE_MACROBLOCK_PATTERN -#define MACROBLOCK_MOTION_BACKWARD XINE_MACROBLOCK_MOTION_BACKWARD -#define MACROBLOCK_MOTION_FORWARD XINE_MACROBLOCK_MOTION_FORWARD -#define MACROBLOCK_QUANT XINE_MACROBLOCK_QUANT -#define DCT_TYPE_INTERLACED XINE_MACROBLOCK_DCT_TYPE_INTERLACED - -/* motion_type */ -#define MOTION_TYPE_MASK (3*64) -#define MOTION_TYPE_BASE 64 -#define MC_FIELD (1*64) -#define MC_FRAME (2*64) -#define MC_16X8 (2*64) -#define MC_DMV (3*64) - -/* picture structure */ -#define TOP_FIELD VO_TOP_FIELD -#define BOTTOM_FIELD VO_BOTTOM_FIELD -#define FRAME_PICTURE VO_BOTH_FIELDS - -/* picture coding type (mpeg2 header) */ -#define I_TYPE 1 -#define P_TYPE 2 -#define B_TYPE 3 -#define D_TYPE 4 - -typedef struct motion_s { - uint8_t * ref[2][3]; - uint8_t ** ref2[2]; - int pmv[2][2]; - int f_code[2]; -} motion_t; - -typedef struct picture_s { - /* first, state that carries information from one macroblock to the */ - /* next inside a slice, and is never used outside of mpeg2_slice() */ - - /* DCT coefficients - should be kept aligned ! */ - int16_t DCTblock[64]; - - /* XvMC DCT block and macroblock data for XvMC acceleration */ - xine_macroblocks_t *mc; - int XvMC_mb_type; - int XvMC_mv_field_sel[2][2]; - int XvMC_x; - int XvMC_y; - int XvMC_motion_type; - int XvMC_dmvector[2]; - int XvMC_cbp; - int XvMC_dct_type; - - /* bit parsing stuff */ - uint32_t bitstream_buf; /* current 32 bit working set of buffer */ - int bitstream_bits; /* used bits in working set */ - uint8_t * bitstream_ptr; /* buffer with stream data */ - - uint8_t * dest[3]; - int pitches[3]; - int offset; - unsigned int limit_x; - unsigned int limit_y_16; - unsigned int limit_y_8; - unsigned int limit_y; - - /* Motion vectors */ - /* The f_ and b_ correspond to the forward and backward motion */ - /* predictors */ - motion_t b_motion; - motion_t f_motion; - - /* predictor for DC coefficients in intra blocks */ - int16_t dc_dct_pred[3]; - - int quantizer_scale; /* remove */ - int current_field; /* remove */ - int dmv_offset; /* remove */ - unsigned int v_offset; /* remove */ - - - /* now non-slice-specific information */ - - /* sequence header stuff */ - uint8_t intra_quantizer_matrix [64]; - uint8_t non_intra_quantizer_matrix [64]; - int load_intra_quantizer_matrix; - int load_non_intra_quantizer_matrix; - - /* The width and height of the picture snapped to macroblock units */ - int coded_picture_width; - int coded_picture_height; - - /* The width and height as it appears on header sequence */ - unsigned int display_width, display_height; - - /* picture header stuff */ - - /* what type of picture this is (I, P, B, D) */ - int picture_coding_type; - - int vbv_delay; - int low_delay; - - /* picture coding extension stuff */ - - /* quantization factor for intra dc coefficients */ - int intra_dc_precision; - /* top/bottom/both fields */ - int picture_structure; - /* bool to indicate all predictions are frame based */ - int frame_pred_frame_dct; - /* bool to indicate whether intra blocks have motion vectors */ - /* (for concealment) */ - int concealment_motion_vectors; - /* bit to indicate which quantization table to use */ - int q_scale_type; - /* bool to use different vlc tables */ - int intra_vlc_format; - /* used for DMV MC */ - int top_field_first; - - /* stuff derived from bitstream */ - - /* pointer to the zigzag scan we're supposed to be using */ - uint8_t * scan; - - struct vo_frame_s * current_frame; - struct vo_frame_s * forward_reference_frame; - struct vo_frame_s * backward_reference_frame; - - int frame_width, frame_height; - - int second_field; - - int mpeg1; - - int skip_non_intra_dct; - - /* these things are not needed by the decoder */ - /* this is a temporary interface, we will build a better one later. */ - int aspect_ratio_information; - int saved_aspect_ratio; - int frame_rate_code; - int progressive_sequence; - int repeat_first_field; - int progressive_frame; - uint32_t frame_centre_horizontal_offset; - uint32_t frame_centre_vertical_offset; - uint32_t video_format; - uint32_t colour_description; - uint32_t colour_primatives; - uint32_t transfer_characteristics; - uint32_t matrix_coefficients; - uint32_t display_horizontal_size; - uint32_t display_vertical_size; - uint32_t drop_frame_flag; - uint32_t time_code_hours; - uint32_t time_code_minutes; - uint32_t time_code_seconds; - uint32_t time_code_pictures; - uint32_t closed_gop; - uint32_t broken_link; - - int bitrate; - int frame_rate_ext_n; - int frame_rate_ext_d; - -} picture_t; - -typedef struct cpu_state_s { -#ifdef ARCH_PPC - uint8_t regv[12*16]; -#endif - int dummy; -} cpu_state_t; - -/* cpu_state.c */ -extern void (* mpeg2_cpu_state_save) (cpu_state_t * state); -extern void (* mpeg2_cpu_state_restore) (cpu_state_t * state); -void mpeg2_cpu_state_init (uint32_t mm_accel); - -/* header.c */ -extern uint8_t mpeg2_scan_norm[64]; -extern uint8_t mpeg2_scan_alt[64]; -void mpeg2_header_state_init (picture_t * picture); -int mpeg2_header_picture (picture_t * picture, uint8_t * buffer); -int mpeg2_header_sequence (picture_t * picture, uint8_t * buffer); -int mpeg2_header_extension (picture_t * picture, uint8_t * buffer); -int mpeg2_header_group_of_pictures (picture_t * picture, uint8_t * buffer); - -/* idct.c */ -extern void (* mpeg2_idct_copy) (int16_t * block, uint8_t * dest, int stride); -extern void (* mpeg2_idct_add) (int16_t * block, uint8_t * dest, int stride); -extern void (* mpeg2_idct) (int16_t * block); -extern void (* mpeg2_zero_block) (int16_t * block); -void mpeg2_idct_init (uint32_t mm_accel); - -/* idct_mlib.c */ -void mpeg2_idct_add_mlib (int16_t * block, uint8_t * dest, int stride); -void mpeg2_idct_copy_mlib_non_ieee (int16_t * block, uint8_t * dest, - int stride); -void mpeg2_idct_add_mlib_non_ieee (int16_t * block, uint8_t * dest, - int stride); -void mpeg2_idct_mlib (int16_t * block); - -/* idct_mmx.c */ -void mpeg2_idct_copy_mmxext (int16_t * block, uint8_t * dest, int stride); -void mpeg2_idct_add_mmxext (int16_t * block, uint8_t * dest, int stride); -void mpeg2_idct_mmxext (int16_t * block); -void mpeg2_idct_copy_mmx (int16_t * block, uint8_t * dest, int stride); -void mpeg2_idct_add_mmx (int16_t * block, uint8_t * dest, int stride); -void mpeg2_idct_mmx (int16_t * block); -void mpeg2_zero_block_mmx (int16_t * block); -void mpeg2_idct_mmx_init (void); - -/* idct_altivec.c */ -# ifdef ENABLE_ALTIVEC -void mpeg2_idct_copy_altivec (vector signed short * block, unsigned char * dest, - int stride); -void mpeg2_idct_add_altivec (vector signed short * block, unsigned char * dest, - int stride); -# else /* ! ENABLE_ALTIVEC */ -void mpeg2_idct_copy_altivec (signed short * block, unsigned char * dest, - int stride); -void mpeg2_idct_add_altivec (signed short * block, unsigned char * dest, - int stride); -# endif /* ENABLE_ALTIVEC */ -void mpeg2_idct_altivec_init (void); - -/* motion_comp.c */ -void mpeg2_mc_init (uint32_t mm_accel); - -typedef struct mpeg2_mc_s { - void (* put [8]) (uint8_t * dst, uint8_t *, int32_t, int32_t); - void (* avg [8]) (uint8_t * dst, uint8_t *, int32_t, int32_t); -} mpeg2_mc_t; - -#define MPEG2_MC_EXTERN(x) mpeg2_mc_t mpeg2_mc_##x = { \ - {MC_put_o_16_##x, MC_put_x_16_##x, MC_put_y_16_##x, MC_put_xy_16_##x, \ - MC_put_o_8_##x, MC_put_x_8_##x, MC_put_y_8_##x, MC_put_xy_8_##x}, \ - {MC_avg_o_16_##x, MC_avg_x_16_##x, MC_avg_y_16_##x, MC_avg_xy_16_##x, \ - MC_avg_o_8_##x, MC_avg_x_8_##x, MC_avg_y_8_##x, MC_avg_xy_8_##x} \ -}; - -extern mpeg2_mc_t mpeg2_mc; -extern mpeg2_mc_t mpeg2_mc_c; -extern mpeg2_mc_t mpeg2_mc_mmx; -extern mpeg2_mc_t mpeg2_mc_mmxext; -extern mpeg2_mc_t mpeg2_mc_3dnow; -extern mpeg2_mc_t mpeg2_mc_altivec; -extern mpeg2_mc_t mpeg2_mc_mlib; -extern mpeg2_mc_t mpeg2_mc_vis; - -/* slice.c */ -void mpeg2_slice (picture_t * picture, int code, uint8_t * buffer); - -/* stats.c */ -void mpeg2_stats (int code, uint8_t * buffer); - - -#endif -- cgit v1.2.3