Update of /cvsroot/xine/xine-lib/src/libffmpeg
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9041/src/libffmpeg

Modified Files:
        diff_to_ffmpeg_cvs.txt dvaudio_decoder.c xine_decoder.c 
Log Message:
trying an updated ffmpeg version (51.25.0)


Index: diff_to_ffmpeg_cvs.txt
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/diff_to_ffmpeg_cvs.txt,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- diff_to_ffmpeg_cvs.txt      13 Sep 2006 23:10:50 -0000      1.38
+++ diff_to_ffmpeg_cvs.txt      4 Dec 2006 22:25:13 -0000       1.39
@@ -1,6 +1,8 @@
---- /home/melanson/projects/ffmpeg/libavcodec/avcodec.h        2006-08-01 
20:03:33.000000000 -0700
-+++ libavcodec/avcodec.h       2006-08-01 20:55:16.000000000 -0700
-@@ -27,6 +27,13 @@
+Index: libavcodec/avcodec.h
+===================================================================
+--- libavcodec/avcodec.h       (revision 7221)
++++ libavcodec/avcodec.h       (working copy)
+@@ -47,6 +47,13 @@
  #define AV_TIME_BASE            1000000
  #define AV_TIME_BASE_Q          (AVRational){1, AV_TIME_BASE}
  
@@ -14,7 +16,7 @@
  enum CodecID {
      CODEC_ID_NONE,
      CODEC_ID_MPEG1VIDEO,
-@@ -2629,6 +2636,13 @@
+@@ -2686,6 +2693,13 @@
  
  extern unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
  
@@ -28,10 +30,11 @@
  #ifdef __cplusplus
  }
  #endif
-
---- /home/melanson/projects/ffmpeg/libavcodec/dsputil.h        2006-08-01 
20:03:33.000000000 -0700
-+++ libavcodec/dsputil.h       2006-08-01 20:55:16.000000000 -0700
-@@ -31,6 +31,9 @@
+Index: libavcodec/dsputil.h
+===================================================================
+--- libavcodec/dsputil.h       (revision 7221)
++++ libavcodec/dsputil.h       (working copy)
+@@ -33,6 +33,9 @@
  #include "common.h"
  #include "avcodec.h"
  
@@ -41,10 +44,11 @@
  
  //#define DEBUG
  /* dct code */
-
---- /home/melanson/projects/ffmpeg/libavcodec/motion_est.c     2006-07-02 
20:16:54.000000000 -0700
-+++ libavcodec/motion_est.c    2006-08-01 21:18:45.000000000 -0700
-@@ -21,6 +21,9 @@
+Index: libavcodec/motion_est.c
+===================================================================
+--- libavcodec/motion_est.c    (revision 7221)
++++ libavcodec/motion_est.c    (working copy)
+@@ -23,6 +23,9 @@
   * new Motion Estimation (X1/EPZS) by Michael Niedermayer <[EMAIL PROTECTED]>
   */
  
@@ -54,16 +58,17 @@
  /**
   * @file motion_est.c
   * Motion estimation.
-@@ -2113,3 +2116,5 @@
+@@ -2112,3 +2115,5 @@
          }
      }
  }
 +
 +#endif /* CONFIG_ENCODERS */
-
---- /home/melanson/projects/ffmpeg/libavcodec/mpeg12.c 2006-07-02 
20:16:54.000000000 -0700
-+++ libavcodec/mpeg12.c        2006-08-01 21:18:45.000000000 -0700
-@@ -34,6 +34,13 @@
+Index: libavcodec/mpeg12.c
+===================================================================
+--- libavcodec/mpeg12.c        (revision 7221)
++++ libavcodec/mpeg12.c        (working copy)
+@@ -36,6 +36,13 @@
  //#include <assert.h>
  
  
@@ -77,10 +82,11 @@
  /* Start codes. */
  #define SEQ_END_CODE            0x000001b7
  #define SEQ_START_CODE          0x000001b3
-
---- /home/melanson/projects/ffmpeg/libavcodec/mpegvideo.c      2006-08-01 
20:03:33.000000000 -0700
-+++ libavcodec/mpegvideo.c     2006-08-01 21:18:45.000000000 -0700
-@@ -38,6 +38,14 @@
+Index: libavcodec/mpegvideo.c
+===================================================================
+--- libavcodec/mpegvideo.c     (revision 7221)
++++ libavcodec/mpegvideo.c     (working copy)
+@@ -40,6 +40,14 @@
  //#undef NDEBUG
  //#include <assert.h>
  
@@ -93,26 +99,9 @@
 +
 +
  #ifdef CONFIG_ENCODERS
- static void encode_picture(MpegEncContext *s, int picture_number);
+ static int encode_picture(MpegEncContext *s, int picture_number);
  #endif //CONFIG_ENCODERS
-@@ -1165,6 +1173,8 @@
-         s->low_delay= 0; //s->max_b_frames ? 0 : 1;
-         avctx->delay= s->low_delay ? 0 : (s->max_b_frames + 1);
-         break;
-+/* xine: this is never used in either decode or MPEG-1 encode mode */
-+#if 0
-     case CODEC_ID_MPEG2VIDEO:
-         s->out_format = FMT_MPEG1;
-         s->low_delay= 0; //s->max_b_frames ? 0 : 1;
-@@ -1300,6 +1310,7 @@
-         avctx->delay=0;
-         s->low_delay=1;
-         break;
-+#endif /* #if 0 */
-     default:
-         return -1;
-     }
-@@ -1321,6 +1332,8 @@
+@@ -1345,6 +1353,8 @@
      ff_set_cmp(&s->dsp, s->dsp.ildct_cmp, s->avctx->ildct_cmp);
      ff_set_cmp(&s->dsp, s->dsp.frame_skip_cmp, s->avctx->frame_skip_cmp);
  
@@ -121,7 +110,7 @@
  #ifdef CONFIG_H261_ENCODER
      if (s->out_format == FMT_H261)
          ff_h261_encode_init(s);
-@@ -1329,6 +1342,8 @@
+@@ -1353,6 +1363,8 @@
          h263_encode_init(s);
      if(s->msmpeg4_version)
          ff_msmpeg4_encode_init(s);
@@ -130,7 +119,7 @@
      if (s->out_format == FMT_MPEG1)
          ff_mpeg1_encode_init(s);
  
-@@ -1373,9 +1388,12 @@
+@@ -1397,9 +1409,12 @@
  
      ff_rate_control_uninit(s);
  
@@ -143,7 +132,7 @@
  
      av_freep(&avctx->extradata);
  
-@@ -2516,8 +2534,11 @@
+@@ -2545,8 +2560,11 @@
  
          MPV_frame_end(s);
  
@@ -153,9 +142,9 @@
              mjpeg_picture_trailer(s);
 +#endif /* #if 0 */
  
-         if(s->flags&CODEC_FLAG_PASS1)
-             ff_write_pass1_stats(s);
-@@ -4516,6 +4537,8 @@
+         if(avctx->rc_buffer_size){
+             RateControlContext *rcc= &s->rc_context;
+@@ -4575,6 +4593,8 @@
      case CODEC_ID_MPEG1VIDEO:
      case CODEC_ID_MPEG2VIDEO:
          mpeg1_encode_mb(s, s->block, motion_x, motion_y); break;
@@ -164,7 +153,7 @@
      case CODEC_ID_MPEG4:
          mpeg4_encode_mb(s, s->block, motion_x, motion_y); break;
      case CODEC_ID_MSMPEG4V2:
-@@ -4536,6 +4559,7 @@
+@@ -4595,6 +4615,7 @@
          h263_encode_mb(s, s->block, motion_x, motion_y); break;
      case CODEC_ID_MJPEG:
          mjpeg_encode_mb(s, s->block); break;
@@ -172,7 +161,7 @@
      default:
          assert(0);
      }
-@@ -4757,6 +4781,8 @@
+@@ -4816,6 +4837,8 @@
                 +sse(s, s->new_picture.data[2] + s->mb_x*8  + 
s->mb_y*s->uvlinesize*8,s->dest[2], w>>1, h>>1, s->uvlinesize);
  }
  
@@ -181,7 +170,7 @@
  static int pre_estimate_motion_thread(AVCodecContext *c, void *arg){
      MpegEncContext *s= arg;
  
-@@ -4800,6 +4826,7 @@
+@@ -4859,6 +4882,7 @@
      }
      return 0;
  }
@@ -189,7 +178,7 @@
  
  static int mb_var_thread(AVCodecContext *c, void *arg){
      MpegEncContext *s= arg;
-@@ -4824,6 +4851,8 @@
+@@ -4883,6 +4907,8 @@
  }
  
  static void write_slice_end(MpegEncContext *s){
@@ -198,7 +187,7 @@
      if(s->codec_id==CODEC_ID_MPEG4){
          if(s->partitioned_frame){
              ff_mpeg4_merge_partitions(s);
-@@ -4833,6 +4862,7 @@
+@@ -4892,6 +4918,7 @@
      }else if(s->out_format == FMT_MJPEG){
          ff_mjpeg_stuffing(&s->pb);
      }
@@ -206,7 +195,7 @@
  
      align_put_bits(&s->pb);
      flush_put_bits(&s->pb);
-@@ -4886,10 +4916,13 @@
+@@ -4945,10 +4972,13 @@
      case CODEC_ID_FLV1:
          s->gob_index = ff_h263_get_gob_height(s);
          break;
@@ -220,7 +209,7 @@
      }
  
      s->resync_mb_x=0;
-@@ -4962,9 +4995,12 @@
+@@ -5021,9 +5051,12 @@
                      if(s->start_mb_y != mb_y || mb_x!=0){
                          write_slice_end(s);
  
@@ -233,7 +222,7 @@
                      }
  
                      assert((put_bits_count(&s->pb)&7) == 0);
-@@ -4988,19 +5024,25 @@
+@@ -5047,19 +5080,25 @@
                      }
  
                      switch(s->codec_id){
@@ -259,7 +248,7 @@
                      }
  
                      if(s->flags&CODEC_FLAG_PASS1){
-@@ -5113,7 +5155,10 @@
+@@ -5172,7 +5211,10 @@
  
                      s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD | MV_DIRECT;
                      s->mb_intra= 0;
@@ -270,7 +259,7 @@
                      encode_mb_hq(s, &backup_s, &best_s, 
CANDIDATE_MB_TYPE_DIRECT, pb, pb2, tex_pb,
                                   &dmin, &next_block, mx, my);
                  }
-@@ -5299,7 +5344,10 @@
+@@ -5354,7 +5396,10 @@
                      s->mb_intra= 0;
                      motion_x=s->b_direct_mv_table[xy][0];
                      motion_y=s->b_direct_mv_table[xy][1];
@@ -281,7 +270,7 @@
                      break;
                  case CANDIDATE_MB_TYPE_BIDIR:
                      s->mv_dir = MV_DIR_FORWARD | MV_DIR_BACKWARD;
-@@ -5407,8 +5455,11 @@
+@@ -5462,8 +5507,11 @@
      }
  
      //not beautiful here but we must write it before flushing so it has to be 
here
@@ -293,8 +282,8 @@
  
      write_slice_end(s);
  
-@@ -5469,6 +5520,8 @@
-         s->current_picture.quality = ff_rate_estimate_qscale(s, dry_run);
+@@ -5531,6 +5579,8 @@
+     }
  
      if(s->adaptive_quant){
 +/* xine: do not need this for decode or MPEG-1 encoding modes */
@@ -302,7 +291,7 @@
          switch(s->codec_id){
          case CODEC_ID_MPEG4:
              ff_clean_mpeg4_qscales(s);
-@@ -5479,6 +5532,7 @@
+@@ -5541,6 +5591,7 @@
              ff_clean_h263_qscales(s);
              break;
          }
@@ -310,7 +299,7 @@
  
          s->lambda= s->lambda_table[0];
          //FIXME broken
-@@ -5499,10 +5553,13 @@
+@@ -5562,10 +5613,13 @@
      s->me.mb_var_sum_temp    =
      s->me.mc_mb_var_sum_temp = 0;
  
@@ -324,7 +313,7 @@
  
      s->me.scene_change_score=0;
  
-@@ -5532,6 +5589,8 @@
+@@ -5596,6 +5650,8 @@
          ff_update_duplicate_context(s->thread_context[i], s);
      }
  
@@ -333,7 +322,7 @@
      ff_init_me(s);
  
      /* Estimate motion for every MB */
-@@ -5546,6 +5605,8 @@
+@@ -5610,6 +5666,8 @@
  
          s->avctx->execute(s->avctx, estimate_motion_thread, 
(void**)&(s->thread_context[0]), NULL, s->avctx->thread_count);
      }else /* if(s->pict_type == I_TYPE) */{
@@ -342,7 +331,7 @@
          /* I-Frame */
          for(i=0; i<s->mb_stride*s->mb_height; i++)
              s->mb_type[i]= CANDIDATE_MB_TYPE_INTRA;
-@@ -5569,6 +5630,8 @@
+@@ -5633,6 +5691,8 @@
  //printf("Scene change detected, encoding as I Frame %d %d\n", 
s->current_picture.mb_var_sum, s->current_picture.mc_mb_var_sum);
      }
  
@@ -351,15 +340,15 @@
      if(!s->umvplus){
          if(s->pict_type==P_TYPE || s->pict_type==S_TYPE) {
              s->f_code= ff_get_best_fcode(s, s->p_mv_table, 
CANDIDATE_MB_TYPE_INTER);
-@@ -5622,6 +5685,7 @@
+@@ -5686,6 +5746,7 @@
              }
          }
      }
 +#endif /* #if 0 */
  
-     estimate_qp(s, 0);
- 
-@@ -5652,6 +5716,8 @@
+     if (estimate_qp(s, 0) < 0)
+         return -1;
+@@ -5717,6 +5778,8 @@
  
      s->last_bits= put_bits_count(&s->pb);
      switch(s->out_format) {
@@ -368,7 +357,7 @@
      case FMT_MJPEG:
          mjpeg_picture_header(s);
          break;
-@@ -5680,11 +5746,15 @@
+@@ -5745,11 +5808,15 @@
          else
              h263_encode_picture_header(s, picture_number);
          break;
@@ -384,10 +373,11 @@
      default:
          assert(0);
      }
-
---- /home/melanson/projects/ffmpeg/libavcodec/snow.c   2006-07-02 
20:16:54.000000000 -0700
-+++ libavcodec/snow.c  2006-08-01 21:18:45.000000000 -0700
-@@ -1975,6 +1975,7 @@
+Index: libavcodec/snow.c
+===================================================================
+--- libavcodec/snow.c  (revision 7221)
++++ libavcodec/snow.c  (working copy)
+@@ -1977,6 +1977,7 @@
  #define P_MV1 P[9]
  #define FLAG_QPEL   1 //must be 1
  
@@ -395,7 +385,7 @@
  static int encode_q_branch(SnowContext *s, int level, int x, int y){
      uint8_t p_buffer[1024];
      uint8_t i_buffer[1024];
-@@ -2203,6 +2204,7 @@
+@@ -2205,6 +2206,7 @@
          return score;
      }
  }
@@ -403,15 +393,15 @@
  
  static always_inline int same_block(BlockNode *a, BlockNode *b){
      if((a->type&BLOCK_INTRA) && (b->type&BLOCK_INTRA)){
-@@ -2317,6 +2319,7 @@
+@@ -2319,6 +2321,7 @@
      }
  }
  
 +#ifdef CONFIG_ENCODERS
- static void encode_blocks(SnowContext *s){
+ static void encode_blocks(SnowContext *s, int search){
      int x, y;
      int w= s->b_width;
-@@ -2338,6 +2341,7 @@
+@@ -2340,6 +2343,7 @@
          }
      }
  }
@@ -419,7 +409,7 @@
  
  static void decode_blocks(SnowContext *s){
      int x, y;
-@@ -4030,6 +4034,7 @@
+@@ -3910,6 +3914,7 @@
      }
  }
  
@@ -427,7 +417,7 @@
  static int encode_init(AVCodecContext *avctx)
  {
      SnowContext *s = avctx->priv_data;
-@@ -4117,6 +4122,7 @@
+@@ -3997,6 +4002,7 @@
  
      return 0;
  }
@@ -435,7 +425,7 @@
  
  static int frame_start(SnowContext *s){
     AVFrame tmp;
-@@ -4155,6 +4161,7 @@
+@@ -4035,6 +4041,7 @@
      return 0;
  }
  
@@ -443,7 +433,7 @@
  static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int 
buf_size, void *data){
      SnowContext *s = avctx->priv_data;
      RangeCoder * const c= &s->c;
-@@ -4382,6 +4389,7 @@
+@@ -4288,6 +4295,7 @@
  
      return ff_rac_terminate(c);
  }
@@ -451,7 +441,7 @@
  
  static void common_end(SnowContext *s){
      int plane_index, level, orientation, i;
-@@ -4413,6 +4421,7 @@
+@@ -4319,6 +4327,7 @@
      }
  }
  
@@ -459,7 +449,7 @@
  static int encode_end(AVCodecContext *avctx)
  {
      SnowContext *s = avctx->priv_data;
-@@ -4422,6 +4431,7 @@
+@@ -4328,6 +4337,7 @@
  
      return 0;
  }
@@ -467,12 +457,22 @@
  
  static int decode_init(AVCodecContext *avctx)
  {
-
---- /home/melanson/projects/ffmpeg/libavutil/common.h  2006-08-01 
20:03:31.000000000 -0700
-+++ libavutil/./common.h       2006-08-01 21:18:45.000000000 -0700
-@@ -358,4 +358,16 @@
- void *av_realloc(void *ptr, unsigned int size);
- void av_free(void *ptr);
+Index: libavutil/common.h
+===================================================================
+--- libavutil/common.h (revision 7221)
++++ libavutil/common.h (working copy)
+@@ -375,7 +375,7 @@
+         );
+         return (d << 32) | (a & 0xffffffff);
+ }
+-#elif defined(ARCH_X86_32)
++#elif defined(ARCH_X86)
+ static inline long long read_time(void)
+ {
+         long long l;
+@@ -446,4 +446,23 @@
+ char *av_strdup(const char *s);
+ void av_freep(void *ptr);
  
 +/* xine: inline causes trouble for debug compiling */
 +#ifdef DISABLE_INLINE
@@ -486,15 +486,19 @@
 +# define always_inline
 +#endif
 +
++/* xine: define ASMALIGN here since it's cleaner that generating it in the 
configure */
++#if HAVE_ASMALIGN_POT
++# define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"
++#else
++# define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"
++#endif
++
  #endif /* COMMON_H */
 Index: libavutil/integer.c
 ===================================================================
-RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavutil/integer.c,v
-retrieving revision 1.2
-diff -u -p -r1.2 integer.c
---- libavutil/integer.c        2 Aug 2006 07:12:57 -0000       1.2
-+++ libavutil/integer.c        13 Sep 2006 21:05:42 -0000
-@@ -124,8 +124,8 @@ AVInteger av_mod_i(AVInteger *quot, AVIn
+--- libavutil/integer.c        (revision 7221)
++++ libavutil/integer.c        (working copy)
+@@ -126,8 +126,8 @@
      AVInteger quot_temp;
      if(!quot) quot = &quot_temp;
  
@@ -507,21 +511,39 @@
          b= av_shr_i(b, -i);
 Index: libavutil/internal.h
 ===================================================================
-RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/libavutil/internal.h,v
-retrieving revision 1.1
-diff -u -p -r1.1 internal.h
---- libavutil/internal.h       2 Aug 2006 07:39:20 -0000       1.1
-+++ libavutil/internal.h       13 Sep 2006 21:05:42 -0000
-@@ -87,7 +87,11 @@
+--- libavutil/internal.h       (revision 7221)
++++ libavutil/internal.h       (working copy)
+@@ -93,11 +93,15 @@
+ #include <assert.h>
  
  /* dprintf macros */
- #    ifdef DEBUG
--#        define dprintf(fmt,...) av_log(NULL, AV_LOG_DEBUG, fmt, __VA_ARGS__)
+-#ifdef DEBUG
+-#    define dprintf(fmt,...) av_log(NULL, AV_LOG_DEBUG, fmt, __VA_ARGS__)
+-#else
+-#    define dprintf(fmt,...)
+-#endif
++#    ifdef DEBUG
 +#        ifdef __GNUC__
 +#            define dprintf(fmt,args...) av_log(NULL, AV_LOG_DEBUG, fmt, 
##args)
 +#        else
 +#            define dprintf(fmt,...) av_log(NULL, AV_LOG_DEBUG, fmt, 
__VA_ARGS__)
 +#        endif
- #    else
- #        define dprintf(fmt,...)
- #    endif
++#    else
++#        define dprintf(fmt,...)
++#    endif
+ 
+ #define av_abort()      do { av_log(NULL, AV_LOG_ERROR, "Abort at %s:%d\n", 
__FILE__, __LINE__); abort(); } while (0)
+ 
+Index: libavcodec/mlib/dsputil_mlib.c
+===================================================================
+--- libavcodec/mlib/dsputil_mlib.c     (revision 7221)
++++ libavcodec/mlib/dsputil_mlib.c     (working copy)
+@@ -22,6 +22,8 @@
+ #include "../dsputil.h"
+ #include "../mpegvideo.h"
+ 
++#include "../../../xine-utils/xineutils.h"
++
+ #include <mlib_types.h>
+ #include <mlib_status.h>
+ #include <mlib_sys.h>

Index: dvaudio_decoder.c
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/dvaudio_decoder.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- dvaudio_decoder.c   10 Jul 2006 22:08:29 -0000      1.11
+++ dvaudio_decoder.c   4 Dec 2006 22:25:13 -0000       1.12
@@ -97,22 +97,6 @@
 } dvaudio_decoder_t;
 
 
-enum dv_pack_type {
-     dv_header525     = 0x3f, /* see dv_write_pack for important details on */
-     dv_header625     = 0xbf, /* these two packs */
-     dv_timecode      = 0x13,
-     dv_audio_source  = 0x50,
-     dv_audio_control = 0x51,
-     dv_audio_recdate = 0x52,
-     dv_audio_rectime = 0x53,
-     dv_video_source  = 0x60,
-     dv_video_control = 0x61,
-     dv_viedo_recdate = 0x62,
-     dv_video_rectime = 0x63,
-     dv_unknown_pack  = 0xff,
-};
-
-
 /*
  * This is the dumbest implementation of all -- it simply looks at
  * a fixed offset and if pack isn't there -- fails. We might want

Index: xine_decoder.c
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/libffmpeg/xine_decoder.c,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -r1.171 -r1.172
--- xine_decoder.c      11 Oct 2006 12:53:12 -0000      1.171
+++ xine_decoder.c      4 Dec 2006 22:25:13 -0000       1.172
@@ -108,8 +108,8 @@
     register_avcodec(&vmdvideo_decoder);
     register_avcodec(&vmdaudio_decoder);
     register_avcodec(&truemotion1_decoder);
-    register_avcodec(&mszh_decoder);
-    register_avcodec(&zlib_decoder);
+    //register_avcodec(&mszh_decoder);
+    //register_avcodec(&zlib_decoder);
     register_avcodec(&xan_dpcm_decoder);
     register_avcodec(&asv1_decoder);
     register_avcodec(&asv2_decoder);
@@ -142,7 +142,7 @@
     register_avcodec(&nuv_decoder);
     register_avcodec(&kmvc_decoder);
     register_avcodec(&flashsv_decoder);
-    register_avcodec(&cavs_decoder);
+    //register_avcodec(&cavs_decoder);
     register_avcodec(&cook_decoder);
     register_avcodec(&truespeech_decoder);
     register_avcodec(&tta_decoder);


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Xine-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xine-cvslog

Reply via email to