VIDEO_STREAM_CONFIG_CAPS 구조체(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
VIDEO_STREAM_CONFIG_CAPS 구조는 다양한 비디오 형식을 설명합니다. 비디오 압축 및 비디오 캡처 필터는 이 구조를 사용하여 생성할 수 있는 형식을 설명합니다.
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
구문
typedef struct _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;
} VIDEO_STREAM_CONFIG_CAPS;
멤버
guid
형식 형식을 식별하는 GUID입니다. 예를 들어 FORMAT_VideoInfo 또는 FORMAT_VideoInfo2. 자세한 내용은 AM_MEDIA_TYPE 구조체의 formattype 멤버를 참조하세요.
VideoStandard
아날로그 비디오 표준이 지원됩니다. 값은 AnalogVideoStandard 열거형 형식의 플래그 비트 조합 또는 0입니다.
InputSize
들어오는 비디오 신호의 네이티브 크기입니다. 압축기의 경우 크기는 입력 핀에서 가져옵니다. 캡처 필터의 경우 크기는 필터가 고유한 모든 픽셀로 디지털화할 수 있는 가장 큰 신호입니다.
MinCroppingSize
허용되는 가장 작은 원본 사각형입니다. 소스 사각형은 VIDEOINFOHEADER 또는 VIDEOINFOHEADER2 구조체의 rcSource 멤버에 정의됩니다.
MaxCroppingSize
허용되는 가장 큰 원본 사각형입니다.
CropGranularityX
원본 사각형의 가로 세분성입니다. 이 값은 MinCroppingSize와 MaxCroppingSize 간에 유효한 증분을 지정 합니다.
CropGranularityY
원본 사각형의 세로 세분성입니다. 이 값은 MinCroppingSize와 MaxCroppingSize 간에 유효한 증분을 지정 합니다.
CropAlignX
원본 사각형의 가로 맞춤이 필요합니다.
CropAlignY
원본 사각형의 필수 세로 맞춤입니다.
MinOutputSize
최소 출력 크기입니다.
MaxOutputSize
최대 출력 크기입니다.
OutputGranularityX
출력 너비의 세분성입니다. 이 값은 MinOutputSize와 MaxOutputSize 간에 유효한 증분을 지정 합니다.
OutputGranularityY
출력 높이의 세분성입니다. 이 값은 MinOutputSize와 MaxOutputSize 간에 유효한 증분을 지정 합니다.
StretchTapsX
필터가 이미지를 가로로 확장할 수 있는 정도를 나타냅니다.
StretchTapsY
필터가 이미지를 세로로 확장할 수 있는 정도를 나타냅니다.
ShrinkTapsX
필터가 이미지를 가로로 얼마나 잘 축소할 수 있는지를 나타냅니다.
ShrinkTapsY
필터가 이미지를 세로로 축소할 수 있는 정도를 나타냅니다.
값 | 의미 |
---|---|
|
확장/축소를 지원하지 않습니다. |
|
픽셀 두 배(늘이기)를 사용하거나 픽셀을 제거합니다(축소). |
|
보간 사용(탭 2개) |
|
보간 사용(>탭 2개) |
MinFrameInterval
최소 프레임 기간(100나노초 단위)입니다. 이 값은 캡처 필터에만 적용됩니다.
MaxFrameInterval
최대 프레임 기간(100나노초 단위)입니다. 이 값은 캡처 필터에만 적용됩니다.
MinBitsPerSecond
이 핀이 생성할 수 있는 최소 데이터 속도입니다.
MaxBitsPerSecond
이 핀이 생성할 수 있는 최대 데이터 속도입니다.
설명
IAMStreamConfig::GetStreamCaps 메서드는 이 구조를 반환합니다. 애플리케이션은 이 정보를 사용하여 비디오 압축 필터 또는 비디오 캡처 필터의 출력 형식을 수정할 수 있습니다.
예를 들어 필터가 원본 사각형에 대해 다음 값을 반환한다고 가정합니다.
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAlignY = 4
CropAlignX 및 CropAlignY 멤버는 원본 사각형의 왼쪽 위 모서리가 배치할 수 있는 위치를 정의합니다. 예를 들어 이전 값을 고려할 때 다음 사각형은 유효합니다.
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 8, 162, 128)
캡처 필터의 경우 MinFrameInterval 및 MaxFrameInterval 멤버는 VIDEOINFOHEADER 또는 VIDEOINFOHEADER2 구조체의 AvgTimePerFrame 멤버에 지정된 대로 각 프레임의 최소 및 최대 기간을 정의합니다. 필터는 이러한 두 값 사이에 속하는 모든 프레임 속도를 지원하지 않을 수 있습니다. IAMStreamConfig::SetFormat 메서드는 프레임 속도를 필터가 지원하는 가장 가까운 값으로 설정합니다. SetFormat이 성공하면 IAMStreamConfig::GetFormat을 호출하여 실제 프레임 속도를 확인합니다.
요구 사항
머리글 | strmif.h(Dshow.h 포함) |