структура DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA (dxvahd.h)
Задает цветовое пространство для входного потока microsoft DirectX Video Acceleration High Definition (DXVA-HD).
Синтаксис
typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
union {
struct {
UINT Type : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Reserved : 28;
};
UINT Value;
};
} DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
Члены
Type
Указывает, содержит ли входной поток видео или графику. Устройство может оптимизировать обработку в зависимости от типа. Значение состояния по умолчанию — 0 (видео).
Значение | Значение |
---|---|
|
Видео. |
|
Графика. |
RGB_Range
Задает диапазон цветов RGB. Значение состояния по умолчанию — 0 (полный диапазон).
Значение | Значение |
---|---|
|
Полный диапазон (0–255). |
|
Ограниченный диапазон (16–235). |
YCbCr_Matrix
Задает матрицу передачи YCbCr. Значение состояния по умолчанию — 0 (BT.601).
Значение | Значение |
---|---|
|
ITU-R BT.601. |
|
ITU-R BT.709. |
YCbCr_xvYCC
Указывает, использует ли входной поток обычный YCbCr или расширенный YCbCr (xvYCC). Значение состояния по умолчанию — 0 (обычный YCbCr).
Значение | Значение |
---|---|
|
Обычный YCbCr. |
|
Расширенный YCbCr (xvYCC). |
Reserved
Value
Комментарии
Элемент RGB_Range применяется к входным данным RGB, а члены YCbCr_Matrix и YCbCr_xvYCC применяются к входным данным YCbCr (YUV).
В некоторых ситуациях устройство может выполнять промежуточное преобразование цвета во входном потоке. В этом случае используются флаги, применяемые к обоим цветовым пространствам. Например, предположим, что устройство преобразуется из RGB в YCbCr. Если элемент RGB_Range равен 0, а элемент YCbCr_Matrix равен 1, устройство преобразуется из полного диапазона RGB в BT.709 YCbCr.
Если устройство поддерживает формат xvYCC, оно возвращает флаг возможности DXVAHD_DEVICE_CAPS_xvYCC в элементе DeviceCapsструктуры DXVAHD_VPDEVCAPS . В противном случае устройство игнорирует значение YCbCr_xvYCC и обрабатывает все входные данные YCbCr как обычные YCbCr. Чтобы получить возможности устройства, вызовите IDXVAHD_Device::GetVideoProcessorDeviceCaps.
Примеры
HRESULT DXVAHD_SetInputColorSpace(
IDXVAHD_VideoProcessor *pVP,
UINT stream,
BOOL bPlayback, // TRUE = playback, FALSE = video processing
UINT RGB_Range, // 0 = 0-255, 1 = 16-235
UINT YCbCr_Matrix, // 0 = BT.601, 1 = BT.709
UINT YCbCr_xvYCC // 0 = Conventional YCbCr, 1 = xvYCC
)
{
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA data =
{
bPlayback ? 0 : 1,
RGB_Range ? 1 : 0,
YCbCr_Matrix ? 1 : 0,
YCbCr_xvYCC ? 1 : 0
};
HRESULT hr = pVP->SetVideoProcessStreamState(
stream,
DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE,
sizeof(data),
&data
);
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | dxvahd.h |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по