
26
Chapter 6, Using the Matrox M264 Hardware Codecs
Using the Matrox M264 hardware encoder with
buffers
The Matrox M264 hardware encoder can be used to encode buffers at any speed, such
as for faster than real time processing. In this case, you must use the
IMvEncoderVideo
interface to control and instantiate the Matrox M264 encoder.
The codec GUID to use for the Matrox M264 hardware encoder is
CLSID_MvM264Encoder
.
General characteristics
The general characteristics of the Matrox M264 hardware encoder when used to
encode buffers with the
IMvEncoderVideo
interface are as follows:
• The compression operations
Close()
,
PutUncompressedVideoAndVANC()
,
and
GetCompressedSurface()
are asynchronous calls, whereas
Open()
,
SetOption()
, and
GetOption()
are synchronous calls.
• When a notification callback is called, the surface returns additional information
provided by
IMvSurface::GetGroupOfPicturesFrameInfos()
and
IMvSurface::GetGroupOfPicturesInfos()
. The parameter
ulBufferSizeInBytes
in the
SMvSurfaceDescription
structure also
updates the size of the surface to what is actually required to contain the data.
Sample application
The
mvsVideoEncoderTester
sample application demonstrates how to instantiate and
use the
IMvEncoderVideo
interface for encoding YUV frames into H.264 video
streams using a Matrox M264 card. For more information on this sample application,
see the
DSXTopologyAPISampleApplications.txt
or
DSX.sdkSampleApplications.txt
file.
Compression operation
The following steps explain how to control the Matrox M264 hardware encoder using
the
IMvEncoderVideo
interface.
1
Instantiate the Matrox M264 encoder codec GUID,
CLSID_MvM264Encoder
,
using the
CreateCodecEx()
method of the
IMvFlexEngine
interface.
For more information on the
IMvFlexEngine
interface, see “Overview of the
Flex Engine” in the
Matrox DSX.sdk User Guide
or “Obtaining a Flex Engine for
processing buffers using the card configuration interface” in the
Matrox DSX
Topology API User Guide.
2
Allocate uncompressed Flex host buffers (YUV 4:2:2 8-bit, YUV 4:2:2 10-bit, or
v210 4:2:2 10-bit) that will receive the images to be compressed.
For information on allocating buffers, see “Audio/video surface allocation and
management” in the
Matrox DSX.sdk User Guide
or “Using buffers to update a
card node” in the
Matrox DSX Topology API User Guide
.
3
Allocate Flex user buffers that will receive the compressed data.
Summary of Contents for M264
Page 1: ...Y11360 101 0970 Matrox M264 Installation and User Guide June 30 2016 ...
Page 8: ...vi MATROX SOFTWARE LICENSE AGREEMENT Your notes ...
Page 20: ...8 Chapter 2 Preparing for the DSX Installation Your notes ...
Page 28: ...16 Chapter 4 Installing Your DSX Software for Windows Your notes ...
Page 58: ...46 Chapter 8 Monitoring Your DSX System in Windows Your notes ...
Page 62: ...50 Chapter 9 Monitoring Your DSX System in Linux Your notes ...
Page 63: ...A DSX Specifications This appendix provides specifications for DSX hardware ...
Page 66: ...54 Appendix A DSX Specifications Your notes ...
Page 72: ...60 Index Your notes ...
Page 74: ...www matrox com video ...