27
About the Matrox M264 hardware encoder
4
Call
IMvEncoderVideo::Open()
to open a stream for compression.
Remarks
$
To capture generic H.264 footage, use the
SMvM264GenericCompressionOptions
structure.
$
To capture Sony XAVC footage, use the
SMvM264XAVCCompressionOptions
structure.
5
The user application must implement the completion callback interface using
IMvCompletionCallback::Notify()
and set a notification callback by calling
IMvEncoderVideo::SetOption()
with the
keMvCodecOptionCompletionCallback_pI
parameter.
¦
Note
The notification callback will be called for each frame that is encoded. In
addition, the notification callback will be called with a
NULL
parameter to let the
user application know when the encoder has finished encoding.
6
The user application must implement the error notification callback interface
using
IMvErrorNotificationCallback::Notify()
and set an asynchronous
error notification callback by calling
IMvEncoderVideo::SetOption()
with
the
keMvCodecOptionAsynchErrorCallback_pI
parameter.
¦
Note
This allows the user application to handle encoder errors.
7
Call
IMvEncoderVideo::GetOption()
with the
keMvCodecOptionMaxCompressedFrameSizeByBytes_ui32
parameter to
retrieve the maximum possible size of any compressed frame.
Remarks
$
If you are generating fields instead of frames, this call will return the
maximum possible size of the compressed field.
$
To ensure a valid frame or field size, the
IMvEncoderVideo::Open()
method must be called prior to calling
IMvEncoderVideo::GetOption()
.
8
Allocate a sufficient amount of memory to hold the compressed data, and then
call
IMvSurface::AssignUserBufferReference()
to assign the memory to
the buffers created in step
. Use a surface description that matches the encoder
output resolution and the
keMvSurfaceFormatAVC
parameter as the surface
format.
¦
Note
For optimal performance, the allocated memory should be 32-byte aligned.
9
Set up the
IMvAVContent
interface of these buffers with correct read and write
counts and time stamps.
For information on working with buffers, see “Synchronizing surface operations”
in the
Matrox DSX.sdk User Guide
or “Working with buffers” in the
Matrox DSX
Topology API User Guide
.
10
Fill the memory allocated in step
with the uncompressed 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 ...