home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / samples / mm / ultimoio / ulgdat.c < prev    next >
C/C++ Source or Header  |  1999-05-11  |  8KB  |  164 lines

  1. /*************************START OF SPECIFICATIONS *************************/
  2. /* SOURCE FILE NAME:  ULGDAT.C                                            */
  3. /*                                                                        */
  4. /* DESCRIPTIVE NAME: Ultimotion IO Proc Global variables                  */
  5. /*                                                                        */
  6. /* COPYRIGHT:     IBM - International Business Machines                   */
  7. /*            Copyright (c) IBM Corporation  1991, 1992, 1993             */
  8. /*                        All Rights Reserved                             */
  9. /*                                                                        */
  10. /* STATUS: OS/2 Release 2.0                                               */
  11. /*                                                                        */
  12. /************************* END OF SPECIFICATIONS **************************/
  13.  
  14. #include        <stdio.h>
  15.  
  16. #define         INCL_DOS                       /* #define  INCL_DOSPROCESS. */
  17. #define         INCL_ERRORS
  18. #define         INCL_WIN
  19. #define         INCL_GPI
  20. #include        <os2.h>                        /* OS/2 headers.             */
  21. #include        <pmbitmap.h>
  22.  
  23. #define         INCL_OS2MM
  24. #define         INCL_MMIO_CODEC
  25. #define         INCL_MMIO_DOSIOPROC
  26. #include        <os2me.h>                      /* Multi-Media IO extensions.*/
  27. #include        <hhpheap.h>
  28. #include        <ioi.h>
  29.  
  30. /********************************************************************/
  31. /*  FILE FORMAT SPECIFIC                                            */
  32. /*  DLL Global Process Instance Data - one copy per each process    */
  33. /********************************************************************/
  34.  
  35. /************************************************************************************/
  36. /*  FILE FORMAT SPECIFIC                                                            */
  37. /* Global Shared Data Segment - File Format specific enabled capabilities           */
  38. /*    - typedef in ioi.h declared here to be FFIO specific and externed back        */
  39. /************************************************************************************/
  40.  
  41. #pragma data_seg (SHR_SEG)           // Put this into a seperate data seg
  42.  
  43. FFIOFNCT ffiofnct = {
  44.  
  45.    (PFN)NULL,                          // MMIOM_GETCF
  46.    (PFN)NULL,                          // MMIOM_GETCFENTRY
  47.  
  48.    (PFN)IOProcOpen,                    // MMIOM_CLOSE
  49.    (PFN)IOProcClose,                   // MMIOM_OPEN
  50.    (PFN)IOProcRead,                    // MMIOM_READ
  51.    (PFN)IOProcSeek,                    // MMIOM_SEEK
  52.    (PFN)NULL,                          // MMIOM_WRITE
  53.  
  54.    (PFN)IOProcIdentifyFile,            // MMIOM_IDENTIFYFILE
  55.    (PFN)IOProcGetHeader,               // MMIOM_GETHEADER
  56.    (PFN)NULL,                          // MMIOM_SETHEADER
  57.    (PFN)IOProcQueryHeaderLength,       // MMIOM_QUERYHEADERLENGTH
  58.    (PFN)IOProcGetFormatName,           // MMIOM_GETFORMATNAME
  59.    (PFN)IOProcGetFormatInfo,           // MMIOM_GETFORMATINFO
  60.    (PFN)IOProcSeek,                    // MMIOM_SEEKBYTIME
  61.    (PFN)NULL,                          // MMIOM_TEMPCHANGE
  62.    (PFN)NULL,                          // MMIOM_BEGININSERT
  63.    (PFN)NULL,                          // MMIOM_ENDINSERT
  64.    (PFN)NULL,                          // MMIOM_SAVE
  65.    (PFN)IOProcSet,                     // MMIOM_SET
  66.    (PFN)NULL,                          // MMIOM_COMPRESS
  67.    (PFN)IOProcDecompress,              // MMIOM_DECOMPRESS
  68.    (PFN)IOProcMultiTrackRead,          // MMIOM_MULTITRACKREAD
  69.    (PFN)NULL,                          // MMIOM_MULTITRACKWRITE
  70.  
  71.    (PFN)NULL,                          // MMOIM_DELETE
  72.    (PFN)NULL,                          // MMIOM_BEGINGROUP
  73.    (PFN)NULL,                          // MMIOM_ENDGROUP
  74.    (PFN)NULL,                          // MMIOM_UNDO
  75.    (PFN)NULL,                          // MMIOM_REDO
  76.    (PFN)NULL,                          // MMIOM_BEGINSTREAM
  77.    (PFN)NULL,                          // MMIOM_ENDSTREAM
  78.  
  79.    (PFN)NULL,                          // MMIOM_COPY
  80.    (PFN)NULL,                          // MMIOM_CUT
  81.    (PFN)NULL,                          // MMIOM_PASTE
  82.    (PFN)NULL,                          // MMIOM_CLEAR
  83.    (PFN)NULL,                          // MMIOM_STATUS
  84.    (PFN)NULL                           // MMIOM_WINMSG
  85. };
  86.  
  87. #pragma data_seg ()
  88.  
  89. /****************************************************************************/
  90. /*              CODEC ini file info structure                               */
  91. /*                                                                          */
  92. /* *NOTE* - This table should be represented in the MMIO.INI file instead of*/
  93. /*          HARD-CODED in this IO PROC.                                     */
  94. /****************************************************************************/
  95. CODECINIFILEINFO acifiTable[] = {
  96.    {
  97.       sizeof(CODECINIFILEINFO),
  98.       FOURCC_FFIO,
  99.       "ULBDC4",                                     /* szDCIODLLName[] - Decompression IO Proc DLL name */
  100.       "CodecEntry",                                 /* szDCIOProcName[] - Decompression IO Proc entry point procedure name */
  101.       UM_VIDEO_COMPRESSION_TYPE_BH146,              /* ulDecompressionType - Id of each decompression type */
  102.       0L,
  103.       MMIO_MEDIATYPE_DIGITALVIDEO,
  104.       CODEC_DECOMPRESS+                             /* ulCapsFlags - Capabilities Flag */
  105.          CODEC_SELFHEAL+                            /* ulCapsFlags - Capabilities Flag */
  106.          CODEC_ORIGIN_UPPERLEFT+                    /* ulCapsFlags - Capabilities Flag */
  107.          CODEC_4_BIT_COLOR,                         /* ulCapsFlags - Capabilities Flag */
  108.       0,
  109.       0,
  110.       0,
  111.       0,
  112.       0,
  113.       8,
  114.       8,
  115.       0,
  116.    },
  117.    {
  118.       sizeof(CODECINIFILEINFO),
  119.       FOURCC_FFIO,
  120.       "ULBDC8",                                     /* szDCIODLLName[] - Decompression IO Proc DLL name */
  121.       "CodecEntry",                                 /* szDCIOProcName[] - Decompression IO Proc entry point procedure name */
  122.       UM_VIDEO_COMPRESSION_TYPE_BH146,              /* ulDecompressionType - Id of each decompression type */
  123.       0L,
  124.       MMIO_MEDIATYPE_DIGITALVIDEO,
  125.       CODEC_DECOMPRESS+                             /* ulCapsFlags - Capabilities Flag */
  126.          CODEC_SELFHEAL+                            /* ulCapsFlags - Capabilities Flag */
  127.          CODEC_ORIGIN_UPPERLEFT+                    /* ulCapsFlags - Capabilities Flag */
  128.          CODEC_MULAPERTURE+                         /* ulCapsFlags - Capabilities Flag */
  129.          CODEC_DIRECT_DISPLAY+                      /* ulCapsFlags - Capabilities Flag */
  130.          CODEC_8_BIT_COLOR,                         /* ulCapsFlags - Capabilities Flag */
  131.       0,
  132.       0,
  133.       0,
  134.       0,
  135.       0,
  136.       8,
  137.       8,
  138.       0,
  139.    },
  140.    {
  141.       sizeof(CODECINIFILEINFO),
  142.       FOURCC_FFIO,
  143.       "ULBDC16",                                    /* szDCIODLLName[] - Decompression IO Proc DLL name */
  144.       "CodecEntry",                                 /* szDCIOProcName[] - Decompression IO Proc entry point procedure name */
  145.       UM_VIDEO_COMPRESSION_TYPE_BH146,              /* ulDecompressionType - Id of each decompression type */
  146.       0L,
  147.       MMIO_MEDIATYPE_DIGITALVIDEO,
  148.       CODEC_DECOMPRESS+                             /* ulCapsFlags - Capabilities Flag */
  149.          CODEC_SELFHEAL+                            /* ulCapsFlags - Capabilities Flag */
  150.          CODEC_ORIGIN_UPPERLEFT+                    /* ulCapsFlags - Capabilities Flag */
  151.          CODEC_DIRECT_DISPLAY+                      /* ulCapsFlags - Capabilities Flag */
  152.          CODEC_16_BIT_COLOR,                        /* ulCapsFlags - Capabilities Flag */
  153.       0,
  154.       0,
  155.       0,
  156.       0,
  157.       0,
  158.       8,
  159.       8,
  160.       0,
  161.    },
  162. };
  163.  
  164.