changeset 3810:007b3992c6b5

fixed RTjpeg and removed one memcpy
author alex
date Thu, 27 Dec 2001 23:05:01 +0000
parents 0a7e95f17d3c
children c2792c5b4f6e
files nuppelvideo.c
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/nuppelvideo.c	Thu Dec 27 22:42:28 2001 +0000
+++ b/nuppelvideo.c	Thu Dec 27 23:05:01 2001 +0000
@@ -13,6 +13,8 @@
 #include "config.h"
 #include "mp_msg.h"
 
+#include "fastmemcpy.h"
+
 #include "libmpdemux/nuppelvideo.h" 
 #include "RTjpegN.h"
 #include "minilzo.h"
@@ -29,8 +31,8 @@
 	static unsigned char *previous_buffer = 0;
 	static is_lzo_inited = 0;
 
-//	printf("NUV packet: frametype: %c comptype: %c\n",
-//	    encodedh->frametype, encodedh->comptype);
+//	printf("frametype: %c, comtype: %c, encoded_size: %d, width: %d, height: %d\n",
+//	    encodedh->frametype, encodedh->comptype, encoded_size, width, height);
 
 	switch(encodedh->frametype)
 	{
@@ -39,8 +41,9 @@
 		/* tables are in encoded */
 		if (encodedh->comptype == 'R')
 		{
-		    RTjpeg_init_decompress ( encoded, width, height );
-		    printf("Found RTjpeg tables\n");
+		    RTjpeg_init_decompress ( encoded+12, width, height );
+		    printf("Found RTjpeg tables (size: %d, width: %d, height: %d)\n",
+			encoded_size-12, width, height);
 		}
 		break;
 	    }
@@ -96,12 +99,12 @@
 			RTjpeg_decompressYUV420 ( ( __s8 * ) buffer, decoded );
 			break;
 		    case '3': /* raw YUV420 with LZO */
-			r = lzo1x_decompress ( encoded + 12, encodedh->packetlength, buffer, &out_len, NULL );
+			r = lzo1x_decompress ( encoded + 12, encodedh->packetlength, decoded, &out_len, NULL );
 			if ( r != LZO_E_OK ) 
 			{
 				printf ( "Error decompressing\n" );
 			}
-			memcpy(decoded, buffer, width*height*3/2);
+//			memcpy(decoded, buffer, width*height*3/2);
 			break;
 		    case 'N': /* black frame */
 			memset ( decoded, 0,  width * height );