📄 impeg2vdec.h
字号:
/*
* Copyright 1999 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
* U.S. Patent Nos. 5,283,900 5,392,448
*/
/*
* (C) Copyright 2000 Texas Instruments Inc. All rights reserved.
* Exclusive property of the Multimedia DSP Branch, Tsukuba Research &
* Development Center of Texas Instruments Japan Limited. Any handling,
* use, disclosure, reproduction, duplication, transmission, or storage
* of any part of this work by any means is subject to restrictions and
* prior written permission set forth in TI's program license agreements
* and associated software documentation.
*
* This copyright notice, restricted rights legend, or other proprietary
* markings must be reproduced without modification in any authorized
* copies of any part of this work. Removal or modification of any part
* of this notice is prohibited.
*
*/
/* "@(#) DAIS 1.00 07-29-99 (dais-a09)" */
/*
* ======== impeg2vdec.h ========
* This header defines all types, constants, and functions shared by all
* implementations of the MPEG2VDEC algorithm.
*/
#ifndef IMPEG2VDEC_
#define IMPEG2VDEC_
#include <ialg.h>
/*
* ======== IMPEG2VDEC_Obj ========
* Every implementation of IMPEG2VDEC *must* declare this structure as
* the first member of the implementation's object.
*/
typedef struct IMPEG2VDEC_Obj {
struct IMPEG2VDEC_Fxns *fxns;
} IMPEG2VDEC_Obj;
/*
* ======== IMPEG2VDEC_Handle ========
* This type is a pointer to an implementation's instance object.
*/
typedef struct IMPEG2VDEC_Obj *IMPEG2VDEC_Handle;
/*
* ======== IMPEG2VDEC_Params ========
* This structure defines the parameters necessary to create an
* instance of a MPEG2VDEC object.
*
* Every implementation of IMPEG2VDEC *must* declare this structure as
* the first member of the implementation's parameter structure.
*/
typedef struct IMPEG2VDEC_Params {
Int size; /* sizeof the whole parameter struct */
Int *ptr; /* rest of them not defined yet. */
Int len;
Int frameLen;
} IMPEG2VDEC_Params;
/*
* ======== IMPEG2VDEC_PARAMS ========
* Default instance creation parameters (defined in impeg2vdec.c)
*/
extern IMPEG2VDEC_Params IMPEG2VDEC_PARAMS;
/*
* ======== IMPEG2VDEC_Fxns ========
* All implementation's of MPEG2VDEC must declare and statically
* initialize a constant variable of this type.
*
* By convention the name of the variable is MPEG2VDEC_<vendor>_IMPEG2VDEC, where
* <vendor> is the vendor name.
*/
typedef struct IMPEG2VDEC_Fxns {
IALG_Fxns ialg;
Void (*decode)(IMPEG2VDEC_Handle handle, Int *input[], Int *output[]);
} IMPEG2VDEC_Fxns;
typedef struct _START_OUT {
int fault;
int ld_mpeg2;
int bit_rate;
int picture_rate;
int vertical_size;
int horizontal_size;
int coded_picture_width;
int coded_picture_height;
int chroma_format;
int chrom_width;
int prog_seq;
} START_OUT;
/*Modified to incorporate both start parameters and decode params in one str.*/
typedef struct _DECODE_OUT {
int fault;
int pict_type;
int pict_struct;
int next_wptr;
int topfirst;
int end_of_seq;
int outputing;
unsigned char *outframe[3];
START_OUT initial_params;
int initial_params_valid;
} DECODE_OUT;
#endif /* IMPEG2VDEC_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -