Commit 85ae4a07 authored by Sam Hocevar's avatar Sam Hocevar

giclage de ces putains de .old et .new qu'� chaque commit je me plante

et � chaque update aussi, alors pouf, des #ifdef �a va aussi..
parent a28f0233
...@@ -28,6 +28,8 @@ ARCH=MMX ...@@ -28,6 +28,8 @@ ARCH=MMX
# Decoder choice - ?? old decoder will be removed soon # Decoder choice - ?? old decoder will be removed soon
#DECODER=old #DECODER=old
DECODER=new DECODER=new
# !!! don't forget to run this command after changing decoder type !!!
# touch input/input.c input/input_ctrl.c include/vlc.h include/video_decoder.h
#----------------- do not change anything below this line ---------------------- #----------------- do not change anything below this line ----------------------
...@@ -194,6 +196,7 @@ subtitle_decoder_obj = subtitle_decoder/subtitle_decoder.o ...@@ -194,6 +196,7 @@ subtitle_decoder_obj = subtitle_decoder/subtitle_decoder.o
# remeber to add it to OBJ # remeber to add it to OBJ
ifeq ($(DECODER),old) ifeq ($(DECODER),old)
CFLAGS += -DOLD_DECODER
video_decoder_obj = video_decoder_ref/video_decoder.o \ video_decoder_obj = video_decoder_ref/video_decoder.o \
video_decoder_ref/display.o \ video_decoder_ref/display.o \
video_decoder_ref/getblk.o \ video_decoder_ref/getblk.o \
......
/******************************************************************************* /*****************************************************************************
* video_decoder.h : video decoder thread * video_decoder.h : video decoder thread
* (c)1999 VideoLAN * (c)1999 VideoLAN
******************************************************************************* *****************************************************************************
******************************************************************************* *****************************************************************************
* Requires: * Requires:
* "config.h" * "config.h"
* "common.h" * "common.h"
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
* "video.h" * "video.h"
* "video_output.h" * "video_output.h"
* "decoder_fifo.h" * "decoder_fifo.h"
*******************************************************************************/ *****************************************************************************/
/******************************************************************************* /*****************************************************************************
* vdec_thread_t: video decoder thread descriptor * vdec_thread_t: video decoder thread descriptor
******************************************************************************* *****************************************************************************
* ?? * ??
*******************************************************************************/ *****************************************************************************/
typedef struct vdec_thread_s typedef struct vdec_thread_s
{ {
/* Thread properties and locks */ /* Thread properties and locks */
...@@ -33,7 +33,7 @@ typedef struct vdec_thread_s ...@@ -33,7 +33,7 @@ typedef struct vdec_thread_s
/*??*/ /*??*/
// int *pi_status; // int *pi_status;
#ifdef OLD_DECODER
/* Input properties */ /* Input properties */
decoder_fifo_t fifo; /* PES input fifo */ decoder_fifo_t fifo; /* PES input fifo */
...@@ -43,16 +43,30 @@ typedef struct vdec_thread_s ...@@ -43,16 +43,30 @@ typedef struct vdec_thread_s
/* Output properties */ /* Output properties */
vout_thread_t * p_vout; /* video output thread */ vout_thread_t * p_vout; /* video output thread */
int i_stream; /* video stream id */ int i_stream; /* video stream id */
#else
/* idct iformations */
dctelem_t p_pre_idct[64*64];
/* Input properties */
struct vpar_thread_s * p_vpar; /* video_parser thread */
/* Lookup tables */
//#ifdef MPEG2_COMPLIANT
u8 pi_crop_buf[VDEC_CROPRANGE];
u8 * pi_crop;
//#endif
#endif
#ifdef STATS #ifdef STATS
/* Statistics */ /* Statistics */
count_t c_loops; /* number of loops */ count_t c_loops; /* number of loops */
count_t c_idle_loops; /* number of idle loops */ count_t c_idle_loops; /* number of idle loops */
#ifdef OLD_DECODER
count_t c_pictures; /* number of pictures read */ count_t c_pictures; /* number of pictures read */
count_t c_i_pictures; /* number of I pictures read */ count_t c_i_pictures; /* number of I pictures read */
count_t c_p_pictures; /* number of P pictures read */ count_t c_p_pictures; /* number of P pictures read */
count_t c_b_pictures; /* number of B pictures read */ count_t c_b_pictures; /* number of B pictures read */
#endif
count_t c_decoded_pictures; /* number of pictures decoded */ count_t c_decoded_pictures; /* number of pictures decoded */
count_t c_decoded_i_pictures; /* number of I pictures decoded */ count_t c_decoded_i_pictures; /* number of I pictures decoded */
count_t c_decoded_p_pictures; /* number of P pictures decoded */ count_t c_decoded_p_pictures; /* number of P pictures decoded */
...@@ -60,17 +74,29 @@ typedef struct vdec_thread_s ...@@ -60,17 +74,29 @@ typedef struct vdec_thread_s
#endif #endif
} vdec_thread_t; } vdec_thread_t;
/******************************************************************************* /*****************************************************************************
* Function pointers
*****************************************************************************/
#ifndef OLD_DECODER
typedef void (*f_addb_t)( vdec_thread_t *, dctelem_t*, yuv_data_t*, int );
#endif
/*****************************************************************************
* Prototypes * Prototypes
*******************************************************************************/ *****************************************************************************/
#ifndef OLD_DECODER
struct vpar_thread_s;
#endif
/* Thread management functions */ /* Thread management functions */
#ifdef OLD_DECODER
p_vdec_thread_t vdec_CreateThread ( /* video_cfg_t *p_cfg, */ input_thread_t *p_input /*, p_vdec_thread_t vdec_CreateThread ( /* video_cfg_t *p_cfg, */ input_thread_t *p_input /*,
vout_thread_t *p_vout, int *pi_status */ ); vout_thread_t *p_vout, int *pi_status */ );
void vdec_DestroyThread ( vdec_thread_t *p_vdec /*, int *pi_status */ ); void vdec_DestroyThread ( vdec_thread_t *p_vdec /*, int *pi_status */ );
#else
/* Time management functions */ vdec_thread_t * vdec_CreateThread ( struct vpar_thread_s *p_vpar /*, int *pi_status */ );
/* ?? */ void vdec_DestroyThread ( vdec_thread_t *p_vdec /*, int *pi_status */ );
void vdec_AddBlock( vdec_thread_t *, dctelem_t*, yuv_data_t*, int );
/* Dynamic thread settings */ void vdec_CopyBlock( vdec_thread_t *, dctelem_t*, yuv_data_t*, int );
/* ?? */ void vdec_DummyBlock( vdec_thread_t *, dctelem_t*, yuv_data_t*, int );
#endif
...@@ -70,11 +70,27 @@ ...@@ -70,11 +70,27 @@
/* Video */ /* Video */
#include "video.h" #include "video.h"
#include "video_output.h" #include "video_output.h"
#ifdef OLD_DECODER
#include "video_decoder.h"
#else
#include "vdec_idct.h"
#include "video_decoder.h" #include "video_decoder.h"
#include "vdec_motion.h"
#include "vpar_blocks.h"
#include "vpar_headers.h"
#include "video_fifo.h"
#include "vpar_synchro.h"
#include "video_parser.h"
#endif
/* Interface */ /* Interface */
#include "intf_cmd.h" #include "intf_cmd.h"
#include "intf_ctrl.h" #include "intf_ctrl.h"
#ifndef OLD_DECODER
#include "intf_sys.h"
#include "intf_console.h"
#endif
#include "interface.h" #include "interface.h"
#include "main.h" #include "main.h"
...@@ -112,9 +112,15 @@ input_thread_t *input_CreateThread( input_cfg_t *p_cfg ) ...@@ -112,9 +112,15 @@ input_thread_t *input_CreateThread( input_cfg_t *p_cfg )
{ {
/* File methods */ /* File methods */
case INPUT_METHOD_TS_FILE: case INPUT_METHOD_TS_FILE:
#ifdef OLD_DECODER
p_input->p_open = &input_FileCreateMethod; p_input->p_open = &input_FileCreateMethod;
p_input->p_read = &input_FileRead; p_input->p_read = &input_FileRead;
p_input->p_clean = &input_FileDestroyMethod; p_input->p_clean = &input_FileDestroyMethod;
#else
p_input->p_open = input_FileCreateMethod;
p_input->p_read = input_FileRead;
p_input->p_clean = input_FileDestroyMethod;
#endif
break; break;
/* Network methods */ /* Network methods */
...@@ -122,9 +128,15 @@ input_thread_t *input_CreateThread( input_cfg_t *p_cfg ) ...@@ -122,9 +128,15 @@ input_thread_t *input_CreateThread( input_cfg_t *p_cfg )
case INPUT_METHOD_TS_MCAST: case INPUT_METHOD_TS_MCAST:
case INPUT_METHOD_TS_BCAST: case INPUT_METHOD_TS_BCAST:
case INPUT_METHOD_TS_VLAN_BCAST: case INPUT_METHOD_TS_VLAN_BCAST:
#ifdef OLD_DECODER
p_input->p_open = &input_NetworkCreateMethod; p_input->p_open = &input_NetworkCreateMethod;
p_input->p_read = &input_NetworkRead; p_input->p_read = &input_NetworkRead;
p_input->p_clean = &input_NetworkDestroyMethod; p_input->p_clean = &input_NetworkDestroyMethod;
#else
p_input->p_open = input_NetworkCreateMethod;
p_input->p_read = input_NetworkRead;
p_input->p_clean = input_NetworkDestroyMethod;
#endif
break; break;
case INPUT_METHOD_NONE: case INPUT_METHOD_NONE:
...@@ -341,7 +353,11 @@ static void EndThread( input_thread_t * p_input ) ...@@ -341,7 +353,11 @@ static void EndThread( input_thread_t * p_input )
{ {
case MPEG1_VIDEO_ES: case MPEG1_VIDEO_ES:
case MPEG2_VIDEO_ES: case MPEG2_VIDEO_ES:
#ifdef OLD_DECODER
vdec_DestroyThread( (vdec_thread_t*)(p_input->pp_selected_es[i_es_loop]->p_dec) /*, NULL */ ); vdec_DestroyThread( (vdec_thread_t*)(p_input->pp_selected_es[i_es_loop]->p_dec) /*, NULL */ );
#else
vpar_DestroyThread( (vpar_thread_t*)(p_input->pp_selected_es[i_es_loop]->p_dec) /*, NULL */ );
#endif
break; break;
case MPEG1_AUDIO_ES: case MPEG1_AUDIO_ES:
...@@ -986,7 +1002,11 @@ static __inline__ void input_DemuxPES( input_thread_t *p_input, ...@@ -986,7 +1002,11 @@ static __inline__ void input_DemuxPES( input_thread_t *p_input,
{ {
case MPEG1_VIDEO_ES: case MPEG1_VIDEO_ES:
case MPEG2_VIDEO_ES: case MPEG2_VIDEO_ES:
#ifdef OLD_DECODER
p_fifo = &(((vdec_thread_t*)(p_es_descriptor->p_dec))->fifo); p_fifo = &(((vdec_thread_t*)(p_es_descriptor->p_dec))->fifo);
#else
p_fifo = &(((vpar_thread_t*)(p_es_descriptor->p_dec))->fifo);
#endif
break; break;
case MPEG1_AUDIO_ES: case MPEG1_AUDIO_ES:
......
...@@ -9,12 +9,13 @@ ...@@ -9,12 +9,13 @@
/******************************************************************************* /*******************************************************************************
* Preamble * Preamble
*******************************************************************************/ *******************************************************************************/
#include "vlc.h" #include "vlc.h"
/* #if 0
#include <errno.h> #include <errno.h>
#include <sys/uio.h> #include <sys/uio.h> /* iovec */
#include <stdlib.h> #include <stdlib.h> /* atoi(), malloc(), free() */
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
...@@ -22,7 +23,7 @@ ...@@ -22,7 +23,7 @@
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/extensions/XShm.h> #include <X11/extensions/XShm.h>
#include <sys/soundcard.h> #include <sys/soundcard.h>
#include <netinet/in.h> #include <netinet/in.h> /* ntohs */
#include "common.h" #include "common.h"
#include "config.h" #include "config.h"
...@@ -42,7 +43,9 @@ ...@@ -42,7 +43,9 @@
#include "video.h" #include "video.h"
#include "video_output.h" #include "video_output.h"
#include "video_decoder.h" */ #include "video_decoder.h"
#endif
/****************************************************************************** /******************************************************************************
* input_AddPgrmElem: Start the extraction and the decoding of a program element * input_AddPgrmElem: Start the extraction and the decoding of a program element
...@@ -128,10 +131,19 @@ int input_AddPgrmElem( input_thread_t *p_input, int i_current_id ) ...@@ -128,10 +131,19 @@ int input_AddPgrmElem( input_thread_t *p_input, int i_current_id )
case MPEG2_VIDEO_ES: case MPEG2_VIDEO_ES:
/* Spawn video thread. */ /* Spawn video thread. */
/* Les 2 pointeurs NULL ne doivent pas etre NULL sinon on segfault !!!! */ /* Les 2 pointeurs NULL ne doivent pas etre NULL sinon on segfault !!!! */
#ifdef OLD_DECODER
if( ((vdec_thread_t*)(p_input->p_es[i_es_loop].p_dec) = if( ((vdec_thread_t*)(p_input->p_es[i_es_loop].p_dec) =
vdec_CreateThread( p_input )) == NULL ) vdec_CreateThread( p_input )) == NULL )
#else
if( ((vpar_thread_t*)(p_input->p_es[i_es_loop].p_dec) =
vpar_CreateThread( p_input )) == NULL )
#endif
{ {
#ifdef OLD_DECODER
intf_ErrMsg("Could not start video decoder\n"); intf_ErrMsg("Could not start video decoder\n");
#else
intf_ErrMsg("Could not start video parser\n");
#endif
vlc_mutex_unlock( &p_input->es_lock ); vlc_mutex_unlock( &p_input->es_lock );
return( -1 ); return( -1 );
} }
...@@ -216,7 +228,11 @@ int input_DelPgrmElem( input_thread_t *p_input, int i_current_id ) ...@@ -216,7 +228,11 @@ int input_DelPgrmElem( input_thread_t *p_input, int i_current_id )
case MPEG1_VIDEO_ES: case MPEG1_VIDEO_ES:
case MPEG2_VIDEO_ES: case MPEG2_VIDEO_ES:
#ifdef OLD_DECODER
vdec_DestroyThread( (vdec_thread_t*)(p_input->pp_selected_es[i_selected_es_loop]->p_dec) /*, NULL */ ); vdec_DestroyThread( (vdec_thread_t*)(p_input->pp_selected_es[i_selected_es_loop]->p_dec) /*, NULL */ );
#else
vpar_DestroyThread( (vpar_thread_t*)(p_input->pp_selected_es[i_selected_es_loop]->p_dec) /*, NULL */ );
#endif
break; break;
} }
......
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