KS_VIDEO_STREAM_CONFIG_CAPS 구조체(ksmedia.h)
KS_VIDEO_STREAM_CONFIG_CAPS 구조는 아날로그 비디오 표준(예: NTSC, PAL 또는 SECAM), 크기 조정 및 자르기 기능을 포함하여 비디오 스트림의 구성 및 기능을 설명합니다. 최소 및 최대 프레임 속도; 및 최소 및 최대 데이터 속도입니다.
구문
typedef struct _KS_VIDEO_STREAM_CONFIG_CAPS {
GUID guid;
ULONG VideoStandard;
SIZE InputSize;
SIZE MinCroppingSize;
SIZE MaxCroppingSize;
int CropGranularityX;
int CropGranularityY;
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;
멤버
guid
비디오 형식 유형을 지정하는 GUID입니다. 가능한 값은 다음과 같습니다.
KSDATAFORMAT_SPECIFIER_VIDEOINFO
KSDATAFORMAT_SPECIFIER_VIDEOINFO2
KSDATAFORMAT_SPECIFIER_ANALOGVIDEO
KSDATAFORMAT_SPECIFIER_VBI
KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO
KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO
이 GUID는 DirectShow AM_MEDIA_TYPE 열거형과 동일합니다. AM_MEDIA_TYPE 대한 자세한 내용은 DirectX SDK 설명서를 참조하세요.
VideoStandard
스트림에서 지원하는 아날로그 비디오 표준을 지정합니다. 이 멤버는 KS_AnalogVideoStandard 열거형에서 하나 이상의 (논리적으로 ORed) 값으로 설정할 수 있습니다.
InputSize
들어오는 신호의 크기를 지정합니다. InputSize 는 이미지 사각형의 너비와 높이를 픽셀 단위로 나타냅니다. 필터가 고유한 각 픽셀을 사용하여 디지털화할 수 있는 가장 큰 신호입니다.
MinCroppingSize
DataRange 멤버와 연결된 KS_VIDEOINFOHEADER 구조체의 rcSource 멤버에 지정된 대로 허용되는 가장 작은 자르기 사각형을 지정합니다.
MaxCroppingSize
DataRange 멤버와 연결된 KS_VIDEOINFOHEADER 구조체의 rcSource 멤버에 지정된 대로 허용되는 가장 큰 자르기 사각형을 지정합니다.
CropGranularityX
자르기 크기의 가로 세분성을 지정합니다. 예를 들어 유효한 너비를 4의 배수로 지정할 수 있습니다.
CropGranularityY
자르기 크기의 세로 세분성을 지정합니다. 예를 들어 유효한 높이를 4의 배수로 지정할 수 있습니다.
CropAlignX
InputSize 내에서 자르기 사각형의 가로 맞춤을 지정합니다. 예를 들어 미니 드라이버는 유효한 사각형이 4의 배수인 경계에서 시작되도록 지정할 수 있습니다.
CropAlignY
InputSize 내에서 자르기 사각형의 세로 맞춤을 지정합니다. 예를 들어 미니 드라이버는 유효한 사각형이 4의 배수인 경계에서 시작되도록 지정할 수 있습니다.
MinOutputSize
이 핀이 생성할 수 있는 가장 작은 비트맵을 지정합니다.
MaxOutputSize
이 핀이 생성할 수 있는 가장 큰 비트맵을 지정합니다.
OutputGranularityX
출력 비트맵 너비의 세분성을 지정합니다.
OutputGranularityY
출력 비트맵 높이의 세분성을 지정합니다.
StretchTapsX
필터가 이미지의 너비를 얼마나 늘릴 수 있는지를 나타내기 위해 다음 값 중 하나를 지정합니다.
값 | 의미 |
---|---|
0 | 필터를 늘릴 수 없습니다. |
1 | 필터는 픽셀 이중을 사용하여 스트레칭을 수행합니다. |
2 | 필터는 보간을 사용합니다(2개 탭). |
3 | 필터는 더 높은 순서(더 부드러운) 형태의 보간을 사용합니다. |
StretchTapsY
필터가 이미지의 높이를 얼마나 확장할 수 있는지를 나타내기 위해 다음 값 중 하나를 지정합니다.
값 | 의미 |
---|---|
0 | 필터를 늘릴 수 없습니다. |
1 | 필터는 픽셀 이중을 사용하여 스트레칭을 수행합니다. |
2 | 필터는 보간을 사용합니다(2개 탭). |
3 | 필터는 더 높은 순서(더 부드러운) 형태의 보간을 사용합니다. |
ShrinkTapsX
필터가 이미지의 너비를 얼마나 줄일 수 있는지를 나타내기 위해 다음 값 중 하나를 지정합니다.
값 | 의미 |
---|---|
0 | 필터를 축소할 수 없습니다. |
1 | 필터는 축소를 달성하기 위해 픽셀의 일부 행을 제거합니다. |
2 | 필터는 보간을 사용합니다(2개 탭). |
3 | 필터는 더 높은 순서(더 부드러운) 형태의 보간을 사용합니다. |
ShrinkTapsY
필터가 이미지 높이를 얼마나 줄일 수 있는지를 나타내기 위해 다음 값 중 하나를 지정합니다.
값 | 의미 |
---|---|
0 | 필터를 축소할 수 없습니다. |
1 | 필터는 축소를 달성하기 위해 픽셀의 일부 열을 제거합니다. |
2 | 필터는 보간을 사용합니다(2개 탭). |
3 | 필터는 더 높은 순서(더 부드러운) 형태의 보간을 사용합니다. |
MinFrameInterval
허용되는 최소 프레임 속도를 지정합니다. 이 값은 캡처 필터에만 적용됩니다.
MaxFrameInterval
허용되는 최대 프레임 속도를 지정합니다. 이 값은 캡처 필터에만 적용됩니다.
MinBitsPerSecond
이 핀이 생성할 수 있는 최소 데이터 속도(초당 비트)를 지정합니다.
MaxBitsPerSecond
이 핀이 생성할 수 있는 최대 데이터 속도(초당 비트)를 지정합니다.
설명
KS_VIDEO_STREAM_CONFIG_CAPS 구조체는 DirectShow VIDEO_STREAM_CONFIG_CAPS 구조체와 동일합니다.
이 구조체의 멤버 간의 관계를 이해하는 것이 중요합니다. 예를 들어 일부 구조체 멤버에 대해 다음 값을 가정합니다.
MinCroppingSize = (160, 120)
MaxCroppingSize = (320, 240)
CropGranularityX = 4
CropGranularityY = 8
이러한 값은 유효한 자르기 크기가 MinCroppingSize에서 시작되고 CropGranularityX 및 CropGranularityY별 y 방향에서 x 방향의 단계가 증가함을 나타냅니다. 이 경우 x-value는 160~320픽셀, 4단계의 어느 곳에나 있을 수 있으며 , y-value는 8단계에서 120~240픽셀까지일 수 있습니다.
예제 시나리오에서 유효한 크기 중 일부는 다음과 같습니다.
160 × 120, 164 × 120, 168 × 120, 172 × 120 등.
160 × 128, 164 × 128, 168 × 128, 172 × 128 등.
160 × 136, 164 × 136, 168 × 136, 172 × 136 등.
CropAlignX 및 CropAlignY 는 자르기 사각형이 입력 크기 사각형 내에 위치할 수 있는 위치를 나타냅니다. 160 × 120 자르기 사각형과 CropAlignX의 경우 2 값, CropAlignY의 경우 4 값을 지정하면 KS_VIDEOINFOHEADER 구조체의 rcSource 멤버에 대한 유효한 값 중 일부는 다음과 같습니다.
(0, 0, 160, 120)
(2, 0, 162, 120)
(2, 4, 162, 124)
(2, 8, 162, 128)
320 × 240 자르기 사각형과 동일한 자르기 맞춤 값(2, 4, 322, 244)의 경우 여러 유효한 사각형의 한 예입니다.
위에서 설명한 MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignX 및 CropAlignY 멤버는 함께 작동하여 출력 핀의 미디어 형식을 설명하는 KS_VIDEOINFOHEADER 구조에 유효한 rcSource 값을 지정합니다. 나머지 구조체 멤버(MinOutputSize, MaxOutputSize, OutputGranularityX 및 OutputGranularityY)는 핀의 미디어 형식 KS_VIDEOINFOHEADER 구조체에 포함된 KS_BITMAPINFOHEADER 구조체의 biWidth 및 biHeight 멤버를 설명합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ksmedia.h(Ksmedia.h 포함) |