[Mplayer-cvslog] CVS: main cfg-mplayer.h,1.66,1.67 mplayer.c,1.172,1.173

Atmosfear atmos4 at mplayer.dev.hu
Sat Jul 7 11:53:50 CEST 2001


Update of /cvsroot/mplayer/main
In directory mplayer:/var/tmp.root/cvs-serv13224

Modified Files:
	cfg-mplayer.h mplayer.c 
Log Message:
Replaced LGBs video codec forcing change with mine for audio and video codecs, which is IMHO more convenient cause codecs are selected by name instead of number, one unclearity is left to me, that's why audio_format is used once before codecs selection for MPEG_PS files, that's why I left -afm in  for that one.


Index: cfg-mplayer.h
===================================================================
RCS file: /cvsroot/mplayer/main/cfg-mplayer.h,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- cfg-mplayer.h	6 Jul 2001 21:17:22 -0000	1.66
+++ cfg-mplayer.h	7 Jul 2001 09:53:47 -0000	1.67
@@ -40,8 +40,6 @@
 extern char *mDisplayName;
 #endif
 
-extern int force_vcodec;
-
 struct config conf[]={
 	/* name, pointer, type, flags, min, max */
 	{"include", cfg_include, CONF_TYPE_FUNC_PARAM, 0, 0, 0}, /* this must be the first!!! */
@@ -57,7 +55,6 @@
 	{"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0},
 #endif
 	{"osdlevel", &osd_level, CONF_TYPE_INT, CONF_RANGE, 0, 2 },
-	{"vcodec", &force_vcodec, CONF_TYPE_INT, CONF_RANGE, 1, 5 },
 #ifdef HAVE_LIBCSS
         {"dvdauth", &dvd_auth_device, CONF_TYPE_STRING, 0, 0, 0},
         {"dvdkey", &dvdimportkey, CONF_TYPE_STRING, 0, 0, 0},
@@ -137,8 +134,10 @@
 	{"mc", &default_max_pts_correction, CONF_TYPE_FLOAT, CONF_RANGE, 0, 10},
 	{"fps", &force_fps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0},
 	{"srate", &force_srate, CONF_TYPE_INT, CONF_RANGE, 1000, 8*48000+1},
-	{"afm", &audio_format, CONF_TYPE_INT, CONF_RANGE, 1, 6},
-	{"dshow", &allow_dshow, CONF_TYPE_FLAG, 0, 0, 1},
+	{"afm", &audio_format, CONF_TYPE_INT, CONF_RANGE, 1, 6}, // This might be removed later - atmos ::
+	{"ac", &audio_codec, CONF_TYPE_STRING, 0, 0, 0},
+	{"vc", &video_codec, CONF_TYPE_STRING, 0, 0, 0},
+	{"dshow", &allow_dshow, CONF_TYPE_FLAG, 0, 0, 1}, // Is this still needed? atmos ::
 	{"nodshow", &allow_dshow, CONF_TYPE_FLAG, 0, 1, 0},
 	{"vcd", &vcd_track, CONF_TYPE_INT, CONF_RANGE, 1, 99},
 	{"divxq", "Option -divxq has been renamed to -pp (postprocessing), use -pp !\n",

Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -r1.172 -r1.173
--- mplayer.c	6 Jul 2001 21:17:22 -0000	1.172
+++ mplayer.c	7 Jul 2001 09:53:47 -0000	1.173
@@ -315,9 +315,9 @@
 int seek_to_byte=0;
 int has_audio=1;
 //int has_video=1;
-int audio_format=0; // override
-
-int force_vcodec=-1;
+char *audio_codec=NULL; // override audio codec
+char *video_codec=NULL; // override video codec
+int audio_format=0; // override - This might be removed - atmos ::
 
 #ifdef USE_DIRECTSHOW
 int allow_dshow=1;
@@ -777,6 +777,7 @@
   stream_reset(stream);
   demuxer=new_demuxer(stream,DEMUXER_TYPE_MPEG_PS,audio_id,video_id,dvdsub_id);
   stream_seek(demuxer->stream,seek_to_byte);
+  // Arpi? why is this extra and not in codec selection? - atmos ::
   if(audio_format) demuxer->audio->type=audio_format; // override audio format
   if(ds_fill_buffer(demuxer->video)){
     printf("Detected MPEG-PS file format!\n");
@@ -1144,8 +1145,8 @@
       has_audio=0;
       break;
     }
-    if(audio_format>0 && sh_audio->codec->driver!=audio_format) continue;
-    printf("Found audio codec: [%s] drv:%d (%s)\n",sh_audio->codec->name,sh_audio->codec->driver,sh_audio->codec->info);
+    if(audio_codec && strcmp(sh_audio->codec->name,audio_codec)) continue;
+    printf("%s audio codec: [%s] drv:%d (%s)\n",audio_codec?"Forcing":"Detected",sh_audio->codec->name,sh_audio->codec->driver,sh_audio->codec->info);
     //has_audio=sh_audio->codec->driver;
     break;
   }
@@ -1166,17 +1167,10 @@
 
 // Go through the codec.conf and find the best codec...
 sh_video->codec=NULL;
-if (force_vcodec!=-1) printf("Trying to use forced video codec driver %d ...\n",force_vcodec);
 while(1){
   sh_video->codec=find_codec(sh_video->format,
     sh_video->bih?((unsigned int*) &sh_video->bih->biCompression):NULL,sh_video->codec,0);
   if(!sh_video->codec){
-    if(force_vcodec!=-1) {
-      sh_video->codec=NULL; /* re-search */
-      printf("Can't find video codec for forced driver %d, defaulting to other drivers.\n",force_vcodec);
-      force_vcodec=-1;
-      continue;      
-    }
     printf("Can't find codec for video format 0x%X !\n",sh_video->format);
       printf("*** Try to upgrade %s from DOCS/codecs.conf\n",get_path("codecs.conf"));
       printf("*** If it's still not OK, then read DOCS/CODECS!\n");
@@ -1190,14 +1184,14 @@
     #endif
     exit(1);
   }
-  if(sh_video->codec->driver==force_vcodec) break;  /* OK, we find our codec */
-  if(force_vcodec!=-1&&sh_video->codec->driver!=force_vcodec) continue;
+  // is next line needed anymore? - atmos ::
   if(!allow_dshow && sh_video->codec->driver==4) continue; // skip DShow
+  else if(video_codec && strcmp(sh_video->codec->name,video_codec)) continue;
   break;
 }
 //has_video=sh_video->codec->driver;
 
-printf("Found video codec: [%s] drv:%d (%s)\n",sh_video->codec->name,sh_video->codec->driver,sh_video->codec->info);
+printf("%s video codec: [%s] drv:%d (%s)\n",video_codec?"Forcing":"Detected",sh_video->codec->name,sh_video->codec->driver,sh_video->codec->info);
 
 for(i=0;i<CODECS_MAX_OUTFMT;i++){
     int ret;
@@ -1317,7 +1311,7 @@
    if(verbose) printf("FFmpeg's libavcodec video codec\n");
     avcodec_init();
     avcodec_register_all();
-    lavc_codec = avcodec_find_decoder_by_name(sh_video->codec->dll);
+    lavc_codec = (AVCodec *)avcodec_find_decoder_by_name(sh_video->codec->dll);
     if(!lavc_codec){
 	fprintf(stderr,"Can't find codec '%s' in libavcodec...\n",sh_video->codec->dll);
 	exit(1);


_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog



More information about the MPlayer-cvslog mailing list