diff options
Diffstat (limited to 'src/libmpeg2')
| -rw-r--r-- | src/libmpeg2/decode.c | 68 | ||||
| -rw-r--r-- | src/libmpeg2/xine_decoder.c | 28 | 
2 files changed, 34 insertions, 62 deletions
| diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c index df30fbd6e..4c311c8a0 100644 --- a/src/libmpeg2/decode.c +++ b/src/libmpeg2/decode.c @@ -31,6 +31,12 @@  #include <stdlib.h>  #include <inttypes.h> +#define LOG_MODULE "decode" +#define LOG_VERBOSE +/* +#define LOG +*/ +  #include "xine_internal.h"  #include "video_out.h"  #include "mpeg2.h" @@ -41,10 +47,6 @@  #define LOG_PAN_SCAN  */ -/* -#define LOG -*/ -  /* #define BUFFER_SIZE (224 * 1024) */  #define BUFFER_SIZE (1194 * 1024) /* new buffer size for mpeg2dec 0.2.1 */ @@ -316,15 +318,11 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,  	  switch (picture->picture_coding_type) {  	  case B_TYPE: -#ifdef LOG -	    printf ("libmpeg2: B-Frame\n"); -#endif +	    lprintf ("B-Frame\n");  	    if (mpeg2dec->frames_to_drop>1) { -#ifdef LOG -	      printf ("libmpeg2: dropping b-frame because frames_to_drop==%d\n", -		      mpeg2dec->frames_to_drop); -#endif +	      lprintf ("dropping b-frame because frames_to_drop==%d\n", +		       mpeg2dec->frames_to_drop);  	      mpeg2dec->drop_frame = 1;  	    } else if (!picture->forward_reference_frame || picture->forward_reference_frame->bad_frame   		       || !picture->backward_reference_frame || picture->backward_reference_frame->bad_frame) { @@ -343,25 +341,19 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,  #endif  	      mpeg2dec->drop_frame = 1;  	    } else if (mpeg2dec->is_wait_for_ip_frames > 0) { -#ifdef LOG -	      printf("libmpeg2: dropping b-frame because refs are invalid\n"); -#endif +	      lprintf("dropping b-frame because refs are invalid\n");  	      mpeg2dec->drop_frame = 1;  	    }  	    break;  	  case P_TYPE: -#ifdef LOG -	    printf ("libmpeg2: P-Frame\n"); -#endif +	    lprintf ("P-Frame\n");  	    if (mpeg2dec->frames_to_drop>2) {  	      mpeg2dec->drop_frame = 1; -#ifdef LOG -	      printf ("libmpeg2: dropping p-frame because frames_to_drop==%d\n", -		      mpeg2dec->frames_to_drop); -#endif +	      lprintf ("dropping p-frame because frames_to_drop==%d\n", +		       mpeg2dec->frames_to_drop);  	    } else if (!picture->backward_reference_frame || picture->backward_reference_frame->bad_frame) {  	      mpeg2dec->drop_frame = 1;  #ifdef LOG @@ -371,9 +363,7 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,  		printf ("libmpeg2: dropping p-frame because ref %d is bad\n", picture->backward_reference_frame->id);  #endif  	    } else if (mpeg2dec->is_wait_for_ip_frames > 1) { -#ifdef LOG -	      printf("libmpeg2: dropping p-frame because ref is invalid\n"); -#endif +	      lprintf("dropping p-frame because ref is invalid\n");  	      mpeg2dec->drop_frame = 1;  	    } else if (mpeg2dec->is_wait_for_ip_frames)  	      mpeg2dec->is_wait_for_ip_frames--; @@ -381,9 +371,7 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,  	    break;  	  case I_TYPE: -#ifdef LOG -	    printf ("libmpeg2: I-Frame\n"); -#endif +	    lprintf ("I-Frame\n");  	    /* for the sake of dvd menus, never drop i-frames  	    if (mpeg2dec->frames_to_drop>4) {  	      mpeg2dec->drop_frame = 1; @@ -548,11 +536,9 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,                      break;                  } -#ifdef LOG -		printf ("libmpeg2: decoding frame %d, type %s\n", -			picture->current_frame->id, picture->picture_coding_type == I_TYPE ? "I" : -			picture->picture_coding_type == P_TYPE ? "P" : "B"); -#endif +		lprintf ("decoding frame %d, type %s\n", +			 picture->current_frame->id, picture->picture_coding_type == I_TYPE ? "I" : +			 picture->picture_coding_type == P_TYPE ? "P" : "B");  		mpeg2dec->pts = 0;  	    }  	} @@ -572,9 +558,7 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,  	  if( picture->v_offset > picture->limit_y ) {   	    picture->current_frame->bad_frame = 0; -#ifdef LOG -	    printf("libmpeg2: frame %d successfuly decoded\n",picture->current_frame->id);  -#endif +	    lprintf("frame %d successfuly decoded\n",picture->current_frame->id);   	  }  	}      } @@ -729,10 +713,8 @@ void mpeg2_flush (mpeg2dec_t * mpeg2dec) {    if (picture->current_frame && !picture->current_frame->drawn &&        !picture->current_frame->bad_frame) { -#ifdef LOG -    printf ("libmpeg2: blasting out current frame %d on flush\n", -	    picture->current_frame->id); -#endif +    lprintf ("blasting out current frame %d on flush\n", +	     picture->current_frame->id);      picture->current_frame->drawn = 1;      get_frame_duration(mpeg2dec, picture->current_frame); @@ -761,9 +743,7 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec)      if ( picture->current_frame ) {        if( !picture->current_frame->drawn ) { -#ifdef LOG -        printf ("libmpeg2: blasting out current frame on close\n"); -#endif +        lprintf ("blasting out current frame on close\n");          picture->current_frame->pts = 0;          get_frame_duration(mpeg2dec, picture->current_frame);          picture->current_frame->draw (picture->current_frame, mpeg2dec->stream); @@ -785,9 +765,7 @@ void mpeg2_close (mpeg2dec_t * mpeg2dec)      if (picture->backward_reference_frame) {        if( !picture->backward_reference_frame->drawn) { -#ifdef LOG -        printf ("libmpeg2: blasting out backward reference frame on close\n"); -#endif +        lprintf ("blasting out backward reference frame on close\n");          picture->backward_reference_frame->pts = 0;          get_frame_duration(mpeg2dec, picture->backward_reference_frame);          picture->backward_reference_frame->draw (picture->backward_reference_frame, mpeg2dec->stream); diff --git a/src/libmpeg2/xine_decoder.c b/src/libmpeg2/xine_decoder.c index 6ec453ce0..0f2efb057 100644 --- a/src/libmpeg2/xine_decoder.c +++ b/src/libmpeg2/xine_decoder.c @@ -17,7 +17,7 @@   * along with this program; if not, write to the Free Software   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA   * - * $Id: xine_decoder.c,v 1.51 2003/10/23 20:12:33 mroi Exp $ + * $Id: xine_decoder.c,v 1.52 2003/11/26 19:43:34 f1rmb Exp $   *   * stuff needed to turn libmpeg2 into a xine decoder plugin   */ @@ -30,16 +30,18 @@  #include <fcntl.h>  #include <unistd.h> +#define LOG_MODULE "mpeg2_decoder" +#define LOG_VERBOSE +/* +#define LOG +*/ +  #include "xine_internal.h"  #include "video_out.h"  #include "mpeg2.h"  #include "mpeg2_internal.h"  #include "buffer.h" -/* -#define LOG -*/ -  typedef struct {    video_decoder_class_t   decoder_class;  } mpeg2_class_t; @@ -55,9 +57,7 @@ typedef struct mpeg2dec_decoder_s {  static void mpeg2dec_decode_data (video_decoder_t *this_gen, buf_element_t *buf) {    mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; -#ifdef LOG -  printf ("libmpeg2: decode_data, flags=0x%08x ...\n", buf->decoder_flags); -#endif +  lprintf ("decode_data, flags=0x%08x ...\n", buf->decoder_flags);    /* handle aspect hints from xine-dvdnav */    if (buf->decoder_flags & BUF_FLAG_SPECIAL) { @@ -80,17 +80,13 @@ static void mpeg2dec_decode_data (video_decoder_t *this_gen, buf_element_t *buf)  		       buf->pts);    } -#ifdef LOG -  printf ("libmpeg2: decode_data...done\n"); -#endif +  lprintf ("decode_data...done\n");  }  static void mpeg2dec_flush (video_decoder_t *this_gen) {    mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; -#ifdef LOG -  printf ("libmpeg2: flush\n"); -#endif +  lprintf ("flush\n");    mpeg2_flush (&this->mpeg2);  } @@ -111,9 +107,7 @@ static void mpeg2dec_dispose (video_decoder_t *this_gen) {    mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; -#ifdef LOG -  printf ("libmpeg2: close\n"); -#endif +  lprintf ("close\n");    mpeg2_close (&this->mpeg2); | 
