ILMFH264Decoder Interface is the interface for LEAD H264 Decoder .
These are the possible values for H264 decoding flags. These flags can be set in the SymbolMode
property.
typedef enum
{
H264DecodingFlag_DecodeCorruptedStream = 0x00000001,
H264DecodingFlag_FillFrameGaps = 0x00000002,
H264DecodingFlag_DisplayGrayOnError = 0x00000004,
H264DecodingFlag_UseOneThread = 0x00000008,
H264DecodingFlag_WaitForI_FrameToPlay = 0x10,
H264DecodingFlag_DiscardCorruptedFrames = 0x20
} eH264DecodingFlag;
Defines values used for media event reporting.
typedef enum
{
ltmmEC_Sample_Delivered = 0xA000, /* Event sent on a regular base when samples are decoded. The frequency is indicated by the DeliveredFrameNotificationInterval property. lParam1 is set to the frame index. */
} ltmmMediaEventCode_;
Lists the valid values for the ApiLevel parameter that can be passed to the ResetToDefaultsEx method.
typedef enum
{
H264DecoderApiLevel_1 = 0
} eH264DecoderApiLevel;
Type | Name | Description |
---|---|---|
long | DecodingOptions | Accepts one or all values from eH264DecodingFlag. |
• H264DecodingFlag_DecodeCorruptedStream : Enables the decoder to play corrupted streams. The decoder will run slower in this mode. |
||
• H264DecodingFlag_DisplayGrayOnError : Enables the decoder to display the corrupted data as a gray region. Otherwise a random area from previous frames could be displayed. |
||
• H264DecodingFlag_FillFrameGaps : Enables the decoder to replace a missing frame from a previous frame in the stream. This option may provide jerky playback, and is not recommended. |
||
• H264DecodingFlag_UseOneThread : By default the number of threads the decoder uses equal to the number of CPU/cores. So for a quad core machine the decoder will use four threads to decode the h.264 stream. If this flag is set, then the decoder will use one thread only no matter how many CPUs or cores the machine has. |
||
double | DeliveredFrameNotificationInterval | The interval of Delivered Frame Notification in seconds. A value of Zero will disable notification sending. Values smaller than the time per frame (= 1.0 / frame rate) will cause the decoder to send a notification for each frame. The Notification ID is ltmfEC_Sample_Delivered. Values less than zero will not be accepted. This parameter can be changed while the decoder is running. |
This method writes all of the decoder settings to the system registry. The next time the decoder is loaded, it retrieves the settings from the registry and applies them.
S_OK if successful; otherwise, S_FALSE.
eH264DecoderApiLevel ApiLevel
Resets decoder to default values. The ApiLevel determines which default values to use. Current applications should set ApiLevel to H264DecoderApiLevel_1 = 1
.The H264 decoder might change in the future and have different properties or default behavior. Calling this method ensures the transform will have the same default values as they were at the time you developed your application.It is recommended you call ResetToDefaultsEx(H264DecoderApiLevel_1)
before you start setting properties and start calling other methods for this interface.
S_OK.