win.h
上传用户:sunbaby
上传日期:2013-05-31
资源大小:242k
文件大小:3k
源码类别:

mpeg/mp3

开发平台:

Visual C++

  1. /************************************************************************
  2.  *
  3.  *  win.h, display routines for Win32 for tmndecode (H.263 decoder)
  4.  *
  5.  ************************************************************************/
  6. /*
  7.  * Disclaimer of Warranty
  8.  *
  9.  * These software programs are available to the user without any
  10.  * license fee or royalty on an "as is" basis. The University of
  11.  * British Columbia disclaims any and all warranties, whether
  12.  * express, implied, or statuary, including any implied warranties
  13.  * or merchantability or of fitness for a particular purpose.  In no
  14.  * event shall the copyright-holder be liable for any incidental,
  15.  * punitive, or consequential damages of any kind whatsoever arising
  16.  * from the use of these programs.
  17.  *
  18.  * This disclaimer of warranty extends to the user of these programs
  19.  * and user's customers, employees, agents, transferees, successors,
  20.  * and assigns.
  21.  *
  22.  * The University of British Columbia does not represent or warrant
  23.  * that the programs furnished hereunder are free of infringement of
  24.  * any third-party patents.
  25.  *
  26.  * Commercial implementations of H.263, including shareware, are
  27.  * subject to royalty fees to patent holders.  Many of these patents
  28.  * are general enough such that they are unavoidable regardless of
  29.  * implementation design.
  30.  *
  31. */
  32. /* Copyright ?1996 Intel Corporation All Rights Reserved
  33. Permission is granted to use, copy and distribute the software in this
  34. file for any purpose and without fee, provided, that the above
  35. copyright notice and this statement appear in all copies.  Intel makes
  36. no representations about the suitability of this software for any
  37. purpose.  This software is provided "AS IS."
  38. Intel specifically disclaims all warranties, express or implied, and
  39. all liability, including consequential and other indirect damages, for
  40. the use of this software, including liability for infringement of any
  41. proprietary rights, and including the warranties of merchantability
  42. and fitness for a particular purpose.  Intel does not assume any
  43. responsibility for any errors which may appear in this software nor
  44. any responsibility to update it.  */
  45. #include <windows.h>
  46. #include <process.h>
  47. #include <vfw.h>
  48. #include <memory.h>
  49. typedef struct
  50. {
  51.   HANDLE hThread;
  52.   HANDLE hReadyEvt;       //Add for initDisplay()
  53.   HANDLE hReadyQuitEvt;   //Add for closeDisplay()
  54.   HANDLE hEvent;
  55.   HWND hWnd;
  56.   MSG msg;
  57.   WNDCLASS wc;
  58.   HDRAWDIB hDrawDib;
  59.   HDC hDC;
  60.   BITMAPINFOHEADER biHeader;
  61.   char lpszAppName[15];
  62.   DWORD dwThreadID;
  63.   BOOL imageIsReady;
  64.   unsigned char *bufRGB;
  65.   RECT rect;
  66.   unsigned char *src[3];
  67.   int width, height;
  68.   int zoom, oldzoom;
  69.   int windowDismissed;
  70. } T_VDWINDOW;
  71. #define VIDEO_BEGIN     (WM_USER + 0)
  72. #define VIDEO_DRAW_FRAME   (WM_USER + 1)
  73. #define VIDEO_REDRAW_FRAME (WM_USER + 2)
  74. #define VIDEO_END       (WM_USER + 3)
  75. #ifdef __cplusplus
  76. extern "C"
  77. {
  78. #endif
  79. int initDisplay (int pels, int lines);
  80. int displayImage (unsigned char *lum, unsigned char *Cr, unsigned char *Cb);
  81. int closeDisplay ();
  82. void DisplayWinMain (void *);
  83. LONG APIENTRY MainWndProc (HWND, UINT, UINT, LONG);
  84. int DrawDIB ();
  85. void init_dither_tab();
  86. void ConvertYUVtoRGB(
  87.   unsigned char *src0,
  88.   unsigned char *src1,
  89.   unsigned char *src2,
  90.   unsigned char *dst_ori,
  91.   int width,
  92.   int height
  93. );
  94. int InitDisplayWindowThread (int,int);
  95. #pragma comment(lib, "vfw32.lib")
  96. #ifdef __cplusplus
  97. }
  98. #endif