AM_MEDIA_TYPE中的样本大小是多少?

时间:2014-03-06 12:10:13

标签: c++ directshow

AM_MEDIA_TYPE结构如下所示:

typedef struct _MediaType {
  GUID     majortype;
  GUID     subtype;
  BOOL     bFixedSizeSamples;
  BOOL     bTemporalCompression;
  ULONG    lSampleSize;
  GUID     formattype;
  IUnknown *pUnk;
  ULONG    cbFormat;
  BYTE     *pbFormat;
} AM_MEDIA_TYPE;

文档说:

lSampleSize

Size of the sample in bytes. For compressed data, the value can be zero.

什么样的样本?

3 个答案:

答案 0 :(得分:2)

lSampleSize基本上是信息性的,并且是原子媒体流数据块大小的信息大小:未压缩视频的视频帧大小,最小音频块大小,每个音频样本或不可分割的数据帧。作为信息值,通常会被忽略。

答案 1 :(得分:0)

  

是什么样的样本?

示例基本上是他们所指的 media sample

<强>说明

  

当两个引脚连接时,它们会协商定义的媒体类型   通过AM_MEDIA_TYPE结构。媒体类型描述了格式   过滤器将交换的数据。如果过滤器不同意   在媒体类型上,他们无法连接。

答案 2 :(得分:0)

在您的情况下,滤镜输出某些视频,这是一帧中视频数据的大小。对于NV12,宽度为*高度* 3/2。