Commit 771f49ea authored by Donald Haase's avatar Donald Haase
Browse files

Fixing issues with headers and one out-of-place function.

parent 950c5030
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -9,14 +9,13 @@
 * Authors:																				*
 *			Marc Dukette
 **************************************************************************************/
#include "kos.h"
#include "AVIDecaps.h"
#include "inputmedia.h"
#include <kos.h>
#include "AviDecaps.h"
#include "InputMedia.h"

videoinfo thisvid;
char           data[256];

//#include "inputmedia.h"
/*
 * Some useful functions
 */
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@


#include "AviDecaps.h"
#include "inputmedia.h"
#include "InputMedia.h"
int CacheSize;
videoinfo thisvid;

+56 −66
Original line number Diff line number Diff line
@@ -234,72 +234,6 @@ static void CopyMBlockHorVerRound(unsigned char * Src, unsigned char * Dst, int
	}
}


/**/

void recon_comp (unsigned char *src, unsigned char *dst, int lx, int w, int x, int y, int dx, int dy);

/**/

void reconstruct (int bx, int by, int mode)
{
	int dx, dy, comp, sum;
	int x, y, px, py;
		
	x = bx + 1;
	y = by + 1;

  	// Luma
	
	px = bx << 4;
	py = by << 4;
	if (mode == INTER4V)
	{
		for (comp = 0; comp < 4; comp++)
		{
			dx = MV[x][y][comp][0];
			dy = MV[x][y][comp][1];
			
			recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy);
		}
	} else
	{
		dx = MV[x][y][0][0];
		dy = MV[x][y][0][1];

		recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy);
	}
	// Chr
	px = bx << 3;
	py = by << 3;
	if (mode == INTER4V)
	{
		sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0];
		if (sum == 0) 
			dx = 0;
		else
			dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1));
		
		sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1];
		if (sum == 0)
			dy = 0;
		else
			dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1));
	} else
	{
		dx = MV[x][y][0][0];
		dy = MV[x][y][0][1];
		// chroma rounding 
		dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1);
		dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1);
	}

	recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy);
	recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy);
}

/**/

static void recon_comp (unsigned char *src, unsigned char *dst, 
                        int lx, int w, int x, 
                        int y, int dx, int dy)
@@ -365,3 +299,59 @@ static void recon_comp (unsigned char *src, unsigned char *dst,
		}
}

void reconstruct (int bx, int by, int mode)
{
	int dx, dy, comp, sum;
	int x, y, px, py;
		
	x = bx + 1;
	y = by + 1;

  	// Luma
	
	px = bx << 4;
	py = by << 4;
	if (mode == INTER4V)
	{
		for (comp = 0; comp < 4; comp++)
		{
			dx = MV[x][y][comp][0];
			dy = MV[x][y][comp][1];
			
			recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy);
		}
	} else
	{
		dx = MV[x][y][0][0];
		dy = MV[x][y][0][1];

		recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy);
	}
	// Chr
	px = bx << 3;
	py = by << 3;
	if (mode == INTER4V)
	{
		sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0];
		if (sum == 0) 
			dx = 0;
		else
			dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1));
		
		sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1];
		if (sum == 0)
			dy = 0;
		else
			dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1));
	} else
	{
		dx = MV[x][y][0][0];
		dy = MV[x][y][0][1];
		// chroma rounding 
		dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1);
		dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1);
	}

	recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy);
	recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy);
}
+0 −0

File moved.

+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@

# include "global1.h"

# include "huffman.h"
# include "Huffman.h"

/*
 * These are the Huffman code words for Layer III.
Loading