ILMH264Encoder Interface
This is the interface for the LEAD H264 Encoder.
Interface Properties:
Type |
Property name |
Description |
VARIANT_BOOL |
EnableRateControl |
Indicates whether the H264 encoder Also known as compressor Also known as an encoder, this is a module or algorithm to compress data. Playing that data back requires a decompressor, or decoder., this is a module or algorithm to compress data. Playing that data back requires a decompressor, or decoder. uses Rate Driven compression or Quality Driven compression. It this property is TRUE, Rate Driven compression is used and the rate is set in the BitRate property. If this is FALSE, Quality Driven compression is used and the quality factor is set in the QualityFactor property. |
long |
BitRate |
The bitrate, in bits per second, when the EnableRateControl value is TRUE. |
long |
QualityFactor |
Contains the video quality factor. A quality factor of 1 gives the highest quality and the largest video file size. A quality factor of 49 gives the lowest quality and smallest file size. This property is valid only if the EnableRateControl property is FALSE. |
long |
IFrameInterval |
Specifies the number of P frames between two successive I frames plus one. A value of zero means there is only one I in the whole video and all the other frames are either P or B. If this value is one there will be NO P frame between any two I frames. If the value is 2 there will be ONE P frame between any two I frames and so on. |
long |
PFrameInterval |
Specifies the number of B frames between two successive P frames. Note that all the frames between successive P frames are B frames. |
eH264SYMBOLMODE |
SymbolMode |
Flag that indicates the type of entropy coding to be used. For a list of possible values, refer to eH264SYMBOLMODE. |
VARIANT_BOOL |
EnableSuperCompression |
Flag that indicates whether super compression is enabled. If TRUE, then LEAD's improvement to the H264 compression is enabled. If FALSE, LEAD's improvement to the H264 compression is not used. Files generated using super compression, will not be H264 compliant and can only be decoded by the LEAD H264 LEAD H264 is a DirectShow filter for compressing and decompressing Video data using the H264/AVC standard. H264 is the latest video standard developed jointly by ITUand MPEG. H264/AVC provides a far more efficient algorithm for compressing video.It typically outperforms all existing standards by a factor of three to four especiallyin comparison to MPEG-2.DirectShow filter for compressing and decompressing Video data using the H264/AVC standard. H264 is the latest video standard developed jointly by ITUand MPEG. H264/AVC provides a far more efficient algorithm for compressing video.It typically outperforms all existing standards by a factor of three to four especiallyin comparison to MPEG-2. decoder Also known as a decompressor, this is a module or algorithm to decompress data.. This option produces very high compression and makes the encoding and decoding processes very fast. If high quality video is desired, it is recommended to disable this option, otherwise the output video quality will not be as good as the original. This property is only available if the output is LEAD (L264). |
float
|
FrameRate |
Sets the playback frame rate, in frames per second, of the compressed video, regardless of the rate of the input stream frames. The LEAD H264 Encoder Also known as compressor, this is a module or algorithm to compress data. Playing that data back requires a decompressor, or decoder. automatically adjusts the input video to match the desired frame rate. The rate is adjusted by dropping or duplicating input frames. If the selected frame rate is lower than the original framerate, the compression will be higher. Use the value -1 if the output frame rate needs to be the same as the input frame rate. |
BSTR |
TimeQualityFactorFileName |
Sets the name of the file that has a set of time stamps and the desired quality factors to be used by the encoder. To create such a file just open a regular text file and start writing
the time stamps and each corresponding quality factor. #00:00:00:000-00:00:01:000 26 The above two lines mean: You can put as many time stamps-quality factors as needed. They must be within the video clip time span to be considered by the encoder. |
OutputFormat |
Value that specifies the output format. For a list of possible values, refer to eH264OUTPUTFORMAT. | |
EncodingSpeed |
Sets the speed of the encoding based on the motion estimation algorithm option.. Possible values are: 1: Very Fast, suitable for Capturing or Converting 2: Fast, suitable for Capturing or Converting 3: Slow, suitable for Converting 4: Very Slow, suitable for Converting only Option 4 gives the highest compression while Option 3 gives the second highest compression. Option 1 gives the smallest compression while Option 2 gives slightly better compression than Option 1 but less than Option 3. | |
EncodingThreads |
The number of threads used during encoding. The maximum number of threads that can be used is 2. Using two threads with a dual core machine or 2 CPUs will increase the encoding speed significantly. Possible values are: Auto: Have the LEAD H264 Encoder determine the appropriate number of threads. 1: Use 1 thread during encoding 2: Use 2 threads during encoding |
Description
Writes the values of all of the properties listed above to the system registry, so that the encoder will remember these settings the next time it is used.
Return
S_OK if successful, S_FALSE otherwise.
typedef enum
{
H264SYMBOL_CAVLC = 0,
H264SYMBOL_CABAC = 1
} eH264SYMBOLMODE;
Describes possible values for the entropy coding mode, set in the SymbolMode property.
typedef enum
{
H264FORMAT_AUTO = 0,
H264FORMAT_STANDARD_H264 = 1,
H264FORMAT_STANDARD_AVC1 = 2,
H264FORMAT_LEAD = 3,
H264FORMAT_IPOD = 4,
H264FORMAT_PSP = 5
} eH264OUTPUTFORMAT;
Describes possible values for the output mode, set in the OutputFormat property.
typedef enum
{
H264SPEED_1 = 1,
H264SPEED_2 = 2,
H264SPEED_3 = 3,
H264SPEED_4 = 4,
} eH264OUTPUTFORMAT;
Sets the speed of encoding, set in the EncodingSpeed property.
typedef enum
{
H264THREAD_AUTO = 0,
H264THREAD_1 = 1,
H264THREAD_2 = 2,
H264THREAD_3 = 3,
H264THREAD_4 = 4,
} eH264ENCODINGTHREADS;
Describes possible values for the number of encoding threads, set in the EncodingThreads property.