estrutura DXVADDI_VIDEOPROCESSORCAPS (d3dumddi.h)
A estrutura DXVADDI_VIDEOPROCESSORCAPS descreve os recursos de processamento de vídeo de um modo de desinterlace específico.
Sintaxe
typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
[out] D3DDDI_POOL InputPool;
[out] UINT NumForwardRefSamples;
[out] UINT NumBackwardRefSamples;
[out] D3DDDIFORMAT OutputFormat;
[out] UINT DeinterlaceTechnology;
[out] UINT ProcAmpControlCaps;
[out] UINT VideoProcessorOperations;
[out] UINT NoiseFilterTechnology;
[out] UINT DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;
Membros
[out] InputPool
Um valor de tipo D3DDDI_POOL que indica o pool de memória do qual as superfícies de origem entrelaçadas devem ser alocadas.
[out] NumForwardRefSamples
O número necessário de exemplos de referência de encaminhamento para o modo de desinterlace definido. Os exemplos estão em campos subsequentes. Esse valor é zero para mistura de linha e bob e pode ser outros valores (como 1, 2 ou 3) para desinterlacização adaptável e conversão de taxa de quadros.
[out] NumBackwardRefSamples
Os exemplos de referência anterior necessários para o modo de desinterlace definido. Os exemplos estão em campos anteriores. Esse valor é zero para bob, 1 para mesclagem de linha e pode ser outros valores (como 1, 2 ou 3) para desinterlacização adaptável e conversão de taxa de quadros.
[out] OutputFormat
Um valor de tipo D3DDDIFORMAT que indica o formato de pixel dos quadros de saída descompactados. Normalmente, um algoritmo de desinterlace gera quadros em um formato de pixel que corresponde ao formato de exemplo de entrada. Esse membro garante que o Renderizador de Combinação de Vídeo (VMR) ou outro renderizador de vídeo seja capaz de fornecer as superfícies de quadro de saída corretas para o hardware de desinterlacagem.
Observe que, se o valor DXVADDI_VIDEOPROCESS_YUV2RGB for retornado no membro VideoProcessorOperations , a VMR determinará que os formatos de saída válidos são especificados por esse membro, bem como um formato D3DFMT_X8R8G8B8.
[out] DeinterlaceTechnology
Um OR bit a bit dos valores a seguir para indicar a tecnologia de desinterlacização subjacente usada para implementar o algoritmo de desinterlacção. Os valores podem ser combinados conforme necessário para corresponder mais de perto à implementação do algoritmo.
Valor | Significado |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | A tecnologia de desinterlacagem é desconhecida. |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | O algoritmo de desinterlace cria linhas ausentes repetindo a linha acima ou abaixo de uma linha ausente. Esse método parece irregular e não é recomendado. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | Um algoritmo de desinterlace que cria linhas ausentes alongando verticalmente cada campo de vídeo por um fator de duas, com uma média de duas linhas. Pequenos ajustes verticais são feitos para garantir que a imagem resultante não se mova para cima e para baixo. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | Um algoritmo de desinterlace que cria linhas ausentes alongando verticalmente cada campo de vídeo por um fator de dois usando um filtro [-1, 9, 9, -1] / 16 em quatro linhas. Pequenos ajustes verticais são feitos para garantir que a imagem resultante não se mova para cima e para baixo. |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | Os pixels na linha ausente são recriados por uma operação de filtragem mediana. |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | Pixels na linha ausente são recriados por um filtro de borda. Nesse processo, filtros direcionais espaciais são aplicados para determinar a orientação das bordas no conteúdo da imagem e pixels ausentes são criados filtrando junto (em vez de entre) as bordas detectadas. |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | Pixels na linha ausente são recriados alternando campo a campo entre interpolação espacial ou temporal, dependendo da quantidade de movimento. |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | Pixels na linha ausente são recriados alternando em uma base pixel por pixel entre interpolação espacial ou temporal, dependendo da quantidade de movimento. |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | Objetos dentro de uma sequência de campos de vídeo. Os pixels ausentes são recriados depois de alinhar primeiro o eixo de movimento dos objetos individuais na cena para torná-los paralelos com o eixo de tempo. |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | Um algoritmo de desinterlace que pode desfazer o processo de pull-down 3:2 que é usado para exibir conteúdo de 24Hz em 60Hz-displays, 25Hz-content em 50Hz-displays ou assim por diante. |
[out] ProcAmpControlCaps
Um OR bit a bit dos valores a seguir para indicar as operações ProcAmp às quais o hardware dá suporte.
Valor | Significado |
---|---|
DXVADDI_PROCAMP_NONE | O hardware não dá suporte a nenhuma operação ProcAmp. |
DXVADDI_PROCAMP_BRIGHTNESS | Ajustes de brilho na imagem de vídeo são permitidos. |
DXVADDI_PROCAMP_CONTRAST | Ajustes de contraste na imagem de vídeo são permitidos. |
DXVADDI_PROCAMP_HUE | Ajustes de matiz na imagem de vídeo são permitidos. |
DXVADDI_PROCAMP_SATURATION | Ajustes de saturação na imagem de vídeo são permitidos. |
[out] VideoProcessorOperations
Um OR bit a bit dos valores a seguir para indicar quais operações de processamento de vídeo adicionais o hardware pode executar simultaneamente com a operação VideoProcessBlt solicitada.
Valor | Significado |
---|---|
DXVADDI_VIDEOPROCESS_NONE | O hardware não pode executar mais nenhuma operação de processamento de vídeo. |
DXVADDI_VIDEOPROCESS_YUV2RGB | A conversão de vídeo do espaço de cor YUV para o espaço de cor RGB é permitida. O formato RGB usado tem pelo menos 8 bits de precisão para cada componente de cor. Se essa operação for possível, uma cópia de buffer dentro da VMR poderá ser evitada. Observe que a conversão do espaço de cor RGB para o espaço de cor YUV não é necessária. |
DXVADDI_VIDEOPROCESS_STRETCHX | A correção da taxa de proporção pode ser executada ao mesmo tempo em que o vídeo é ajustado por ProcAmp se o hardware é capaz de alongar ou reduzir horizontalmente. |
DXVADDI_VIDEOPROCESS_STRETCHY | O ajuste da taxa de proporção é combinado com uma operação geral de redimensionamento de imagem para dimensionar a imagem de vídeo dentro de um espaço de composição definido pelo aplicativo. Essa operação é rara e não é um recurso essencial. É melhor se o dimensionamento necessário para redimensionar o vídeo para caber na janela do aplicativo puder ser feito ao mesmo tempo que o dimensionamento necessário para o ajuste procAmp. Esse tipo de operação evita artefatos cumulativos. |
DXVADDI_VIDEOPROCESS_ALPHABLEND | A VMR não executa uma cópia de buffer quando um valor alfa é alterado. Os aplicativos raramente alteram o valor alfa constante associado ao fluxo de vídeo, portanto, essa operação é um recurso de baixa prioridade. |
DXVADDI_VIDEOPROCESS_SUBRECTS | O dispositivo de processamento de vídeo pode operar em uma região de subrectangle da imagem de vídeo. Essa operação será útil se a imagem de vídeo precisar ser cortada antes de ser processada ainda mais à medida que o tamanho do quadro de saída for reduzido. |
DXVADDI_VIDEOPROCESS_SUBSTREAMS | O dispositivo de processamento de vídeo pode combinar subfluxos de vídeo com o fluxo de vídeo. |
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED | Os ajustes de cor necessários podem ser feitos nos fluxos de vídeo de origem e substreams. Esses ajustes são indicados nos dados de cor estendidos, pois o vídeo é desinterlaceado, composto com os substreams e gravado na superfície de destino. |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | Uma operação de conversão de espaço de cor pode ser executada à medida que os pixels desinterlaceados e compostos são gravados na superfície de destino usando as informações de cor estendidas especificadas para as superfícies de origem e destino. |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | Uma operação de mistura alfa pode ser executada com a superfície de destino quando os pixels desinterlaced e compostos são gravados na superfície de destino. O driver deve lidar com a cor da tela de fundo com base no valor alfa do membro Alfa da estrutura D3DDDIARG_VIDEOPROCESSBLT . Quando o valor alfa é 1,0, a cor da tela de fundo é desenhada opaca (sem transparência). Quando o valor alfa é 0,0, a tela de fundo não deve ser desenhada (transparente). |
DXVADDI_VIDEOPROCESS_CONSTRICTION | O dispositivo de processamento de vídeo pode reduzir temporariamente o quadro de saída para um tamanho que o membro ConstrictionSize da estrutura D3DDDIARG_VIDEOPROCESSBLT especifica. |
DXVADDI_VIDEOPROCESS_NOISEFILTER | O dispositivo de processamento de vídeo pode executar operações de filtragem de ruído no fluxo de vídeo. |
DXVADDI_VIDEOPROCESS_DETAILFILTER | O dispositivo de processamento de vídeo pode executar operações de filtragem detalhadas no fluxo de vídeo. |
DXVADDI_VIDEOPROCESS_PLANARALPHA | O dispositivo de processamento de vídeo pode aplicar uma mistura alfa constante a todo o fluxo de vídeo (plano) enquanto mistura o fluxo de vídeo e os substreams. O membro Alfa do D3DDDIARG_VIDEOPROCESSBLT especifica o valor alfa. |
DXVADDI_VIDEOPROCESS_LINEARSCALING | O dispositivo de processamento de vídeo pode dimensionar linearmente o fluxo de vídeo. |
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED | O dispositivo de processamento de vídeo pode executar a conversão gama no fluxo de vídeo. |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | O dispositivo de processamento de vídeo pode manter os dados de campo originais. |
[out] NoiseFilterTechnology
Um OR bit a bit dos valores a seguir para indicar a tecnologia subjacente usada para implementar a filtragem de ruído. Os valores podem ser combinados conforme necessário para corresponder mais de perto à implementação do filtro de ruído.
Valor | Significado |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | Não há suporte para nenhuma tecnologia de filtro de ruído. |
DXVADDI_NOISEFILTERTECH_UNKNOWN | A tecnologia de filtro de ruído é desconhecida. |
DXVADDI_NOISEFILTERTECH_MEDIAN | O dispositivo de processamento de vídeo usa filtragem de ruído mediana. |
DXVADDI_NOISEFILTERTECH_TEMPORAL | O dispositivo de processamento de vídeo usa filtragem de ruído temporal. |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | O dispositivo de processamento de vídeo usa filtragem de ruído de bloco. |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | O dispositivo de processamento de vídeo usa filtragem de ruído de mosquitos. |
[out] DetailFilterTechnology
Um OR bit a bit dos valores a seguir para indicar a tecnologia subjacente usada para implementar a filtragem de detalhes. Os valores podem ser combinados conforme necessário para corresponder mais de perto à implementação de filtro de detalhes.
Valor | Significado |
---|---|
DXVADDI_DETAILFILTERTECH_UNSUPPORTED | Não há suporte para nenhuma tecnologia de filtro de detalhes. |
DXVADDI_DETAILFILTERTECH_UNKNOWN | A tecnologia de filtro de detalhes é desconhecida. |
DXVADDI_DETAILFILTERTECH_EDGE | O dispositivo de processamento de vídeo usa a filtragem de detalhes de borda. |
DXVADDI_DETAILFILTERTECH_SHARPENING | O dispositivo de processamento de vídeo usa a filtragem de detalhes de nitidez. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |