Commit 4c83ad1e authored by Jean-Marc Dressler's avatar Jean-Marc Dressler

Encore du debuggage.
parent 98b9a12c
...@@ -23,5 +23,21 @@ typedef void (*f_chroma_motion_t)( struct macroblock_s* ); ...@@ -23,5 +23,21 @@ typedef void (*f_chroma_motion_t)( struct macroblock_s* );
/***************************************************************************** /*****************************************************************************
* Prototypes * Prototypes
*****************************************************************************/ *****************************************************************************/
void vdec_MotionField( struct macroblock_s* );
void vdec_MotionFrame( struct macroblock_s* ); /* Empty function for intra macroblocks motion compensation */
void vdec_DummyRecon ( struct macroblock_s* );
/* Motion compensation for skipped macroblocks */
void vdec_MotionField ( struct macroblock_s* );
void vdec_MotionFrame ( struct macroblock_s* );
/* Motion compensation for non skipped macroblocks */
void vdec_FieldRecon ( struct macroblock_s* );
void vdec_16x8Recon ( struct macroblock_s* );
void vdec_FrameRecon ( struct macroblock_s* );
void vdec_DMVRecon ( struct macroblock_s* );
/* Motion compensation functions for the 3 chroma formats */
void vdec_Motion420();
void vdec_Motion422();
void vdec_Motion444();
...@@ -88,6 +88,11 @@ typedef struct vpar_thread_s ...@@ -88,6 +88,11 @@ typedef struct vpar_thread_s
#endif #endif
} vpar_thread_t; } vpar_thread_t;
/* Chroma types */
#define CHROMA_420 1
#define CHROMA_422 2
#define CHROMA_444 3
/***************************************************************************** /*****************************************************************************
* Prototypes * Prototypes
*****************************************************************************/ *****************************************************************************/
......
...@@ -26,9 +26,9 @@ typedef struct macroblock_s ...@@ -26,9 +26,9 @@ typedef struct macroblock_s
int i_c_x, i_c_y; /* position of macroblock (chroma) */ int i_c_x, i_c_y; /* position of macroblock (chroma) */
int i_chroma_nb_blocks; /* nb of bks for a chr comp */ int i_chroma_nb_blocks; /* nb of bks for a chr comp */
int i_l_stride; /* number of data_t to ignore int i_l_stride; /* number of data_t to ignore
* when changing lines */ * when changing lines */
int i_c_stride; /* idem, for chroma */ int i_c_stride; /* idem, for chroma */
/* IDCT information */ /* IDCT information */
elem_t ppi_blocks[12][64]; /* blocks */ elem_t ppi_blocks[12][64]; /* blocks */
f_idct_t pf_idct[12]; /* sparse IDCT or not ? */ f_idct_t pf_idct[12]; /* sparse IDCT or not ? */
...@@ -37,10 +37,8 @@ typedef struct macroblock_s ...@@ -37,10 +37,8 @@ typedef struct macroblock_s
/* Motion compensation information */ /* Motion compensation information */
f_motion_t pf_motion; /* function to use for motion comp */ f_motion_t pf_motion; /* function to use for motion comp */
f_chroma_motion_t pf_chroma_motion; f_chroma_motion_t pf_chroma_motion;
picture_t * p_backw_top; picture_t * p_backward;
picture_t * p_backw_bot; picture_t * p_forward;
picture_t * p_forw_top;
picture_t * p_forw_bot;
int ppi_field_select[2][2]; int ppi_field_select[2][2];
int pppi_motion_vectors[2][2][2]; int pppi_motion_vectors[2][2][2];
int pi_dm_vector[2]; int pi_dm_vector[2];
...@@ -106,13 +104,6 @@ typedef struct lookup_s ...@@ -106,13 +104,6 @@ typedef struct lookup_s
#define SCAN_ZIGZAG 0 #define SCAN_ZIGZAG 0
#define SCAN_ALT 1 #define SCAN_ALT 1
/*****************************************************************************
* Constants
*****************************************************************************/
extern int * pi_default_intra_quant;
extern int * pi_default_nonintra_quant;
extern u8 pi_scan[2][64];
/***************************************************************************** /*****************************************************************************
* Prototypes * Prototypes
*****************************************************************************/ *****************************************************************************/
......
...@@ -19,9 +19,10 @@ ...@@ -19,9 +19,10 @@
* Function pointers * Function pointers
*****************************************************************************/ *****************************************************************************/
struct vpar_thread_s; struct vpar_thread_s;
struct macroblock_s;
typedef void (*f_slice_header_t)( struct vpar_thread_s*, int*, int, u32); typedef void (*f_slice_header_t)( struct vpar_thread_s*, int*, int, u32);
typedef void (*f_chroma_pattern_t)( struct vpar_thread_s* ); typedef int (*f_chroma_pattern_t)( struct vpar_thread_s* );
typedef int (*f_macroblock_type_t)( struct vpar_thread_s* ); typedef int (*f_macroblock_type_t)( struct vpar_thread_s* );
/***************************************************************************** /*****************************************************************************
...@@ -49,7 +50,7 @@ typedef struct sequence_s ...@@ -49,7 +50,7 @@ typedef struct sequence_s
f_slice_header_t pf_slice_header; f_slice_header_t pf_slice_header;
quant_matrix_t intra_quant, nonintra_quant; quant_matrix_t intra_quant, nonintra_quant;
quant_matrix_t chroma_intra_quant, chroma_nonintra_quant; quant_matrix_t chroma_intra_quant, chroma_nonintra_quant;
void (*pf_decode_mv)( struct vpar_thread_s *, int ); void (*pf_decode_mv)( struct vpar_thread_s *, struct macroblock_s *, int );
f_chroma_pattern_t pf_decode_pattern; f_chroma_pattern_t pf_decode_pattern;
/* Chromatic information */ /* Chromatic information */
...@@ -99,9 +100,6 @@ typedef struct picture_parsing_s ...@@ -99,9 +100,6 @@ typedef struct picture_parsing_s
boolean_t b_frame_structure; boolean_t b_frame_structure;
f_macroblock_type_t pf_macroblock_type; f_macroblock_type_t pf_macroblock_type;
/* Scalability variables */
int i_spatial_temporal_weight_code_table_index;
boolean_t b_error; boolean_t b_error;
} picture_parsing_t; } picture_parsing_t;
......
...@@ -26,7 +26,7 @@ typedef struct video_synchro_s ...@@ -26,7 +26,7 @@ typedef struct video_synchro_s
/***************************************************************************** /*****************************************************************************
* Prototypes * Prototypes
*****************************************************************************/ *****************************************************************************/
void vpar_SynchroChoose( struct vpar_thread_s * p_vpar, int i_coding_type, boolean_t vpar_SynchroChoose( struct vpar_thread_s * p_vpar, int i_coding_type,
int i_structure ); int i_structure );
void vpar_SynchroTrash( struct vpar_thread_s * p_vpar, int i_coding_type, void vpar_SynchroTrash( struct vpar_thread_s * p_vpar, int i_coding_type,
int i_structure ); int i_structure );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment