⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 impeg2vdec.h

📁 dsp平台的mpeg算法源码。详细介绍mpeg算法。
💻 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 + -