[xiph-commits] r14946 - trunk/theora-fpga/testbenchs/libtheora_tb/lib

piga at svn.xiph.org piga at svn.xiph.org
Fri May 23 07:33:38 PDT 2008


Author: piga
Date: 2008-05-23 07:33:36 -0700 (Fri, 23 May 2008)
New Revision: 14946

Modified:
   trunk/theora-fpga/testbenchs/libtheora_tb/lib/Makefile
   trunk/theora-fpga/testbenchs/libtheora_tb/lib/dct_decode.c
   trunk/theora-fpga/testbenchs/libtheora_tb/lib/olimpiada.h
Log:
Some code clean-up and added a testbench for vga-controller



Modified: trunk/theora-fpga/testbenchs/libtheora_tb/lib/Makefile
===================================================================
--- trunk/theora-fpga/testbenchs/libtheora_tb/lib/Makefile	2008-05-23 09:50:57 UTC (rev 14945)
+++ trunk/theora-fpga/testbenchs/libtheora_tb/lib/Makefile	2008-05-23 14:33:36 UTC (rev 14946)
@@ -114,18 +114,18 @@
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run aclocal-1.9
+ACLOCAL = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run aclocal-1.9
 ACLOCAL_AMFLAGS = -I m4
 AMDEP_FALSE = #
 AMDEP_TRUE = 
-AMTAR = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run tar
+AMTAR = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run tar
 AR = ar
-AUTOCONF = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run automake-1.9
+AUTOCONF = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run automake-1.9
 AWK = mawk
 BINDIR = @BINDIR@
-BUILDABLE_EXAMPLES = 
+BUILDABLE_EXAMPLES =  encoder_example$(EXEEXT) player_example
 CC = gcc
 CCDEPMODE = depmode=gcc3
 CFLAGS = -Wall -O3 -fforce-addr -fomit-frame-pointer -finline-functions -funroll-loops 
@@ -136,9 +136,9 @@
 CPU_x86_64_FALSE = 
 CPU_x86_64_TRUE = #
 CXX = g++
-CXXCPP = /lib/cpp
-CXXDEPMODE = depmode=none
-CXXFLAGS = 
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
 CYGPATH_W = echo
 DEBUG = -g -Wall -DDEBUG -D__NO_MATH_INLINES
 DEFS = -DHAVE_CONFIG_H
@@ -156,7 +156,7 @@
 HAVE_DOXYGEN = false
 HAVE_DOXYGEN_FALSE = 
 HAVE_DOXYGEN_TRUE = #
-HAVE_PKG_CONFIG = yes
+HAVE_PKG_CONFIG = 
 HAVE_PYTHON = true
 HAVE_PYTHON_FALSE = #
 HAVE_PYTHON_TRUE = 
@@ -176,10 +176,10 @@
 MAINT = #
 MAINTAINER_MODE_FALSE = 
 MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/missing --run makeinfo
+MAKEINFO = ${SHELL} /home/leonardo/temp/theora-fpga/libtheora_tb/missing --run makeinfo
 OBJEXT = o
-OGG_CFLAGS =  
-OGG_LIBS = -logg  
+OGG_CFLAGS = 
+OGG_LIBS =  -logg
 PACKAGE = libtheora
 PACKAGE_BUGREPORT = 
 PACKAGE_NAME = libtheora
@@ -187,14 +187,14 @@
 PACKAGE_TARNAME = libtheora
 PACKAGE_VERSION = 1.0alpha6
 PATH_SEPARATOR = :
-PKG_CONFIG = /usr/bin/pkg-config
+PKG_CONFIG = 
 PROFILE = -Wall -pg -g -O3 -fno-inline-functions -DDEBUG
 RANLIB = ranlib
-SDL_CFLAGS = 
-SDL_CONFIG = no
-SDL_LIBS = 
+SDL_CFLAGS = -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
+SDL_CONFIG = /usr/bin/sdl-config
+SDL_LIBS = -L/usr/lib -lSDL
 SET_MAKE = 
-SHELL = /bin/sh
+SHELL = /bin/bash
 SHLIB_VERSION_ARG = -Wl,--version-script=Version_script
 STRIP = strip
 THEORA_DISABLE_ENCODE_FALSE = 
@@ -203,10 +203,10 @@
 THEORA_DISABLE_FLOAT_TRUE = #
 VALGRIND_ENVIRONMENT = 
 VERSION = 1.0alpha6
-VORBISENC_LIBS = 
-VORBISFILE_LIBS = 
+VORBISENC_LIBS = -lvorbisenc
+VORBISFILE_LIBS = -lvorbisfile
 VORBIS_CFLAGS = 
-VORBIS_LIBS = 
+VORBIS_LIBS =  -lvorbis -lm
 V_LIB_AGE = 2
 V_LIB_CURRENT = 2
 V_LIB_REVISION = 0
@@ -218,8 +218,8 @@
 ac_ct_STRIP = strip
 am__fastdepCC_FALSE = #
 am__fastdepCC_TRUE = 
-am__fastdepCXX_FALSE = 
-am__fastdepCXX_TRUE = #
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
 am__include = include
 am__leading_dot = .
 am__quote = 
@@ -240,7 +240,7 @@
 host_vendor = pc
 includedir = ${prefix}/include
 infodir = ${prefix}/info
-install_sh = /home/leonardo/theora/rrf_docs_theora/libtheora-1.0alpha6/install-sh
+install_sh = /home/leonardo/temp/theora-fpga/libtheora_tb/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 localstatedir = ${prefix}/var

Modified: trunk/theora-fpga/testbenchs/libtheora_tb/lib/dct_decode.c
===================================================================
--- trunk/theora-fpga/testbenchs/libtheora_tb/lib/dct_decode.c	2008-05-23 09:50:57 UTC (rev 14945)
+++ trunk/theora-fpga/testbenchs/libtheora_tb/lib/dct_decode.c	2008-05-23 14:33:36 UTC (rev 14946)
@@ -1325,8 +1325,19 @@
   static int vezes_rr = 0;
   int int1, int2, int3, int4;
   int flag_rr = 0;
+  int flag2_rr = 0;
+  unsigned char y, cb, cr;
+  int count_entr_rr = 0;
 #endif
     
+#ifdef VGA_CONTROLLER
+  FILE *fp_vc;
+  static int vezes_vc = 0;
+  int int1, int2, int3, int4;
+  int flag_vc = 0;
+  int flag2_vc = 0;
+  int count_entr_vc = 0;
+#endif
 
   void (*ExpandBlockA) ( PB_INSTANCE *pbi, ogg_int32_t FragmentNumber );
 
@@ -1342,6 +1353,8 @@
     fp_rr = fopen(IN_RR_FILE, "a");
     fprintf(fp_rr, "0\n");    
     fprintf(fp_rr, "%d\n", (pbi->ReconYPlaneSize + 2 * pbi->ReconUVPlaneSize));
+    fprintf(fp_rr, "%d\n", pbi->info.height);
+    fprintf(fp_rr, "%d\n", pbi->info.width);
     fprintf(fp_rr, "%d\n", pbi->HFragments);
     fprintf(fp_rr, "%d\n", pbi->YPlaneFragments);
     fprintf(fp_rr, "%d\n", pbi->YStride);
@@ -1373,6 +1386,53 @@
     fclose(fp_rr);
   }    
 #endif
+
+#ifdef VGA_CONTROLLER
+  if (vezes_vc == 0) {
+    fp_vc = fopen(IN_VC_FILE, "a");
+    fprintf(fp_vc, "0\n");    
+    fprintf(fp_vc, "%d\n", (pbi->ReconYPlaneSize + 2 * pbi->ReconUVPlaneSize));
+    fprintf(fp_vc, "%d\n", pbi->info.height);
+    fprintf(fp_vc, "%d\n", pbi->info.width);
+    fprintf(fp_vc, "%d\n", pbi->HFragments);
+    fprintf(fp_vc, "%d\n", pbi->YPlaneFragments);
+    fprintf(fp_vc, "%d\n", pbi->YStride);
+    fprintf(fp_vc, "%d\n", pbi->UVPlaneFragments);
+    fprintf(fp_vc, "%d\n", pbi->UVStride);
+    fprintf(fp_vc, "%d\n", pbi->VFragments);
+    fprintf(fp_vc, "%d\n", pbi->ReconYDataOffset);
+    fprintf(fp_vc, "%d\n", pbi->ReconUDataOffset);
+    fprintf(fp_vc, "%d\n", pbi->ReconVDataOffset);
+    fprintf(fp_vc, "%d\n", pbi->UnitFragments);
+    count_entr_vc = count_entr_vc + 14;
+    /* QThreshTable */
+    for (int1 = 0; int1 < 64; int1++) {
+      fprintf(fp_vc, "%d\n", pbi->QThreshTable[int1]);
+    }
+    count_entr_vc = count_entr_vc + 64;
+
+    /* LoopFilterLimits */
+    for (int1 = 0; int1 < 64; int1=int1+4) {
+      int2 = 0;
+      for (int3 = 0; int3 < 4; int3++) {
+	int2 = (int2 << 8);
+	int2 = int2 + ((unsigned int)pbi->LoopFilterLimits[int1 + int3]);
+      }
+      fprintf(fp_vc, "%d\n", int2);
+    }
+    count_entr_vc = count_entr_vc + 16;
+    
+    fprintf(fp_vc, "%d\n", pbi->info.height);
+    count_entr_vc = count_entr_vc + 1;
+    fclose(fp_vc);
+
+    fp_vc = fopen("/home/piga/theora/modulos/vga_controller/golden/first_data.txt", "a");
+    fprintf(fp_vc, "--------Inicio----------\n");
+    fclose(fp_vc);
+
+  }    
+#endif
+
   /* for y,u,v */
   for ( j = 0; j < 3 ; j++) {
     /* pick which fragments based on Y, U, V */
@@ -1411,6 +1471,32 @@
     for ( m = 0 ; m < FragsDown ; m++) {
       for ( n = 0 ; n < FragsAcross ; n++, i++){
 
+#ifdef RECON_REF_FRAMES
+	if (vezes_rr < VEZES_RR && !flag2_rr) {
+	  fp_rr = fopen(IN_RR_FILE, "a");
+	  fprintf(fp_rr, "%d\n", pbi->CodedBlockIndex);
+	  count_entr_rr = count_entr_rr + 1;
+	  fclose(fp_rr);
+	  flag2_rr = 1;
+	}
+#endif
+
+#ifdef VGA_CONTROLLER
+	if (vezes_vc < VEZES_VC && !flag2_vc) {
+	  fp_vc = fopen(IN_VC_FILE, "a");
+	  fprintf(fp_vc, "%d\n", pbi->CodedBlockIndex);
+	  count_entr_vc = count_entr_vc + 1;
+	  fclose(fp_vc);
+
+	  fp_vc = fopen("/home/piga/theora/modulos/vga_controller/golden/first_data.txt", "a");
+	  fprintf(fp_vc, "%d\n", pbi->CodedBlockIndex);
+	  fclose(fp_vc);
+
+
+	  flag2_vc = 1;
+	}
+#endif
+
         /* only do 2 prediction if fragment coded and on non intra or
            if all fragments are intra */
         if( pbi->display_fragments[i] || (GetFrameType(pbi) == KEY_FRAME) ){
@@ -1492,9 +1578,34 @@
 	      fp = fopen(IN_RF_FILE, "a");
 
 	      fprintf(fp, "%d\n", pbi->CodedBlockIndex);
+
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_Y_coeffs[aux]);
+	      }
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_U_coeffs[aux]);
+	      }
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_V_coeffs[aux]);
+	      }
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_InterY_coeffs[aux]);
+	      }
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_InterU_coeffs[aux]);
+	      }
+	      for (aux = 0; aux < 64; aux++) {
+		fprintf(fp, "%d\n", pbi->dequant_InterV_coeffs[aux]);
+	      }
+
+	      fprintf(fp, "%d\n", pbi->FrameType);
+	      /*Offsets*/
+	      fprintf(fp, "%d\n", 0);
+	      fprintf(fp, "%d\n", 143616);
+	      fprintf(fp, "%d\n", 287232);
+
 	      fclose(fp);
 
-
 	      fp2 = fopen(IN2_RF_FILE, "a");
 	      /*Matriz GoldenFrame*/
 	      fprintf(fp2, "%d\n", pbi->LastFraRecLen);
@@ -1536,40 +1647,14 @@
 	  if (vezes < VEZES_RF && vezes > START_RF) {
 	    fp = fopen(IN_RF_FILE, "a");
 
-	    
 	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_Y_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_U_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_V_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_InterY_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_InterU_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
-	      fprintf(fp, "%d\n", pbi->dequant_InterV_coeffs[aux]);
-	    }
-	    for (aux = 0; aux < 64; aux++) {
 	      fprintf(fp, "%d\n", pbi->QFragData[i][aux]);
 	    }
-
 	    fprintf(fp, "%d\n", pbi->FragCodingMethod[i]);
 	    fprintf(fp, "%d\n", pbi->FragCoefEOB[i]);
 	    fprintf(fp, "%d\n", pbi->FragMVect[i].x);
 	    fprintf(fp, "%d\n", pbi->FragMVect[i].y);
 	    fprintf(fp, "%d\n", i);
-	    fprintf(fp, "%d\n", pbi->FrameType);
-	    /*Offsets*/
-	    fprintf(fp, "%d\n", 0);
-	    fprintf(fp, "%d\n", 143616);
-	    fprintf(fp, "%d\n", 287232);
-
 	    fclose(fp);
 	  }
 #endif
@@ -1577,12 +1662,7 @@
 #ifdef RECON_REF_FRAMES
 	  if (vezes_rr < VEZES_RR && !flag_rr) {
 	    fp_rr = fopen(IN_RR_FILE, "a");
-	    fprintf(fp_rr, "%d\n", pbi->CodedBlockIndex);
-	    flag_rr = 1;
-	    fclose(fp_rr);
-	  }
-	  if (vezes_rr < VEZES_RR) {
-	    fp_rr = fopen(IN_RR_FILE, "a");
+
 	    for (int1 = 0; int1 < 64; int1++) {
 	      fprintf(fp_rr, "%d\n", pbi->dequant_Y_coeffs[int1]);
 	    }
@@ -1601,6 +1681,13 @@
 	    for (int1 = 0; int1 < 64; int1++) {
 	      fprintf(fp_rr, "%d\n", pbi->dequant_InterV_coeffs[int1]);
 	    }
+	    fprintf(fp_rr, "%d\n", pbi->FrameType);
+	    count_entr_rr = count_entr_rr + 64 * 6 + 1;
+	    flag_rr = 1;
+	    fclose(fp_rr);
+	  }
+	  if (vezes_rr < VEZES_RR) {
+	    fp_rr = fopen(IN_RR_FILE, "a");
 	    for (int1 = 0; int1 < 64; int1++) {
 	      fprintf(fp_rr, "%d\n", pbi->QFragData[i][int1]);
 	    }
@@ -1610,10 +1697,54 @@
 	    fprintf(fp_rr, "%d\n", pbi->FragMVect[i].x);
 	    fprintf(fp_rr, "%d\n", pbi->FragMVect[i].y);
 	    fprintf(fp_rr, "%d\n", i);
-	    fprintf(fp_rr, "%d\n", pbi->FrameType);
+	    count_entr_rr = count_entr_rr + 64 + 5;
 	    fclose(fp_rr);
 	  }
 #endif
+
+#ifdef VGA_CONTROLLER
+	  if (vezes_vc < VEZES_VC && !flag_vc) {
+	    fp_vc = fopen(IN_VC_FILE, "a");
+
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_Y_coeffs[int1]);
+	    }
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_U_coeffs[int1]);
+	    }
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_V_coeffs[int1]);
+	    }
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_InterY_coeffs[int1]);
+	    }
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_InterU_coeffs[int1]);
+	    }
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->dequant_InterV_coeffs[int1]);
+	    }
+	    fprintf(fp_vc, "%d\n", pbi->FrameType);
+	    count_entr_vc = count_entr_vc + 64 * 6 + 1;
+	    flag_vc = 1;
+	    fclose(fp_vc);
+	  }
+	  if (vezes_vc < VEZES_VC) {
+	    fp_vc = fopen(IN_VC_FILE, "a");
+	    for (int1 = 0; int1 < 64; int1++) {
+	      fprintf(fp_vc, "%d\n", pbi->QFragData[i][int1]);
+	    }
+	    
+	    fprintf(fp_vc, "%d\n", pbi->FragCodingMethod[i]);
+	    fprintf(fp_vc, "%d\n", pbi->FragCoefEOB[i]);
+	    fprintf(fp_vc, "%d\n", pbi->FragMVect[i].x);
+	    fprintf(fp_vc, "%d\n", pbi->FragMVect[i].y);
+	    fprintf(fp_vc, "%d\n", i);
+	    count_entr_vc = count_entr_vc + 64 + 5;
+	    fclose(fp_vc);
+	  }
+#endif
+
 	  ExpandBlockA( pbi, i );
 
         }
@@ -1624,7 +1755,7 @@
 #ifdef RECON_FRAMES
   if (vezes < VEZES_RF && flag) {
     flag = 0;
-    if (vezes > START_RF && vezes < VEZES_RF-1) {
+    if (vezes > START_RF && vezes < VEZES_RF) {
       fp2 = fopen(OUT_RF_FILE, "a");
       /*Matriz ThisFrameRecon*/
       for (meuInt = 0; meuInt < pbi->LastFraRecLen; meuInt=meuInt+4) {
@@ -1716,7 +1847,7 @@
 
   /* Copy Recon parameters */
 #ifdef RECON_REF_FRAMES
-  if (vezes_rr < VEZES_RR && flag_rr) {
+  if (vezes_rr < VEZES_RR) {
     vezes_rr++;
 
     fp_rr = fopen(IN_RR_FILE, "a");
@@ -1744,7 +1875,41 @@
   }
 #endif
 
+#ifdef VGA_CONTROLLER
+  if (vezes_vc < VEZES_VC) {
+    vezes_vc++;
 
+    fp_vc = fopen(IN_VC_FILE, "a");
+
+    /* display_fragments */
+    int1 = 0;
+    int2 = pbi->UnitFragments / 32;
+    for (int3 = 0; int3 < int2; int3++) {
+      for (int4 = 0; int4 < 32; int4++)
+	int1 = (int1 << 1) + pbi->display_fragments[int3*32 + int4];
+      fprintf(fp_vc, "%d\n", int1);
+      count_entr_vc = count_entr_vc + 1;
+    }
+    int1 = 0;
+    for (int3 = 0; int3 < (pbi->UnitFragments % 32); int3++) {
+      int1 = (int1 << 1) + pbi->display_fragments[int2*32 + int3];
+    }
+    if (pbi->UnitFragments % 32) {
+      int1 = (int1 << (32 - (pbi->UnitFragments % 32)));
+      fprintf(fp_vc, "%d\n", int1);
+      count_entr_vc = count_entr_vc + 1;
+    }
+    /* Remover comentario depois*/
+    fprintf(fp_vc, "%d\n", pbi->ThisFrameQualityValue);
+    count_entr_vc = count_entr_vc + 1;
+    fclose(fp_vc);
+
+    fp_vc = fopen(IN_VC_QTD_FILE, "a");
+    fprintf(fp_vc, "%d\n", count_entr_vc);
+    fclose(fp_vc);
+  }
+#endif
+
   CopyRecon( pbi, pbi->LastFrameRecon, pbi->ThisFrameRecon);
   
 #ifdef COPY_RECON
@@ -1792,27 +1957,77 @@
     UpdateUMVBorder(pbi, pbi->GoldenFrame);
   }
 
-
   /* recon_ref_frames out*/
 #ifdef RECON_REF_FRAMES
-  if (vezes_rr < VEZES_RR && flag_rr) {
-    vezes_rr++;
-    flag_rr = 0;
+  unsigned char *y_plane, *u_plane, *v_plane;
+
+  if (vezes_rr < VEZES_RR) {
+    y_plane = &pbi->LastFrameRecon[pbi->ReconYDataOffset] + pbi->YStride * (pbi->info.height - 1);
+    u_plane = &pbi->LastFrameRecon[pbi->ReconUDataOffset] + pbi->UVStride * (pbi->info.height / 2 - 1);
+    v_plane = &pbi->LastFrameRecon[pbi->ReconVDataOffset] + pbi->UVStride * (pbi->info.height / 2 - 1);
+
+
     fp_rr = fopen(OUT_RR_FILE, "a");
-    /*Matriz LastFrameRecon*/
-    for (int1 = 0; int1 < pbi->LastFraRecLen; int1=int1+4) {
-      int3 = 0;
-      for (int2 = 0; int2 < 4; int2++) {
-	int3 = (int3 << 8);
-	int3 = int3 + ((unsigned int)pbi->LastFrameRecon[int1 + int2]);
+    /* Write Y */
+    for(int1=0;int1<pbi->info.height;int1++) {
+      for (int2 = 0; int2 < pbi->info.width; int2=int2+4) {
+	int4 = 0;
+	for (int3 = 0; int3 < 4; int3++) {
+	  int4 = (int4 << 8);
+	  int4 = int4 + (unsigned int) (*(y_plane - pbi->YStride*int1 + int2 + int3));
 
+	}
+	fprintf(fp_rr, "%d\n", int4);
       }
-      fprintf(fp_rr, "%d\n", int3);
     }
+
+    /* Write Cb */
+    for(int1=0;int1<(pbi->info.height/2);int1++) {
+      for (int2 = 0; int2 < (pbi->info.width/2); int2=int2+4) {
+	int4 = 0;
+	for (int3 = 0; int3 < 4; int3++) {
+	  int4 = (int4 << 8);
+	  int4 = int4 + (unsigned int) (*(u_plane - pbi->UVStride*int1 + int2 + int3));
+
+	}
+	fprintf(fp_rr, "%d\n", int4);
+      }
+    }
+
+    /* Write Cr */
+    for(int1=0;int1<(pbi->info.height/2);int1++) {
+      for (int2 = 0; int2 < (pbi->info.width/2); int2=int2+4) {
+	int4 = 0;
+	for (int3 = 0; int3 < 4; int3++) {
+	  int4 = (int4 << 8);
+	  int4 = int4 + (unsigned int) (*(v_plane - pbi->UVStride*int1 + int2 + int3));
+	}
+	fprintf(fp_rr, "%d\n", int4);
+      }
+    }
+
     fclose(fp_rr);
   }
+
+/*   if (vezes_rr < VEZES_RR) { */
+/*     vezes_rr++; */
+/*     flag_rr = 0; */
+/*     fp_rr = fopen(OUT_RR_FILE, "a"); */
+/*     /\*Matriz LastFrameRecon*\/ */
+/*     for (int1 = 0; int1 < pbi->LastFraRecLen; int1=int1+4) { */
+/*       int3 = 0; */
+/*       for (int2 = 0; int2 < 4; int2++) { */
+/* 	int3 = (int3 << 8); */
+/* 	int3 = int3 + ((unsigned int)pbi->LastFrameRecon[int1 + int2]); */
+
+/*       } */
+/*       fprintf(fp_rr, "%d\n", int3); */
+/*     } */
+/*     fclose(fp_rr); */
+/*   } */
+
+
 #endif
 
 
-
 }

Modified: trunk/theora-fpga/testbenchs/libtheora_tb/lib/olimpiada.h
===================================================================
--- trunk/theora-fpga/testbenchs/libtheora_tb/lib/olimpiada.h	2008-05-23 09:50:57 UTC (rev 14945)
+++ trunk/theora-fpga/testbenchs/libtheora_tb/lib/olimpiada.h	2008-05-23 14:33:36 UTC (rev 14946)
@@ -1,3 +1,4 @@
+#define VEZES_SC 14
 #define VEZES_LF 15
 #define VEZES_EB 15
 #define VEZES_RF 15
@@ -3,41 +4,58 @@
 #define VEZES_CR 15
 #define VEZES_RR 15
+#define VEZES_VC 20
+#define VEZES_IVGA 15
 
+/* #define GERAR_PPM */
 
 /*#define LOOP_FILTER 1*/
-/* #define EXP_BLK 1 */
-/*#define RECON_FRAMES 1*/
+/* #define EXP_BLK */
+/* #define RECON_FRAMES */
 /* #define COPY_RECON 1 */
-#define RECON_REF_FRAMES 1
-/* #define RECON_PIXEL_INDEX 1 */
+#define RECON_REF_FRAMES
+/* #define RECON_PIXEL_INDEX */
+/* #define INTERFACE_VGA */
+/* #define VGA_CONTROLLER */
+/* #define THEORA_SYSTEMC */
 
+#define IN_SC_FILE "/home/piga/theora/cynthesizer/theora/goldenfiles/in.tb"
+#define IN2_SC_FILE "/home/piga/theora/cynthesizer/theora/goldenfiles/in2.tb"
+#define OUT_SC_FILE "/home/piga/theora/cynthesizer/theora/goldenfiles/OUT.EXPECTED.TB"
 
+#define IN_EB_FILE "/home/piga/theora/modulos/expandblock/golden/in.tb"
+#define IN2_EB_FILE "/home/piga/theora/modulos/expandblock/golden/in2.tb"
+#define OUT_EB_FILE "/home/piga/theora/modulos/expandblock/golden/OUT.EXPECTED.TB"
 
-#define IN_EB_FILE "/home/leonardo/theora/modulos/expandblock/golden/in.tb"
-#define IN2_EB_FILE "/home/leonardo/theora/modulos/expandblock/golden/in2.tb"
-#define OUT_EB_FILE "/home/leonardo/theora/modulos/expandblock/golden/OUT.EXPECTED.TB"
 
+#define IN_LF_FILE "/home/piga/theora/modulos/loopfilter/golden/in.tb"
+#define IN2_LF_FILE "/home/piga/theora/modulos/loopfilter/golden/in2.tb"
+#define OUT_LF_FILE "/home/piga/theora/modulos/loopfilter/golden/OUT.EXPECTED.TB"
 
-#define IN_LF_FILE "/home/leonardo/theora/modulos/loopfilter/golden/in.tb"
-#define IN2_LF_FILE "/home/leonardo/theora/modulos/loopfilter/golden/in2.tb"
-#define OUT_LF_FILE "/home/leonardo/theora/modulos/loopfilter/golden/OUT.EXPECTED.TB"
 
+#define IN_RF_FILE  "/home/piga/theora/modulos/reconframes/golden/in.tb"
+#define IN2_RF_FILE "/home/piga/theora/modulos/reconframes/golden/in2.tb"
+#define OUT_RF_FILE "/home/piga/theora/modulos/reconframes/golden/OUT.EXPECTED.TB"
 
-#define IN_RF_FILE  "/home/leonardo/theora/modulos/reconframes/golden/in.tb"
-#define IN2_RF_FILE "/home/leonardo/theora/modulos/reconframes/golden/in2.tb"
-#define OUT_RF_FILE "/home/leonardo/theora/modulos/reconframes/golden/OUT.EXPECTED.TB"
+#define IN_CR_FILE  "/home/piga/theora/modulos/copyrecon/golden/in.tb"
+#define IN2_CR_FILE "/home/piga/theora/modulos/copyrecon/golden/in2.tb"
+#define OUT_CR_FILE "/home/piga/theora/modulos/copyrecon/golden/OUT.EXPECTED.TB"
 
-#define IN_CR_FILE  "/home/leonardo/theora/modulos/copyrecon/golden/in.tb"
-#define IN2_CR_FILE "/home/leonardo/theora/modulos/copyrecon/golden/in2.tb"
-#define OUT_CR_FILE "/home/leonardo/theora/modulos/copyrecon/golden/OUT.EXPECTED.TB"
+#define IN_RR_FILE  "/home/leonardo/temp/theora-fpga/reconrefframes/golden/in.tb"
+#define IN_RR_QTD_FILE  "/home/leonardo/temp/theora-fpga/reconrefframes/golden/in_qtd.tb"
+#define OUT_RR_FILE "/home/leonardo/temp/theora-fpga/reconrefframes/golden/OUT.EXPECTED.TB"
 
-#define IN_RR_FILE  "/home/leonardo/theora/modulos/reconrefframes/golden/in.tb"
-#define OUT_RR_FILE "/home/leonardo/theora/modulos/reconrefframes/golden/OUT.EXPECTED.TB"
+#define IN_RPI_FILE  "/home/piga/theora/modulos/reconpixelindex/golden/in.tb"
+#define OUT_RPI_FILE "/home/piga/theora/modulos/reconpixelindex/golden/OUT.EXPECTED.TB"
 
-#define IN_RPI_FILE  "/home/leonardo/theora/modulos/reconpixelindex/golden/in.tb"
-#define OUT_RPI_FILE "/home/leonardo/theora/modulos/reconpixelindex/golden/OUT.EXPECTED.TB"
+#define IN_IVG_FILE  "/home/piga/theora/modulos/interface_vga/golden/in.tb"
+#define OUT_IVG_FILE "/home/piga/theora/modulos/interface_vga/golden/OUT.EXPECTED.TB"
 
+#define IN_VC_FILE  "/home/piga/theora/modulos/vga_controller/golden/in.tb"
+#define IN_VC_QTD_FILE  "/home/piga/theora/modulos/vga_controller/golden/in_qtd.tb"
+#define OUT_VC_FILE "/home/piga/theora/modulos/vga_controller/golden/OUT.EXPECTED.TB"
+#define DIR_PPM "/home/piga/theora/modulos/vga_controller/golden/"
 
 #define MAXCOUNT 1100
 
 #define START_RF -1
+#define START_SC -1



More information about the commits mailing list