KS相机驱动
+ -

AVStream数据格式分辨率结构体

2025-05-28 0 0
typedef struct tagKS_DATARANGE_VIDEO {
    KSDATARANGE                  DataRange;
    BOOL                         bFixedSizeSamples= TRUE,所有采样是否大小相同
    BOOL                         bTemporalCompression = FALSE,每个采样是否独立
    DWORD                        StreamDescriptionFlags = 0,未用
    DWORD                        MemoryAllocationFlags =0,未用
     KS_VIDEO_STREAM_CONFIG_CAPS  ConfigCaps;
    KS_VIDEOINFOHEADER           VideoInfoHeader;
} KS_DATARANGE_VIDEO, *PKS_DATARANGE_VIDEO;

typedef union {
  struct {
    ULONG FormatSize=sizeof(KS_DATARANGE_VIDEO)
    ULONG Flags =0;//2说是列表KSATTRIBUTE_LIST
    ULONG SampleSize=X*Y*2,文档说要忽略
    ULONG Reserved=0
    GUID  MajorFormat;=VIDEO
    GUID  SubFormat=YUY2_GUID
    GUID  Specifier=VIDEO_SPECIFY
  };
  LONGLONG Alignment;
} KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;


typedef struct _KS_VIDEO_STREAM_CONFIG_CAPS {
  GUID     guid;
  ULONG    VideoStandard=视频标准
  SIZE     InputSize=输入信号的大小
  SIZE     MinCroppingSize=允许的最小裁剪
  SIZE     MaxCroppingSize=允许的最大裁剪
  int      CropGranularityX=x裁剪大小的颗粒度
  int      CropGranularityY=Y裁剪大小
  int      CropAlignX=裁剪后的大小颗粒度
  int      CropAlignY=裁剪后的大小颗粒度
  SIZE     MinOutputSize=最小位图
  SIZE     MaxOutputSize=最大位图
  int      OutputGranularityX=输出的图的颗粒度
  int      OutputGranularityY=输出图的颗粒度
  int      StretchTapsX=拉伸方式
  int      StretchTapsY;
  int      ShrinkTapsX=收缩方式
  int      ShrinkTapsY;
  LONGLONG MinFrameInterval=最小帧率
  LONGLONG MaxFrameInterval=最大帧率
  LONG     MinBitsPerSecond=数据速率
  LONG     MaxBitsPerSecond;
} KS_VIDEO_STREAM_CONFIG_CAPS,*PKS_VIDEO_STREAM_CONFIG_CAPS;

typedef struct tagKS_VIDEOINFOHEADER {
  RECT                rcSource=裁剪矩形
  RECT                rcTarget=目标矩形
  DWORD               dwBitRate=帧率
  DWORD               dwBitErrorRate=误码率
  REFERENCE_TIME      AvgTimePerFrame=帧时间间隔100ns
  KS_BITMAPINFOHEADER bmiHeader;
} KS_VIDEOINFOHEADER, *PKS_VIDEOINFOHEADER;

typedef struct tagKS_BITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes=平面数,永为1
  WORD  biBitCount16
  DWORD biCompression=FOURC_YUY2
  DWORD biSizeImage=位图大小,压缩时用
  LONG  biXPelsPerMeter=0
  LONG  biYPelsPerMeter=0
  DWORD biClrUsed=0
  DWORD biClrImportant=0
} KS_BITMAPINFOHEADER, *PKS_BITMAPINFOHEADER;

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!