资源简介

来自于mpeg2.org的编解码器,完全按照标准写的c程序,适合研究标准的同学学习

资源截图

代码片段和文件信息

/* display.c X11 interface                                                 */

/* Copyright (C) 1996 MPEG Software Simulation Group. All Rights Reserved. */

/*
 * Disclaimer of Warranty
 *
 * These software programs are available to the user without any license fee or
 * royalty on an “as is“ basis.  The MPEG Software Simulation Group disclaims
 * any and all warranties whether express implied or statuary including any
 * implied warranties or merchantability or of fitness for a particular
 * purpose.  In no event shall the copyright-holder be liable for any
 * incidental punitive or consequential damages of any kind whatsoever
 * arising from the use of these programs.
 *
 * This disclaimer of warranty extends to the user of these programs and user‘s
 * customers employees agents transferees successors and assigns.
 *
 * The MPEG Software Simulation Group does not represent or warrant that the
 * programs furnished hereunder are free of infringement of any third-party
 * patents.
 *
 * Commercial implementations of MPEG-1 and MPEG-2 video including shareware
 * are subject to royalty fees to patent holders.  Many of these patents are
 * general enough such that they are unavoidable regardless of implementation
 * design.
 *
 */

#ifdef DISPLAY

 /* the Xlib interface is closely modeled after
  * mpeg_play 2.0 by the Berkeley Plateau Research Group
  */

#include 
#include 

#include 
#include 

#include “config.h“
#include “global.h“

/* private prototypes */
static void Display_Image _ANSI_ARGS_((XImage *Ximage_Ptr unsigned char *Dithered_Image));
static void Dither_frame _ANSI_ARGS_((unsigned char *src[]));
static void Dither_Top_Field _ANSI_ARGS_((unsigned char *src[] unsigned char *dst));
static void Dither_Bottom_Field _ANSI_ARGS_((unsigned char *src[] unsigned char *dst));
static void Dither_Top_Field420 _ANSI_ARGS_((unsigned char *src[]
                                      unsigned char *dst));
static void Dither_Bottom_Field420 _ANSI_ARGS_((unsigned char *src[]
                                      unsigned char *dst));

/* local data */
static unsigned char *Dithered_Image *Dithered_Image2;

static unsigned char Y_Table[256+16];
static unsigned char Cb_Table[128+16];
static unsigned char Cr_Table[128+16];

/* X11 related variables */
static Display *Display_Ptr;
static Window Window_Instance;
static GC GC_Instance;
static XImage *Ximage_Ptr *Ximage_Ptr2;
static unsigned char Pixel[256];

#ifdef SH_MEM

#include 
#include 
#include 

static int HandleXError _ANSI_ARGS_((Display *dpy XErrorEvent *event));
static void InstallXErrorHandler _ANSI_ARGS_((void));
static void DeInstallXErrorHandler _ANSI_ARGS_((void));

static int Shmem_Flag;
static XShmSegmentInfo Shminfo1 Shminfo2;
static int gXErrorFlag;
static int CompletionType = -1;

static int HandleXError(Dpy Event)
Display *Dpy;
XErrorEvent *Event;
{
  gXErrorFlag = 1;

 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2363  1996-07-19 16:35  Makefile
     文件        8722  1996-07-20 17:50  README
     目录           0  1996-07-20 17:54  bin\
     文件       36864  1993-11-30 02:44  bin\emu387
     文件      131072  1994-07-01 07:05  bin\mpeg2dec.exe
     文件      151552  1994-07-01 07:06  bin\mpeg2enc.exe
     文件        2316  1994-07-01 07:12  bin\readme.pc
     目录           0  1996-07-19 16:24  doc\
     文件       24606  1994-06-26 12:17  doc\mpeg2enc.doc
     文件        7718  1994-06-26 12:36  doc\m2d_old.doc
     文件          85  1994-07-04 05:23  doc\BUGS
     文件        6708  1994-06-28 05:57  doc\ARCHITECTURE
     目录           0  1994-07-04 04:25  par\
     文件         192  1994-05-13 09:08  par\intra.mat
     文件         192  1994-05-13 09:10  par\inter.mat
     文件        3003  1994-07-04 04:25  par\PAL.par
     文件        3004  1994-07-04 04:24  par\MPEG-1.par
     文件        3003  1994-07-04 04:24  par\NTSC.par
     目录           0  1996-07-19 14:36  src\
     目录           0  1996-07-19 16:44  src\mpeg2enc\
     文件        1462  1996-07-19 15:47  src\mpeg2enc\config.h
     文件        3206  1996-07-19 15:52  src\mpeg2enc\mpeg2enc.h
     文件        2240  1996-07-19 15:50  src\mpeg2enc\putbits.c
     文件        3862  1996-07-19 15:50  src\mpeg2enc\putmpg.c
     文件        7121  1996-07-19 15:48  src\mpeg2enc\puthdr.c
     文件       11368  1996-07-19 15:52  src\mpeg2enc\vlc.h
     文件        2637  1996-07-19 15:47  src\mpeg2enc\fdctref.c
     文件        2424  1996-07-19 15:48  src\mpeg2enc\writepic.c
     文件        5647  1996-07-19 15:48  src\mpeg2enc\putvlc.c
     文件       11232  1996-07-19 15:49  src\mpeg2enc\stats.c
     文件        7094  1996-07-19 15:49  src\mpeg2enc\transfrm.c
............此处省略67个文件信息

评论

共有 条评论