19 #define WIN32_LEAN_AND_MEAN 33 ok(
i,
"Unexpected output\n");
55 input_header = { {
sizeof(
BITMAPINFOHEADER), 32, 1, 1, 8, 0, 32*8, 0, 0, 256, 256},
56 {{255,0,0}, {0,255,0}, {0,0,255}, {255,255,255}}};
58 static BYTE input1[32] = {1,2,3,3,3,3,2,3,1};
59 static const BYTE output1[] = {1,1,1,2,4,3,0,3,2,3,1,0,23,0,0,0,0,1};
62 ok(hic !=
NULL,
"ICOpen failed\n");
67 ok(
info.fccHandler ==
FCC(
'M',
'R',
'L',
'E'),
"fccHandler = %x\n",
info.fccHandler);
73 ok(
res ==
ICERR_OK,
"ICSendMessage(ICM_GETDEFAULTQUALITY) failed: %ld\n",
res);
86 ok(output_size == 1064,
"output_size = %d\n", output_size);
92 res =
ICCompress(hic,
ICCOMPRESS_KEYFRAME,
output_header,
buf, &input_header.header, input1, 0, &
flags, 0, 0, 0,
NULL,
NULL);
110 void *
bits, *outbits;
114 bih->
biSize =
sizeof(*bih);
128 ok(
bits !=
NULL,
"Expected non-NULL value\n");
130 ok(outbits !=
NULL,
"Expected non-NULL value\n");
138 ok(hic !=
NULL,
"Test[%d]: Expected non-NULL return\n",
i);
143 ok(
hr ==
sizeof(
codec_info),
"Test[%d]: Incorrect amount of data returned\n",
i);
145 "Test[%d]: Expected a video type, got 0x%x\n",
i,
codec_info.fccType);
147 "Test[%d]: Expected MRLE, got 0x%x\n",
i,
codec_info.fccHandler);
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID ULONG out_size
HIC VFWAPI ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode)
static UCHAR ULONG UCHAR ULONG UCHAR * output
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
BITMAPINFOHEADER bmiHeader
static const struct image_codec codecs[NUM_CODECS]
#define ICCOMPRESS_KEYFRAME
static void test_raw_decompress(void)
LRESULT VFWAPI ICSendMessage(HIC hic, UINT msg, DWORD_PTR lParam1, DWORD_PTR lParam2)
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
#define ICM_GETDEFAULTQUALITY
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
#define ICCompressGetFormat(hic, lpbiInput, lpbiOutput)
#define sprintf(buf, format,...)
GLenum GLuint GLenum GLsizei const GLchar * buf
DWORD VFWAPIV ICDecompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiFormat, LPVOID lpData, LPBITMAPINFOHEADER lpbi, LPVOID lpBits)
LRESULT WINAPI ICClose(HIC hic)
static struct _test_info info[]
DWORD VFWAPIV ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, LPVOID lpData, LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPDWORD lpdwFlags, LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFOHEADER lpbiPrev, LPVOID lpPrev)
#define FCC(ch0, ch1, ch2, ch3)
#define ICCompressGetFormatSize(hic, lpbi)
LRESULT VFWAPI ICGetInfo(HIC hic, ICINFO *picinfo, DWORD cb)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static void test_encode(void)
#define ICMODE_DECOMPRESS
#define ICERR_UNSUPPORTED
static void test_output(const BYTE *output, int out_size, const BYTE *expect, int size)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define expect(expected, got)
HIC VFWAPI ICLocate(DWORD type, DWORD handler, BITMAPINFOHEADER *in, BITMAPINFOHEADER *out, WORD mode)
#define HeapFree(x, y, z)
static int output_header(const WCHAR *prop, ULONG column_width)