You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.5 KiB
97 lines
2.5 KiB
/*++
|
|
Copyright (c) 1996, 1997 Philips B.V. CE-VCM
|
|
|
|
Module Name:
|
|
|
|
mdecoder.h
|
|
|
|
Abstract:
|
|
|
|
This module converts the compressed video data to uncompressed video data.
|
|
|
|
Original Author:
|
|
|
|
Ronald v.d.Meer
|
|
|
|
|
|
Environment:
|
|
|
|
Kernel mode only
|
|
|
|
|
|
Revision History:
|
|
|
|
Date Change
|
|
14-04-1998 Initial version
|
|
|
|
--*/
|
|
|
|
#ifndef __MDECODER_H__
|
|
#define __MDECODER_H__
|
|
|
|
#include <stdio.h>
|
|
#include "mcamdrv.h"
|
|
#include "resource.h"
|
|
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* START DEFINES
|
|
*
|
|
******************************************************************************/
|
|
|
|
#define BytesPerBandCIF3 704
|
|
#define BytesPerBandCIF4 528
|
|
|
|
#define BLOCK_BAND_WIDTH ((CIF_X * 3) / 2)
|
|
|
|
#define Y_BLOCK_BAND TRUE
|
|
#define UV_BLOCK_BAND FALSE
|
|
|
|
/* defines for I420 space */
|
|
|
|
#define I420_NO_Y_PER_LINE_CIF (CIF_X)
|
|
#define I420_NO_C_PER_LINE_CIF (CIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_LINE_SIF (SIF_X)
|
|
#define I420_NO_C_PER_LINE_SIF (SIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_LINE_SSIF (SSIF_X)
|
|
#define I420_NO_C_PER_LINE_SSIF (SSIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_LINE_SCIF (SCIF_X)
|
|
#define I420_NO_C_PER_LINE_SCIF (SCIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_BAND_CIF (4 * CIF_X)
|
|
#define I420_NO_U_PER_BAND_CIF (2 * (CIF_X >> 1))
|
|
#define I420_NO_V_PER_BAND_CIF (2 * (CIF_X >> 1))
|
|
#define I420_NO_C_PER_BAND_CIF (CIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_BAND_SIF (4 * SIF_X)
|
|
#define I420_NO_U_PER_BAND_SIF (2 * (SIF_X >> 1))
|
|
#define I420_NO_V_PER_BAND_SIF (2 * (SIF_X >> 1))
|
|
#define I420_NO_C_PER_BAND_SIF (SIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_BAND_SSIF (4 * SSIF_X)
|
|
#define I420_NO_U_PER_BAND_SSIF (2 * (SSIF_X >> 1))
|
|
#define I420_NO_V_PER_BAND_SSIF (2 * (SSIF_X >> 1))
|
|
#define I420_NO_C_PER_BAND_SSIF (SSIF_X >> 1)
|
|
|
|
#define I420_NO_Y_PER_BAND_SCIF (4 * SCIF_X)
|
|
#define I420_NO_U_PER_BAND_SCIF (2 * (SCIF_X >> 1))
|
|
#define I420_NO_V_PER_BAND_SCIF (2 * (SCIF_X >> 1))
|
|
#define I420_NO_C_PER_BAND_SCIF (SCIF_X >> 1)
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* START FUNCTION DECLARATIONS
|
|
*
|
|
******************************************************************************/
|
|
|
|
extern void InitDecoder ();
|
|
|
|
|
|
extern void DcDecompressBandToI420 (PBYTE pSrc, PBYTE pDst, DWORD camVersion,
|
|
BOOLEAN YBlockBand, BOOLEAN Cropping);
|
|
|
|
#endif // __MDECODER_H__
|