120 lines
3.2 KiB
Markdown
120 lines
3.2 KiB
Markdown
---
|
|
page_type: sample
|
|
languages:
|
|
- cpp
|
|
products:
|
|
- windows-api-win32
|
|
name: DXVA-HD sample
|
|
urlFragment: dxva-hd
|
|
extendedZipContent:
|
|
- path: LICENSE
|
|
target: LICENSE
|
|
description: This sample demonstrates DirectX Video Acceleration High Definition. DXVA-HD is a low-level video processing API.
|
|
---
|
|
|
|
# DXVA-HD sample
|
|
|
|
This sample demonstrates DirectX Video Acceleration High Definition (DXVA-HD). DXVA-HD is a low-level video processing API.
|
|
|
|
This sample is essentially a port of the DXVA2_VideoProc sample to use the DXVA-HD interfaces. It has the same basic functionality, and most of the keyboard commands are the same.
|
|
|
|
DXVA-HD has additional capabilities that make it more powerful for video processing than the original DXVA-VP APIs introduced in Windows Vista:
|
|
|
|
- Any stream can be either RGB or YUV.
|
|
- Any stream can be either progressive or interlaced.
|
|
- The background color can be RGB.
|
|
- Luma keying.
|
|
- The device can switch between blend, bob, and adaptive deinterlacing.
|
|
- Mandatory output formats: X8R8G8B8 and A8R8G8B8
|
|
- Mandatory input formats: X8R8G8B8, A8R8G8B8, YUY2 and AYUV
|
|
|
|
## Sample language implementations
|
|
|
|
C++
|
|
|
|
## Files
|
|
|
|
Application.cpp
|
|
Application.h
|
|
D3DHelper.cpp
|
|
D3DHelper.h
|
|
DXVA2_HD.rc
|
|
DXVAHD_Sample.h
|
|
dxvahd_utils.cpp
|
|
dxvahd_utils.h
|
|
DXVA_HD.sln
|
|
DXVA_HD.vcproj
|
|
readme.txt
|
|
resource.h
|
|
settings.h
|
|
stdafx.h
|
|
substream.bmp
|
|
utils.h
|
|
video.cpp
|
|
video.h
|
|
winmain.cpp
|
|
|
|
## To build the sample using the command prompt
|
|
|
|
1. Open the Command Prompt window and navigate to the DXVA_HD directory.
|
|
2. Type msbuild DXVA_HD.sln.
|
|
|
|
## To build the sample using Visual Studio (preferred method)
|
|
|
|
1. Open Windows Explorer and navigate to the DXVA_HD directory.
|
|
2. Double-click the icon for the DXVA_HD.sln file to open the file in Visual Studio.
|
|
3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory.
|
|
|
|
## To run the sample
|
|
|
|
1. Navigate to the directory that contains the new executable, using the command prompt or Windows Explorer.
|
|
2. Type DXVA_HD.exe at the command line, or double-click the icon for DXVA_HD.exe to launch it from Windows Explorer.
|
|
|
|
Command line options:
|
|
|
|
```cmd
|
|
-hh : Hardware Direct3D device and hardware DXVA-HD device.
|
|
-hs : Hardware Direct3D device and software DXVA-HD device.
|
|
-ss : Software Direct3D device and software DXVA-HD device.
|
|
```
|
|
|
|
## Modes
|
|
|
|
The user can toggle between different modes by pressing the F1 through F9 keys.
|
|
|
|
The arrow keys control different settings in each mode:
|
|
|
|
F1 : Alpha values.
|
|
|
|
- UP/DOWN: Main video planar alpha
|
|
- LEFT/RIGHT: Substream pixel alpha
|
|
|
|
F2 : Resize the main video source rectangle.
|
|
|
|
F3 : Move the main video source rectangle.
|
|
|
|
F4 : Resize the main video destination rectangle.
|
|
|
|
F5 : Move the main video destination rectangle.
|
|
|
|
F6 : Change the background color or extended color information.
|
|
|
|
- UP/DOWN: Change YCbCr standard and RGB color range.
|
|
- LEFT/RIGHT: Cycle through background colors.
|
|
|
|
F7 : Ajust brightness and contrast.
|
|
|
|
- UP/DOWN: Brightness
|
|
- LEFT/RIGHT: Contrast
|
|
|
|
F8 : Adjust hue and saturation.
|
|
|
|
- UP/DOWN: Hue
|
|
- LEFT/RIGHT: Saturation
|
|
|
|
F9: Resize the target rectangle.
|
|
|
|
HOME : Resets all mode settings to their default values.
|
|
|
|
ALT + ENTER: Switch between windowed and full-screen mode.
|