1 /*
    2 **	$VER: cgxvideo.h 43.17 (5.03.2021)
    3 **
    4 **	include file for cgxvideo.library
    5 **
    6 **	Copyright © 1996-1998 by phase5 digital products
    7 **	Copyright © 1999-2008 by Vision Factory Development
    8 **	Copyright © 2009-2021 by MorphOS Team/VFD 
    9 **
   10 **	All Rights reserved.
   11 **
   12 */
   13 
   14 #ifndef LIBRARIES_CGXVIDEO_H
   15 #define LIBRARIES_CGXVIDEO_H
   16 
   17 #include <exec/types.h>
   18 
   19 struct VLayerHandle;
   20 
   21 
   22 #define VOA_LeftIndent    0x88000001
   23 #define VOA_RightIndent   0x88000002
   24 #define VOA_TopIndent     0x88000003
   25 #define VOA_BottomIndent  0x88000004
   26 
   27 #define VOA_SrcType       0x88000005
   28 #define VOA_SrcWidth      0x88000006
   29 #define VOA_SrcHeight     0x88000007
   30 
   31 #define VOA_Error         0x88000008
   32 
   33 #define VOA_UseColorKey   0x88000009
   34 
   35 #define VOA_UseBackfill   0x8800000a
   36 
   37 #define VOA_UseFilter     0x8800000c
   38 
   39 #define VOA_BaseAddress   0x88000030
   40 #define VOA_ColorKeyPen   0x88000031
   41 #define VOA_ColorKey      0x88000032
   42 
   43 /* v42 additions */
   44 #define VOA_Identifier    0x8800000b
   45 
   46 #define VOA_FrameBase0    0x88000033
   47 #define VOA_FrameBase1    0x88000034
   48 #define VOA_FrameType     0x88000035
   49 
   50 #define VOA_Width         0x88000036
   51 #define VOA_Height        0x88000037
   52 #define VOA_Modulo        0x88000038      /* may be specified by CreateVLayerTagList() for v43 */
   53 
   54 /* V43 additions */
   55 
   56 #define VOA_DoubleBuffer  0x8800000d
   57 #define VOA_InterLaced    0x8800000e
   58 #define VOA_CaptureMode   0x8800000f
   59 
   60 #define VOA_BaseOffset    0x88000039
   61 
   62 /* V50 additions */
   63 
   64 #define VOA_FrameIndex    0x88000010
   65 #define VOA_MultiBuffer   0x88000011
   66 #define VOA_ZoomRect      0x88000012
   67 
   68 #define VOA_BaseOffset0   0x88000040
   69 #define VOA_BaseOffset1   0x88000041
   70 #define VOA_BaseOffset2   0x88000042
   71 #define VOA_BaseOffset3   0x88000043
   72 #define VOA_BaseOffset4   0x88000044
   73 #define VOA_BaseOffset5   0x88000045
   74 
   75 
   76 #define VOA_Color0SP            0x88000050
   77 #define VOA_Color1SP            0x88000051
   78 #define VOA_Color2SP            0x88000052
   79 #define VOA_Color3SP            0x88000053
   80 #define VOA_Color4SP            0x88000054
   81 #define VOA_Color5SP            0x88000055
   82 #define VOA_Color6SP            0x88000056
   83 #define VOA_Color7SP            0x88000057
   84 #define VOA_Color8SP            0x88000058
   85 #define VOA_Color9SP            0x88000059
   86 #define VOA_Color10SP           0x8800005A
   87 #define VOA_Color11SP           0x8800005B
   88 #define VOA_Color12SP           0x8800005C
   89 #define VOA_Color13SP           0x8800005D
   90 #define VOA_Color14SP           0x8800005E
   91 #define VOA_Color15SP           0x8800005F
   92 
   93 #define VOA_SubPicture          0x88000060
   94 #define VOA_EnableSP            0x88000061
   95 #define VOA_StreamRectSP        0x88000062
   96 #define VOA_ColConSP            0x88000063
   97 #define VOA_HLEnableSP          0x88000065
   98 #define VOA_HLRectSP            0x88000064
   99 #define VOA_HLColConSP          0x88000066
  100 #define VOA_SrcWidthSP          0x88000067
  101 #define VOA_SrcHeightSP         0x88000068
  102 
  103 #define VOA_ColorKeyFill        0x88000070
  104 
  105 #define VSQ_Dummy               (TAG_USER + 0xA5000)
  106 #define VSQ_SupportedFeatures   (VSQ_Dummy + 1UL)
  107 
  108 #define VSQ_FEAT_OVERLAY        (1UL << 0)
  109 #define VSQ_FEAT_DOUBLEBUFFER   (1UL << 1)
  110 #define VSQ_FEAT_MULTIBUFFER    (1UL << 2)
  111 #define VSQ_FEAT_COLORKEYING    (1UL << 3)
  112 #define VSQ_FEAT_FILTERING      (1UL << 4)
  113 #define VSQ_FEAT_CAPTUREMODE    (1UL << 5)
  114 #define VSQ_FEAT_INTERLACE      (1UL << 6)
  115 #define VSQ_FEAT_ZOOMRECT       (1UL << 7)
  116 #define VSQ_FEAT_SUBPICTURE     (1UL << 8)
  117 
  118 #define VSQ_SupportedFormats    (VSQ_Dummy + 2UL)
  119 
  120 #define VSQ_FMT_YUYV            (1UL << 0)
  121 #define VSQ_FMT_R5G5B5_LE       (1UL << 1)
  122 #define VSQ_FMT_R5G6B5_LE       (1UL << 2)
  123 #define VSQ_FMT_YUV420_PLANAR   (1UL << 3)
  124 
  125 #define VSQ_MaxWidth            (VSQ_Dummy + 3UL)       /* will return maximum width for overlay */
  126 
  127 #define VSQ_MaxWidthSP          (VSQ_Dummy + 4UL)       /* will return maximum width for subpicture */
  128 
  129 /* possible errors returned with VOA_Error tag */
  130 
  131 #define VOERR_OK                0       /* No error */
  132 #define VOERR_INVSCRMODE        1       /* video overlay not possible for that mode */
  133 #define VOERR_NOOVLMEMORY       2       /* No memory for video overlay */
  134 #define VOERR_INVSRCFMT         3       /* Source format not supported */
  135 #define VOERR_NOMEMORY          4       /* Not enough memory */
  136 
  137 /* Source data types              */
  138 /* see cgxvideo.doc for more info */
  139 
  140 #define SRCFMT_YUV16    0       /* obsolete */
  141 #define SRCFMT_YCbCr16  1
  142 #define SRCFMT_RGB15    2       /* this format is actually byte swapped */
  143 #define SRCFMT_R5G5B5PC 2
  144 #define SRCFMT_RGB16    3       /* this format is actually byte swapped */
  145 #define SRCFMT_R5G6B5PC 3
  146 #define SRCFMT_YCbCr420 4       /* YUV planar */
  147 
  148 #endif /* LIBRARIES_CGXVIDEO_H */