[Sumover-dev] [svn commit] r4358 - vic/branches/mpeg4/video

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Fri Jan 23 13:21:05 GMT 2009


Author: douglask
Date: Fri Jan 23 13:20:49 2009
New Revision: 4358

Modified:
   vic/branches/mpeg4/video/yuv_convert.cpp

Log:
Fixed YUV conversion routines that added padding.

Modified: vic/branches/mpeg4/video/yuv_convert.cpp
==============================================================================
--- vic/branches/mpeg4/video/yuv_convert.cpp	(original)
+++ vic/branches/mpeg4/video/yuv_convert.cpp	Fri Jan 23 13:20:49 2009
@@ -40,7 +40,13 @@
 #include "yuv_convert.h"
 #include <string.h>
 #include <stdio.h>
+
+#if defined(_WIN32) || defined(_WIN64) 
+#define BYTE_ORDER 1
+#define LITTLE_ENDIAN 1
+#else
 #include <endian.h>
+#endif
 
 //
 //  planarYUYV422_to_planarYUYV422
@@ -85,14 +91,14 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += leftPad;
-	memcpy(dest, src, srcWidth);
+	memcpy(dest, srca, srcWidth);
 	dest += srcWidth + rightPad;
 	srca += srcWidth;
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += leftClip;
-	memcpy(dest, src, destWidth);
+	memcpy(dest, srca, destWidth);
 	dest += destWidth;
 	srca += destWidth + rightClip;
       }
@@ -113,14 +119,14 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 	srca += (srcWidth >> 1);
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += (leftClip >> 1);
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 	srca += ((destWidth + rightClip) >> 1);
       }
@@ -140,21 +146,21 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 	srca += (srcWidth >> 1);
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += (leftClip >> 1);
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 	srca += ((destWidth + rightClip) >> 1);
       }
     }
     // no actions needed for final down padding
   } else { // sizes all the same, so can just copy data
-    memcpy(dest, src, (size_t) ((destHeight * destWidth) << 1));
+    memcpy(dest, srca, (size_t) ((destHeight * destWidth) << 1));
   }
   return true;
 }
@@ -209,14 +215,14 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += leftPad;
-	memcpy(dest, src, srcWidth);
+	memcpy(dest, srca, srcWidth);
 	dest += srcWidth + rightPad;
 	srca += srcWidth;
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += leftClip;
-	memcpy(dest, src, destWidth);
+	memcpy(dest, srca, destWidth);
 	dest += destWidth;
 	srca += destWidth + rightClip;
       }
@@ -302,7 +308,7 @@
     dstv = dstu + ((destHeight * destWidth) >> 2);
 
     // copy the y
-    memcpy(dest, src, (size_t) destHeight * destWidth);
+    memcpy(dest, srca, (size_t) destHeight * destWidth);
     // copy the u and v, downsampling by 2
     for (i = (destHeight >> 1); i > 0; --i) {
       // even lines get all the chroma information
@@ -367,14 +373,14 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += leftPad;
-	memcpy(dest, src, srcWidth);
+	memcpy(dest, srca, srcWidth);
 	dest += srcWidth + rightPad;
 	srca += srcWidth;
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += leftClip;
-	memcpy(dest, src, destWidth);
+	memcpy(dest, srca, destWidth);
 	dest += destWidth;
 	srca += destWidth + rightClip;
       }
@@ -396,11 +402,11 @@
       for (i = 0; i < rows; i += 2) {
 	// source information is every-other row, so double each line
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 
 	srca += (srcWidth >> 1);
@@ -410,10 +416,10 @@
 	srca += (leftClip >> 1);
 
 	// source information is every-other row, so double each line
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 
 	srca += ((destWidth + rightClip) >> 1);
@@ -435,11 +441,11 @@
       for (i = 0; i < rows; i += 2) {
 	// source information is every-other row, so double each line
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 
 	dest += (leftPad >> 1);
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += ((srcWidth + rightPad) >> 1);
 
 	srca += (srcWidth >> 1);
@@ -449,10 +455,10 @@
 	srca += (leftClip >> 1);
 
 	// source information is every-other row, so double each line
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 
 	srca += ((destWidth + rightClip) >> 1);
@@ -460,15 +466,15 @@
     }
     // no actions needed for final down padding
   } else { // sizes all the same, so can just copy data
-    memcpy(dest, src, (size_t) (destHeight * destWidth)); // copy y
+    memcpy(dest, srca, (size_t) (destHeight * destWidth)); // copy y
     dest += destHeight * destWidth;
     srca += destHeight * destWidth;
 
     // copy u and v information, doubling each row
     for (int i = 0; i < destHeight; i += 2) {
-      memcpy(dest, src, (size_t) (destWidth >> 1)); // 1st copy to dest
+      memcpy(dest, srca, (size_t) (destWidth >> 1)); // 1st copy to dest
       dest += destWidth >> 1;
-      memcpy(dest, src, (size_t) (destWidth >> 1)); // 2nd copy to dest
+      memcpy(dest, srca, (size_t) (destWidth >> 1)); // 2nd copy to dest
       dest += destWidth >> 1;
       srca += destWidth >> 1;
     }
@@ -526,14 +532,14 @@
     if (leftPad != 0 || rightPad != 0) { // if padding necessary on destination
       for (i = 0; i < rows; ++i) {
 	dest += leftPad;
-	memcpy(dest, src, srcWidth);
+	memcpy(dest, srca, srcWidth);
 	dest += srcWidth + rightPad;
 	srca += srcWidth;
       }
     } else { // if clipping necessary on source
       for (i = 0; i < rows; ++i) {
 	srca += leftClip;
-	memcpy(dest, src, destWidth);
+	memcpy(dest, srca, destWidth);
 	dest += destWidth;
 	srca += destWidth + rightClip;
       }
@@ -554,7 +560,7 @@
       for (i = 0; i < (rows >> 1); i++) {
 	dest += (leftPad >> 1);
 
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += (srcWidth >> 1);
 	srca += (srcWidth >> 1);
 
@@ -564,7 +570,7 @@
       for (i = 0; i < (rows >> 1); i++) {
 	srca += (leftClip >> 1);
 
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 	srca += (destWidth >> 1);
 
@@ -587,7 +593,7 @@
       for (i = 0; i < (rows >> 1); i++) {
 	dest += (leftPad >> 1);
 
-	memcpy(dest, src, (srcWidth >> 1));
+	memcpy(dest, srca, (srcWidth >> 1));
 	dest += (srcWidth >> 1);
 	srca += (srcWidth >> 1);
 
@@ -597,7 +603,7 @@
       for (i = 0; i < (rows >> 1); i++) {
 	srca += (leftClip >> 1);
 
-	memcpy(dest, src, (destWidth >> 1));
+	memcpy(dest, srca, (destWidth >> 1));
 	dest += (destWidth >> 1);
 	srca += (destWidth >> 1);
 
@@ -607,7 +613,7 @@
     // no actions needed for final down padding
   } else {
     // copy the y (w*h), u (w*h*0.25), and v (w*h*0.25), for a total of (w*h*1.5)
-    memcpy(dest, src,
+    memcpy(dest, srca,
 	   (size_t) destHeight * destWidth + ((destHeight * destWidth) >> 1));
   }
   return true;



More information about the Sumover-dev mailing list