changeset 10131:4385101cc89c

FFASV1
author michael
date Mon, 19 May 2003 13:40:50 +0000
parents e1deeb0c30e3
children c1b56a757f85
files etc/codecs.conf libmpcodecs/vd_ffmpeg.c libmpcodecs/ve_lavc.c
diffstat 3 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/etc/codecs.conf	Mon May 19 06:54:52 2003 +0000
+++ b/etc/codecs.conf	Mon May 19 13:40:50 2003 +0000
@@ -265,6 +265,14 @@
   out YUY2,422P,YV12
   out BGR32,BGR24
 
+videocodec ffasv1
+  info "ASUS V1"
+  status working
+  fourcc ASV1
+  driver ffmpeg
+  dll asv1
+  out YV12,I420,IYUV
+
 videocodec ffsvq1
   info "FFmpeg Sorenson Video v1"
   status working
--- a/libmpcodecs/vd_ffmpeg.c	Mon May 19 06:54:52 2003 +0000
+++ b/libmpcodecs/vd_ffmpeg.c	Mon May 19 13:40:50 2003 +0000
@@ -244,7 +244,9 @@
 	(sh->format == mmioFOURCC('M','4','S','2') ||
 	 sh->format == mmioFOURCC('M','P','4','S') ||
 	 sh->format == mmioFOURCC('H','F','Y','U') ||
-	 sh->format == mmioFOURCC('W','M','V','2')
+	 sh->format == mmioFOURCC('W','M','V','2') ||
+	 sh->format == mmioFOURCC('A','S','V','1') ||
+	 sh->format == mmioFOURCC('V','S','S','H')
          ))
     {
 	avctx->extradata_size = sh->bih->biSize-sizeof(BITMAPINFOHEADER);
--- a/libmpcodecs/ve_lavc.c	Mon May 19 06:54:52 2003 +0000
+++ b/libmpcodecs/ve_lavc.c	Mon May 19 13:40:50 2003 +0000
@@ -452,6 +452,9 @@
     {
 	printf("Using constant qscale = %d (VBR)\n", lavc_param_vqscale);
 	lavc_venc_context->flags |= CODEC_FLAG_QSCALE;
+#if LIBAVCODEC_BUILD >= 4668
+        lavc_venc_context->global_quality= FF_QUALITY_SCALE * lavc_param_vqscale;
+#endif
 	vf->priv->pic->quality = lavc_param_vqscale;
     }
 
@@ -640,6 +643,12 @@
 	memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+1000);
 	mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+1000;
     }
+    else if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "asv1"))
+    {
+	mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+8);
+	memset(mux_v->bih, 0, sizeof(BITMAPINFOHEADER)+8);
+	mux_v->bih->biSize=sizeof(BITMAPINFOHEADER)+8;
+    }
     else if (lavc_param_vcodec && !strcasecmp(lavc_param_vcodec, "wmv2"))
     {
 	mux_v->bih=malloc(sizeof(BITMAPINFOHEADER)+4);
@@ -682,6 +691,8 @@
 	mux_v->bih->biCompression = mmioFOURCC('W', 'M', 'V', '2');
     else if (!strcasecmp(lavc_param_vcodec, "huffyuv"))
 	mux_v->bih->biCompression = mmioFOURCC('H', 'F', 'Y', 'U');
+    else if (!strcasecmp(lavc_param_vcodec, "asv1"))
+	mux_v->bih->biCompression = mmioFOURCC('A', 'S', 'V', '1');
     else
 	mux_v->bih->biCompression = mmioFOURCC(lavc_param_vcodec[0],
 		lavc_param_vcodec[1], lavc_param_vcodec[2], lavc_param_vcodec[3]); /* FIXME!!! */