diff -ur avi-xmms-1.2.3/include/com.h avi-xmms-1.2.3~/include/com.h
--- avi-xmms-1.2.3/include/com.h	2000-12-08 14:05:32.000000000 -0600
+++ include/com.h	2002-11-30 02:41:01.000000000 -0600
@@ -24,7 +24,7 @@
 int RegisterComClass(GUID* clsid, GETCLASSOBJECT gcs);
 
 #ifndef STDCALL
-#define STDCALL __attribute__((__stdcall__))	
+#define STDCALL
 #endif
 
 struct IUnknown;
@@ -60,4 +60,4 @@
 };
 #endif
 
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/include/infotypes.h avi-xmms-1.2.3~/include/infotypes.h
--- avi-xmms-1.2.3/include/infotypes.h	2000-12-18 02:46:08.000000000 -0600
+++ include/infotypes.h	2002-11-30 02:44:24.000000000 -0600
@@ -40,13 +40,13 @@
     std::string dll;
     enum Kind {Win32, Source, Plugin, DShow_Dec};
     Kind kind;
-    vector<AttributeInfo> decoder_info;
-    vector<AttributeInfo> encoder_info;
+    std::vector<AttributeInfo> decoder_info;
+    std::vector<AttributeInfo> encoder_info;
     GUID* guid;
     CodecInfo(){}
     CodecInfo(int* array, const char* info, const char* path, const char* a,
-     Kind _kind, GUID* id=0, const vector<AttributeInfo>& ei=vector<AttributeInfo>(), 
-     const vector<AttributeInfo>& di=vector<AttributeInfo>())
+	      Kind _kind, GUID* id=0, const std::vector<AttributeInfo>& ei=std::vector<AttributeInfo>(), 
+	      const std::vector<AttributeInfo>& di=std::vector<AttributeInfo>())
 	:kind(_kind), dll(path), text(info), about(a), fourcc(array[0]), decoder_info(di), encoder_info(ei), guid(id)
     {
 	if(!*array) // uncompressed codec
@@ -71,4 +71,4 @@
     BITMAPINFOHEADER header;
 };    
 
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/lib/avifile/AVIReadHandler.cpp avi-xmms-1.2.3~/lib/avifile/AVIReadHandler.cpp
--- avi-xmms-1.2.3/lib/avifile/AVIReadHandler.cpp	2000-11-26 23:08:44.000000000 -0600
+++ lib/avifile/AVIReadHandler.cpp	2002-11-30 04:10:23.000000000 -0600
@@ -255,7 +255,7 @@
 
 
 class AVIReadStream : public IvAVIReadStream, public ListNode2<AVIReadStream> {
-	friend AVIReadHandler;
+	friend class AVIReadHandler;
 
 public:
 	AVIReadStream(AVIReadHandler *, AVIStreamNode *, int);
@@ -987,7 +987,7 @@
 
		int hdrSize;
 		switch(fccType) {
 		case ckidAVIMAINHDR:
-			hdrSize=min(dwLength, sizeof(m_header));
+		  hdrSize= (dwLength < sizeof(m_header)) ? dwLength : sizeof(m_header);
 			_readFile2(&m_header, hdrSize);
 //			printf("Found main header, size %d\n", hdrSize);
 			dwLength-=hdrSize;
@@ -1109,7 +1109,7 @@
 			__int64 cpos=_posFile();
 			while(cpos/(i64FileSize/10)>progress)
 			{
-			    cerr<<".";
+			  std::cerr<<".";
 			    progress++;
 			}    
 			
@@ -1154,7 +1154,7 @@
 //			pd.advance((long)((_posFile() - i64ChunkMoviPos)/1024));
 //			pd.check();
 		}
-		cerr<<endl;
+		std::cerr<<std::endl;
 
 	}
 
diff -ur avi-xmms-1.2.3/lib/avifile/AVIReadHandler2.cpp avi-xmms-1.2.3~/lib/avifile/AVIReadHandler2.cpp
--- avi-xmms-1.2.3/lib/avifile/AVIReadHandler2.cpp	2001-01-10 12:01:12.000000000 -0600
+++ lib/avifile/AVIReadHandler2.cpp	2002-11-30 04:11:36.000000000 -0600
@@ -456,7 +456,7 @@
 ///////////////////////////////////////////////////////////////////////////
 
 class AVIReadStream2 : public IvAVIReadStream {
-	friend AVIReadHandler2;
+	friend class AVIReadHandler2;
 
 public:
 	AVIReadStream2(AVIReadHandler2 *, ASFStreamNode *, int);
diff -ur avi-xmms-1.2.3/lib/avifile/AviRead.cpp avi-xmms-1.2.3~/lib/avifile/AviRead.cpp
--- avi-xmms-1.2.3/lib/avifile/AviRead.cpp	2001-01-19 23:17:27.000000000 -0600
+++ lib/avifile/AviRead.cpp	2002-11-30 04:13:42.000000000 -0600
@@ -104,12 +104,12 @@
     return pos;
 }
 
-Unsigned AviReadStream::GetNextKeyFrame(int frame=-1) const
+Unsigned AviReadStream::GetNextKeyFrame(int frame) const
 {
     if(m_pIStream==0)return 0;
     return m_pIStream->NextKeyFrame((frame<0)?(int)m_sample:frame);
 }    
-Unsigned AviReadStream::GetPrevKeyFrame(int frame=-1) const
+Unsigned AviReadStream::GetPrevKeyFrame(int frame) const
 {
     if(m_pIStream==0)return 0;
     if(frame==0)return 0;
diff -ur avi-xmms-1.2.3/lib/avifile/AviSegWrite.cpp avi-xmms-1.2.3~/lib/avifile/AviSegWrite.cpp
--- avi-xmms-1.2.3/lib/avifile/AviSegWrite.cpp	2000-10-03 01:44:42.000000000 -0500
+++ lib/avifile/AviSegWrite.cpp	2002-11-30 04:19:12.000000000 -0600
@@ -1,5 +1,5 @@
 #include "AviSegWrite.h"
-IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
+IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit, int flags, int mask)
 {
     return new AviSegWriteFile(name, flimit, flags, mask);
 }
@@ -65,7 +65,7 @@
     return str.vstream;
 }
 IAviAudioWriteStream* AviSegWriteFile::AddAudioStream(int fourcc, 
-	WAVEFORMATEX* fmt, int bitrate, int flags=0)
+	WAVEFORMATEX* fmt, int bitrate, int flags)
 {
     if(!fmt)return 0;
     streaminfo str;
@@ -85,7 +85,7 @@
 IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type,
 	const char* format, Unsigned format_size,
 	int handler, int frame_rate,
-	int samplesize=0, int quality=0, int flags=0)
+	int samplesize, int quality, int flags)
 
 //IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type)
 {
@@ -120,7 +120,7 @@
 {
     if(_format)delete _format;
 }
-AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
+AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit, int flags, int mask)
     :_name(name), m_lFlimit(flimit), _flags(flags), _mask(mask), _size(0LL)
 {
     rf=new AviWriteFile(name, flags, mask);
@@ -134,7 +134,7 @@
 	    delete it->format;
 }
 
-HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
+HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
 {	
     HRESULT result=m_pStream->AddChunk(chunk, size, flags);
     if(m_pFile->rf->FileSize()>m_pFile->m_lFlimit)
diff -ur avi-xmms-1.2.3/lib/avifile/AviWrite.cpp avi-xmms-1.2.3~/lib/avifile/AviWrite.cpp
--- avi-xmms-1.2.3/lib/avifile/AviWrite.cpp	2000-12-01 05:13:53.000000000 -0600
+++ lib/avifile/AviWrite.cpp	2002-11-30 04:16:00.000000000 -0600
@@ -45,7 +45,7 @@
 IAviWriteStream* AviWriteFile::AddStream(AviStream::StreamType type,
 	const char* format, Unsigned format_size,
 	int handler, int frame_rate,
-	int samplesize=0, int quality=0, int flags=0)
+	int samplesize, int quality, int flags)
 {
     int ckid;
     ckid=MAKEAVICKID((type==AviWriteStream::Video)?cktypeDIBcompressed:cktypeWAVEbytes, m_streams.size());
@@ -73,7 +73,7 @@
     return result;
 }
 IAviAudioWriteStream* AviWriteFile::AddAudioStream(int fourcc, 
-	WAVEFORMATEX* fmt, int bitrate, int flags=0)
+	WAVEFORMATEX* fmt, int bitrate, int flags)
 {
     int ckid;
     ckid=MAKEAVICKID(cktypeWAVEbytes, m_streams.size());
@@ -134,7 +134,7 @@
     m_status=0;
     return;
 }
-void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags=0)
+void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags)
 {
 //    m_index=(AVIINDEXENTRY*)realloc(m_index, (m_indsize+1)*sizeof(AVIINDEXENTRY));
     AVIINDEXENTRY entry;
@@ -164,7 +164,7 @@
         enum AviStream::StreamType type,
 	const char* format, Unsigned format_size,
 	int handler, int frame_rate,
-	int samplesize=0, int quality=0, int flags=0)
+	int samplesize, int quality, int flags)
 	
 	:m_file(file), m_ckid(ckid)
 {
@@ -207,7 +207,7 @@
 }
 AviWriteStream::AviWriteStream(AviWriteFile* file, int ckid,
     enum AviStream::StreamType type,
-    int handler, int frame_rate, int flags=0)
+    int handler, int frame_rate, int flags)
 	:m_file(file), m_ckid(ckid), m_format(0)
 {
     m_fd=file->m_fd;
@@ -243,7 +243,7 @@
 }
 
 
-HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
+HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
 {
     if((chunk==0) && (size!=0))
     {
@@ -280,7 +280,7 @@
 IAviVideoWriteStream::~IAviVideoWriteStream(){}
 IAviWriteFile::~IAviWriteFile(){}
 
-IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask=00777)
+IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask)
 {
     return new AviWriteFile(name, flags, mask);
 }    
diff -ur avi-xmms-1.2.3/lib/avifile/List.h avi-xmms-1.2.3~/lib/avifile/List.h
--- avi-xmms-1.2.3/lib/avifile/List.h	2000-11-26 11:43:55.000000000 -0600
+++ lib/avifile/List.h	2002-11-30 04:07:10.000000000 -0600
@@ -78,7 +78,7 @@
 
 template<class T>
 class ListNode2 : public ListNode {
-friend List2<T>;
+friend class List2<T>;
 public:
 	ListNode2<T>() {}
 	ListNode2<T>(void *pv) : ListNode(pv) {}
diff -ur avi-xmms-1.2.3/lib/aviplay/aviutil.cpp avi-xmms-1.2.3~/lib/aviplay/aviutil.cpp
--- avi-xmms-1.2.3/lib/aviplay/aviutil.cpp	2000-11-29 07:16:09.000000000 -0600
+++ lib/aviplay/aviutil.cpp	2002-11-30 04:43:25.000000000 -0600
@@ -6,6 +6,7 @@
 #include <wine/winreg.h>
 #include <stdio.h>
 #include <string.h>
+#include <string>
 #include <ctype.h>
 #include <default.h>
 
@@ -139,7 +141,7 @@
 		continue;
 		
 	}
-        cout<<"Available CPU flags: "<<flags<<endl;	
+	fprintf(stdout, "Available CPU flags: %s\n", flags);	
 	if(strstr(flags, "tsc")==0)
 	    have_tsc=0;
 	else
@@ -162,30 +164,30 @@
 	
 	if(freq<0)freq=old_freq();
 	if(have_tsc)
-	    cout<<freq/1000.<<" MHz "<<model<<" processor detected"<<endl; 
+	  fprintf(stdout, "%f MHz %s processor detected", freq/1000, model);
 	fclose(f);
 }
 
 CPU_Info freq;
 
-int Registry::WriteInt(string appname, string valname, int value)
+int Registry::WriteInt(std::string appname, std::string valname, int value)
 {
-    return WriteData(appname, valname, &value, 4);
+  return WriteData(appname, valname, &value, 4);
 }
 
-int Registry::ReadInt(string appname, string valname, int def_value)
+int Registry::ReadInt(std::string appname, std::string valname, int def_value)
 {
-    int res=def_value;
-    if(ReadData(appname, valname, &res, 4)!=0)
-	WriteInt(appname, valname, def_value);
-    return res;
+  int res=def_value;
+  if(ReadData(appname, valname, &res, 4)!=0)
+    WriteInt(appname, valname, def_value);
+  return res;
 }
-int Registry::WriteFloat(string appname, string valname, float value)
+int Registry::WriteFloat(std::string appname, std::string valname, float value)
 {
     return WriteData(appname, valname, &value, 4);
 }
 
-float Registry::ReadFloat(string appname, string valname, float def_value)
+float Registry::ReadFloat(std::string appname, std::string valname, float def_value)
 {
     float res=def_value;
     if(ReadData(appname, valname, &res, 4)!=0)
@@ -193,12 +195,12 @@
     return res;
 }
 
-int Registry::WriteString(string appname, string valname, string value)
+int Registry::WriteString(std::string appname, std::string valname, std::string value)
 {
     return WriteData(appname, valname, value.c_str(), value.length()+1);
 }
 
-string Registry::ReadString(string appname, string valname, string def_value)
+std::string Registry::ReadString(std::string appname, std::string valname, std::string def_value)
 {
     char name[256];
     int result=ReadData(appname, valname, name, 256);
@@ -208,14 +210,14 @@
 	return def_value;
     }	
     name[255]=0;
-    return string(name);
+    return std::string(name);
 }
 
-int Registry::WriteData(string appname, string valname, const void* data, int size)
+int Registry::WriteData(std::string appname, std::string valname, const void* data, int size)
 {
     int result, status, newkey;
 //    cerr<<appname<<" "<<valname<<endl;
-    string fullname=string("Software\\Registry\\")+appname;
+    std::string fullname=std::string("Software\\Registry\\")+appname;
 //    cerr<<fullname<<" qqq"<<endl;
     result=RegCreateKeyExA(HKEY_CURRENT_USER, fullname.c_str(), 0, 0, 0, 0, 0,
 	&newkey, &status);
@@ -226,12 +228,12 @@
     return 0;
 }
 
-int Registry::ReadData(string appname, string valname, void* data, int size)
+int Registry::ReadData(std::string appname, std::string valname, void* data, int size)
 {
     int result, status, newkey;
     if(!data)return -1;
 //    cerr<<appname<<" "<<valname<<endl;
-    string fullname=string("Software\\Registry\\");
+    std::string fullname=std::string("Software\\Registry\\");
 //    cerr<<fullname<<" zzz"<<endl;
     fullname+=appname;
 //    cerr<<fullname<<" zzz"<<endl;
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/DS_VideoDecoder.cpp avi-xmms-1.2.3~/lib/videocodec/DirectShow/DS_VideoDecoder.cpp
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/DS_VideoDecoder.cpp	2001-01-19 15:00:54.000000000 -0600
+++ lib/videocodec/DirectShow/DS_VideoDecoder.cpp	2002-11-30 02:45:22.000000000 -0600
@@ -368,7 +368,7 @@
 
     return 0;
 }
-int DS_VideoDecoder::SetDestFmt(int bits=24, int csp=0)
+int DS_VideoDecoder::SetDestFmt(int bits, int csp)
 {
     if(m_iState==0)
 	return -1;
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/DS_VideoDecoder.h avi-xmms-1.2.3~/lib/videocodec/DirectShow/DS_VideoDecoder.h
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/DS_VideoDecoder.h	2000-12-20 18:34:19.000000000 -0600
+++ lib/videocodec/DirectShow/DS_VideoDecoder.h	2002-11-30 02:44:40.000000000 -0600
@@ -18,7 +18,7 @@
 	}
 	catch(FatalError& error)
 	{
-	    cerr<<"~DS_VideoDecoder(): ";
+	  std::cerr<<"~DS_VideoDecoder(): ";
 	    error.Print();
 	} 
 	if(m_outFrame)delete m_outFrame;   
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/allocator.h avi-xmms-1.2.3~/lib/videocodec/DirectShow/allocator.h
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/allocator.h	2000-12-25 15:03:00.000000000 -0600
+++ lib/videocodec/DirectShow/allocator.h	2002-11-30 02:35:28.000000000 -0600
@@ -44,4 +44,4 @@
         /* [in] */ IMediaSample *pBuffer);
 };
 
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/cmediasample.h avi-xmms-1.2.3~/lib/videocodec/DirectShow/cmediasample.h
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/cmediasample.h	2000-12-16 01:46:01.000000000 -0600
+++ lib/videocodec/DirectShow/cmediasample.h	2002-11-30 02:35:30.000000000 -0600
@@ -92,4 +92,4 @@
         /* [in] */ LONGLONG *pTimeStart,
         /* [in] */ LONGLONG *pTimeEnd);    
 };
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/iunk.h avi-xmms-1.2.3~/lib/videocodec/DirectShow/iunk.h
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/iunk.h	2000-12-25 15:03:04.000000000 -0600
+++ lib/videocodec/DirectShow/iunk.h	2002-11-30 02:19:47.000000000 -0600
@@ -42,4 +42,4 @@
     return 0; 					\
 }
 
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/lib/videocodec/DirectShow/outputpin.h avi-xmms-1.2.3~/lib/videocodec/DirectShow/outputpin.h
--- avi-xmms-1.2.3/lib/videocodec/DirectShow/outputpin.h	2001-01-19 15:02:14.000000000 -0600
+++ lib/videocodec/DirectShow/outputpin.h	2002-11-30 02:35:24.000000000 -0600
@@ -116,4 +116,4 @@
     static HRESULT STDCALL ReceiveCanBlock(
             IMemInputPin * This) ;
 };
-#endif
\ No newline at end of file
+#endif
diff -ur avi-xmms-1.2.3/lib/videocodec/VideoDecoder.cpp avi-xmms-1.2.3~/lib/videocodec/VideoDecoder.cpp
--- avi-xmms-1.2.3/lib/videocodec/VideoDecoder.cpp	2001-02-03 23:19:47.000000000 -0600
+++ lib/videocodec/VideoDecoder.cpp	2002-11-30 02:46:54.000000000 -0600
@@ -44,7 +44,7 @@
     void clear(){handle=0;}
 };
 
-IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth=24, int flip=0)
+IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth, int flip)
 {
     vector<CodecInfo>::iterator it;
     vector<int>::iterator iv;
@@ -327,7 +327,7 @@
 	}    
 	return 0;
 }
-int VideoDecoder::SetDestFmt(int bits=24, int csp=0)
+int VideoDecoder::SetDestFmt(int bits, int csp)
 {
     if(m_iState==0)
 	return -1;
diff -ur avi-xmms-1.2.3/lib/videocodec/codeckeeper.cpp avi-xmms-1.2.3~/lib/videocodec/codeckeeper.cpp
--- avi-xmms-1.2.3/lib/videocodec/codeckeeper.cpp	2001-02-03 23:37:51.000000000 -0600
+++ lib/videocodec/codeckeeper.cpp	2002-11-30 04:05:42.000000000 -0600
@@ -253,20 +253,19 @@
     }	    
 }
 
-const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start=0)
+const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start)
 {
-    vector<CodecInfo>::const_iterator it;
-    if(start==0)
-	it=video_codecs.begin();
-    else
-	it=start;
-    vector<int>::const_iterator iv;
+  std::vector<CodecInfo>::const_iterator it = video_codecs.begin();
+  if (start)
+    it = std::vector<CodecInfo>::const_iterator(start);
+  
+  std::vector<int>::const_iterator iv;
     for(; it!=video_codecs.end(); it++)
     {
-	if(start && (it==start))continue;	
+      if(start && (&(*it)==start))continue;	
 	for(iv=it->fourcc_array.begin(); iv!=it->fourcc_array.end(); iv++)
 	    if(codec==(*iv))
-		return (const CodecInfo*)it;
+	      return &(*it);
     }
     return 0;
 }
diff -ur avi-xmms-1.2.3/lib/videocodec/image.cpp avi-xmms-1.2.3~/lib/videocodec/image.cpp
--- avi-xmms-1.2.3/lib/videocodec/image.cpp	2001-01-27 11:46:37.000000000 -0600
+++ lib/videocodec/image.cpp	2002-11-30 02:50:26.000000000 -0600
@@ -27,7 +27,7 @@
     _width=abs(_info->biWidth);
     _height=abs(_info->biHeight);
 }
-CImage::CImage(const BitmapInfo* header, unsigned char* data=0, bool copy=true)
+CImage::CImage(const BitmapInfo* header, unsigned char* data, bool copy)
     :_info(new BitmapInfo(header)),_refcount(1)
 {
     fill_members();
@@ -57,7 +57,7 @@
     register_image();
 }
 
-CImage::CImage(const CImage* im, int depth=-1)
+CImage::CImage(const CImage* im, int depth)
     :_info(new BitmapInfo(im->get_fmt())), _refcount(1)
 {
     if(depth!=-1)
@@ -208,7 +208,7 @@
 {
 	return (int(b)<<16)+(int(g)<<8)+int(r);
 }
-void CImage::ToYUV(int destfmt=0)
+void CImage::ToYUV(int destfmt)
 {
     struct yuv* src;
     src=(struct yuv*)_data+_width*_height-1;
@@ -431,7 +431,7 @@
 		return;    
 	    }
     }
-    cerr<<"Unsupported"<<endl;
+    std::cerr<<"Unsupported"<< std::endl;
 }
 BitmapInfo* CImage::get_fmt(){return _info;}
 const BitmapInfo* CImage::get_fmt() const{return _info;}
