home *** CD-ROM | disk | FTP | other *** search
/ Popular Software Hundred Flowers Garden / POPSOFT_BHW.iso / SOFTWARE / MPEG / MpegGator / DATA.1 / avdef.h next >
Encoding:
C/C++ Source or Header  |  1997-05-29  |  3.3 KB  |  116 lines

  1. //==================================================================
  2. //
  3. //  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. //  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. //  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. //  PURPOSE.
  7. //
  8. //  Copyright (c) 1996 Darim Vision Co., Ltd. ("DARIM")
  9. //==================================================================
  10. // File : AVDEF.H
  11.  
  12. #ifndef __AVDEF__
  13. #define __AVDEF__
  14.  
  15. #ifdef    __cplusplus
  16. extern "C" {
  17. #endif
  18.  
  19. // video settings
  20. typedef enum { UNKNOWN = 0, FILM, FILM24, PAL, NTSC, NTSC30 } VSystem;
  21. typedef enum { n_frame=0, i_frame, p_frame, b_frame } frame_type;
  22.  
  23. // audio settings
  24. typedef    enum { freq_16, freq_2205, freq_24, freq_32, freq_4410, freq_48, freq_no } audio_freq;
  25. typedef    enum { mode_mono, mode_stereo, mode_no } audio_mode;
  26.  
  27. // mpeg settings
  28. typedef enum { mpeg_no=3, mpeg_1=1, mpeg_2=0 } mpeg_type;
  29. typedef enum { MPEG_SIF, MPEG_SIFSQ, MPEG_QSIF, MPEG_QSIFSQ } mpeg_size;
  30.  
  31. //==============================================
  32. //typedef    enum { no_mpeg_stream=0, audio_stream=1, mpeg1_video_stream=2, mpeg2_video_stream=3 } mpeg_stream_type;
  33. //typedef enum { mpeg_layer_no=0, mpeg_layer_1=1, mpeg_layer_2=2 } mpeg_layer_type;
  34. //typedef    enum { no_bitrate=4, custom_bitrate=0, video_cd_bitrate=1, cdx1_bitrate=2, cdx2_bitrate=3 } bitrate_type;
  35.  
  36. typedef    enum {
  37.     FORBIDDEN_TYPE = -1,
  38.     SEPVIDEO_TYPE = 0,
  39.     SYSVIDEO_TYPE,
  40.     SYSAV_TYPE,
  41.     CDROM_TYPE,
  42.     VCD_TYPE,
  43.     CDROM2_TYPE,
  44.     AVIVIDEO_TYPE,
  45.     AVIAV_TYPE,
  46.     SEPVIDEO_MPEG2_TYPE,
  47.     SEPVIDEO_MPEG2_BOTTOM_TYPE,
  48.     PROGAV_MPEG2_TYPE,
  49.     PROGAV_MPEG2_BOTTOM_TYPE,
  50.     PROGAV_MPEG1_TYPE,
  51.     NETOOB_HALF,
  52.   NETOOB_QUATER,
  53.   NETOOB_QUATERV,
  54.     NETOOB_HALFV } mpeg_stream_type;
  55.  
  56. #define    ISSYSTEM(n)\
  57.  (!((n==SEPVIDEO_TYPE) || \
  58.    (n==SEPVIDEO_MPEG2_TYPE) || \
  59.    (n==SEPVIDEO_MPEG2_BOTTOM_TYPE) || \
  60.      (n==NETOOB_QUATERV) || \
  61.      (n==NETOOB_HALFV)))
  62.  
  63. #define    ISPROGRAM(n)\
  64.     ((n==PROGAV_MPEG2_TYPE) || \
  65.      (n==PROGAV_MPEG2_BOTTOM_TYPE) || \
  66.      (n==PROGAV_MPEG1_TYPE))
  67.  
  68. #define    ISAUDIO(n) \
  69.     ((n==SYSAV_TYPE) || \
  70.      (n==VCD_TYPE) || \
  71.      (n==PROGAV_MPEG2_TYPE) || \
  72.      (n==PROGAV_MPEG2_BOTTOM_TYPE) || \
  73.      (n==PROGAV_MPEG1_TYPE)|| \
  74.      (n==NETOOB_HALF)|| \
  75.      (n==NETOOB_QUATER))
  76.  
  77. #define    ISMPEG2(n) \
  78.     ((n==SEPVIDEO_MPEG2_TYPE) || \
  79.      (n==PROGAV_MPEG2_TYPE) || \
  80.      (n==SEPVIDEO_MPEG2_BOTTOM_TYPE) || \
  81.      (n==PROGAV_MPEG2_BOTTOM_TYPE))
  82.  
  83. #define    ISNETOOB(n) \
  84.     ((n==NETOOB_HALF) || \
  85.      (n==NETOOB_QUATER) || \
  86.      (n==NETOOB_HALFV) || \
  87.      (n==NETOOB_QUATERV))
  88.  
  89. typedef    enum { mono32=0, mono48, mono56, mono64, stereo64, mono80,
  90.     mono96, stereo96, mono112, stereo112, mono128, stereo128, mono160, stereo160,
  91.     mono192, stereo192, stereo224, stereo256, stereo320, stereo384,
  92.     atype_free = -2, atype_forbidden = -1 } ampeg_type;
  93.  
  94. typedef    enum {
  95.     single = 0,
  96.     stereo = 1,
  97.     dual_channel = 2,
  98.     joint_stereo = 4,
  99.     joint_stereo_bound4 = 4,
  100.     joint_stereo_bound8 = 8,
  101.     joint_stereo_bound12 = 12,
  102.     joint_stereo_bound16 = 16 } ampeg_mode;
  103.  
  104. #define    ISJOINTSTEREO(mode) (((int)mode) >= 4)
  105.  
  106. typedef    enum { layer_1, layer_2, layer_3, layer_reserved = -1 } ampeg_layer;
  107.  
  108. //==============================================
  109. #define BITRATE_VIDEOCD (1125l * 1024l)
  110.  
  111. #ifdef    __cplusplus
  112. } // extern "C" {
  113. #endif
  114.  
  115. #endif    //__AVDEF__
  116.