[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40765] trunk/blender/source/blender/ blenkernel/intern/writeffmpeg.c: patch [#27887] LOSSLESS RENDERING: HuffYUV and FFV1 both fail to render losslessly

Campbell Barton ideasman42 at gmail.com
Mon Oct 3 05:25:06 CEST 2011


Revision: 40765
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40765
Author:   campbellbarton
Date:     2011-10-03 03:25:05 +0000 (Mon, 03 Oct 2011)
Log Message:
-----------
patch [#27887] LOSSLESS RENDERING: HuffYUV and FFV1 both fail to render losslessly
from Troy Sobotka (sobotka)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c

Modified: trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2011-10-03 03:23:50 UTC (rev 40764)
+++ trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2011-10-03 03:25:05 UTC (rev 40765)
@@ -489,6 +489,12 @@
 		c->qmax=51;
 	}
 	
+	// Keep lossless encodes in the RGB domain.
+	if (codec_id == CODEC_ID_HUFFYUV || codec_id == CODEC_ID_FFV1) {
+		/* HUFFYUV was PIX_FMT_YUV422P before */
+		c->pix_fmt = PIX_FMT_RGB32;
+	}
+
 	if ((of->oformat->flags & AVFMT_GLOBALHEADER)
 //		|| !strcmp(of->oformat->name, "mp4")
 //	    || !strcmp(of->oformat->name, "mov")
@@ -518,8 +524,8 @@
 		return NULL;
 	}
 
-	video_buffersize = 2000000;
-	video_buffer = (uint8_t*)MEM_mallocN(video_buffersize, 
+	video_buffersize = avpicture_get_size(c->pix_fmt, c->width, c->height);
+	video_buffer = (uint8_t*)MEM_mallocN(video_buffersize*sizeof(uint8_t),
 						 "FFMPEG video buffer");
 	
 	current_frame = alloc_picture(c->pix_fmt, c->width, c->height);




More information about the Bf-blender-cvs mailing list