Структура DDVIDEOPORTINFO (dvp.h)
Структура DDVIDEOPORTINFO описывает, как драйвер должен передавать видеоданные на поверхность (или на поверхности); DDVIDEOPORTINFO является членом структуры DD_VIDEOPORT_LOCAL .
Синтаксис
typedef struct _DDVIDEOPORTINFO {
DWORD dwSize;
DWORD dwOriginX;
DWORD dwOriginY;
DWORD dwVPFlags;
RECT rCrop;
DWORD dwPrescaleWidth;
DWORD dwPrescaleHeight;
LPDDPIXELFORMAT lpddpfInputFormat;
LPDDPIXELFORMAT lpddpfVBIInputFormat;
LPDDPIXELFORMAT lpddpfVBIOutputFormat;
DWORD dwVBIHeight;
ULONG_PTR dwReserved1;
ULONG_PTR dwReserved2;
} *LPDDVIDEOPORTINFO, DDVIDEOPORTINFO;
Члены
dwSize
Задает размер структуры в байтах. Этот элемент необходимо инициализировать перед использованием структуры.
dwOriginX
Указывает размещение видеоданных в пределах поверхности (в пикселях). Это смещение применяется ко всем поверхностям при запросе автоподбора.
dwOriginY
Указывает размещение видеоданных в пределах поверхности в пикселях. Это смещение применяется ко всем поверхностям при запросе автоподбора.
dwVPFlags
Указывает набор флагов, указывающих, как драйвер должен передавать видеоданные. Этот член может быть побитовой ИЛИ следующих значений:
Flag | Значение |
---|---|
DDVP_AUTOFLIP | Выполнение автоматического перелистывания. Автоматическое переворачивание выполняется между поверхностью наложения, подключенной к аппаратному видеопорту, и поверхностями наложения, прикрепленными к поверхности. Порядок переворачивания — это порядок, в котором были прикреплены поверхности наложения. |
DDVP_CONVERT | Видеоданные и целевая поверхность имеют разные форматы. Драйвер должен преобразовать видеоданные в формат целевой поверхности. |
DDVP_CROP | Драйвер должен обрезать видео и данные VBI с помощью прямоугольника в элементе rCrop . |
DDVP_IGNOREVBIXCROP | При обрезки данных VBI драйвер должен игнорировать координаты обрезки слева и справа. |
DDVP_INTERLEAVE | Чередующиеся поля видео и данных VBI должны чередуться в памяти. |
DDVP_MIRRORLEFTRIGHT | Видеоданные должны зеркально отображаться слева направо при записи в буфер кадров. |
DDVP_MIRRORUPDOWN | Видеоданные должны зеркально отображаться сверху вниз, когда они записываются в буфер кадров. |
DDVP_NOINTERLEAVE | Если установлен флаг DDVP_INTERLEAVE, драйвер должен чередовывать только видеоданные; то есть драйвер не должен чередуть данные VBI. |
DDVP_OVERRIDEBOBWEAVE | Решения bob и плетения не должны быть переопределены другими интерфейсами. Если этот флаг установлен, Microsoft DirectDraw не разрешает драйверу в режиме ядра использовать функцию передачи видео в режиме ядра для переключения оборудования между режимами bob и плетения. |
DDVP_PRESCALE | Выполняйте предварительное масштабирование и масштабирование на основе элементов dwPrescaleWidth и dwPrescaleHeight . Драйвер должен предварительно масштабировать только видеоданные, если задано DDVP_VBINOSCALE; В противном случае необходимо предварительно масштабировать данные видео и VBI. |
DDVP_SKIPEVENFIELDS | Пропускать входные данные четных полей как для видео, так и для данных VBI. |
DDVP_SKIPODDFIELDS | Пропускать входные данные нечетных полей как для видео, так и для данных VBI. |
DDVP_SYNCMASTER | Управление графическими VSYNCs с помощью аппаратного видеопорта VSYNCs. |
DDVP_VBICONVERT | Структура DDPIXELFORMAT , в которую точки-члены lpddpfVBIOutputFormat содержат данные, которые следует использовать для преобразования данных в пределах интервала вертикального пробела. |
DDVP_VBINOSCALE | Данные в пределах интервала вертикального пробела не следует масштабировать. |
rCrop
Задает структуру RECT , задающую прямоугольник обрезки в пикселях. Этот элемент содержит допустимый прямоугольник, если флаг DDVP_CROP установлен в элементе dwVPFlags .
dwPrescaleWidth
Указывает ширину в пикселях, до которой необходимо предварительно масштабировать или масштабировать данные видео и VBI. Например, если ширина видеоданных составляет 720 пикселей, а клиент запрашивает разрезать ширину вдвое, клиент указывает 360 в dwPrescaleWidth. Этот элемент содержит допустимую ширину, если флаг DDVP_PRESCALE установлен в элементе dwVPFlags .
dwPrescaleHeight
Указывает высоту в пикселях, до которой должны быть предварительно масштабированы или увеличены данные видео и VBI. Например, если ширина видеоданных составляет 240 пикселей, а клиент запрашивает разрезать ширину вдвое, клиент указывает 120 в dwPrescaleHeight. Этот элемент содержит допустимую ширину, если флаг DDVP_PRESCALE установлен в элементе dwVPFlags .
lpddpfInputFormat
Указывает на структуру DDPIXELFORMAT, которая задает формат видеоданных, записываемых в объект расширений видеопорта (VPE). Этот формат может отличаться от целевого формата поверхности, если объект VPE выполняет преобразование.
lpddpfVBIInputFormat
Указывает на структуру DDPIXELFORMAT, которая задает формат входных данных в пределах интервала вертикального пробела.
lpddpfVBIOutputFormat
Указывает на структуру DDPIXELFORMAT, которая задает формат вывода данных в пределах интервала вертикального пробела.
dwVBIHeight
Указывает количество строк данных в пределах интервала вертикального пробела.
dwReserved1
Зарезервировано для использования системой и должно игнорироваться драйвером.
dwReserved2
Зарезервировано для использования системой и должно игнорироваться драйвером.
Комментарии
Все элементы этой структуры задаются клиентом, и драйвер никогда не должен изменять их. Клиентом обычно является смеситель наложения.
Требования
Требование | Значение |
---|---|
Заголовок | dvp.h (включая Dvp.h) |