ILMH263Encoder

188宝金博安卓下载接口的文档铅H263编码器分为以下几个部分:。

数据类型:

平等

类型定义枚举Perfectquality = 0,质量比尺寸更重要=(完美的质量+ 1)(质量比大小更重要)尺寸比质量更重要=(质量大小同样重要+ 1);最高压缩值=(尺寸比质量更重要+ 1)}平等;

价值

描述

PERFECTQUALITY

质量很好。

相当于自定义质量因子为4。

QUALITYMOREIMPORTANTTHANSIZE

[1]质量好,比PERFECTQUALITY更压缩。

相当于自定义质量因子为5。

QUALITYSIZEEQUALLYIMPORTANT

质量好,压缩比质量比尺寸更重要。

相当于自定义质量因子为6。

SIZEMOREIMPORTANTTHANQUALITY

质量好,压缩比质量大小同样重要。

相当于自定义质量因子为9。

HIGHESTCOMPRESSION

[4]最高压缩(最低质量)。

相当于自定义质量因子31。

eBITRATE

类型定义枚举Modem_56k = 0,Isdn_128k = (modem_56k + 1),Isdn_256k = (isdn_128k + 1),Dsl_384k = (isdn_256k + 1),Cable_768 = (dsl_384k + 1),T1_1500k = (cable_768 + 1),Wireless_802_11b_11m = (t1_1500k + 1),T3_45m = (wireless_802_11b_11m + 1),Wireless_802_11g_54m = (t3_45m + 1),Lan_100m = (wireless_802_11g_54m + 1),Lan_1g = (lan_100m + 1)} eBITRATE;

价值

描述

MODEM_56K

[0] 56K调制解调器。相当于比特率56000。

ISDN_128K

[1] 128K ISDN线路。相当于128000的比特率。

ISDN_256K

[2] 256K ISDN线路。相当于比特率为256000。

DSL_384K

[3] 384K DSL线路。相当于比特率384000。

CABLE_768

[4] 768K电缆线路。相当于比特率768000。

T1_1500K

[5] T1线路。相当于比特率为1500000。

WIRELESS_802_11B_11M

无线801.11b网卡。相当于11000000的比特率。

T3_45M

[7] T3线路。相当于4500万比特率。

WIRELESS_802_11G_54M

[8]无线801.11g网卡。相当于5400万比特率。

LAN_100M

[9] 100Mbps网卡。相当于比特率为100000000。

LAN_1G

[10] 1Gbps网卡。相当于比特率为1000000000。

eSPEED

类型定义枚举高质量= 0,质量比速度更重要=(高质量+ 1)质量比速度更重要=质量比速度更重要+ 1。速度比质量重要=(质量比质量重要+ 1);高速=(速度比质量更重要+ 1)} eSPEED;

价值

描述

优质

[0]高质量的选项。打开所有设置。

QUALITYMOREIMPORTANTTHANSPEED

质量好。打开除去块过滤器以外的所有选项。

QUALITYSPEEDEQUALLYIMPORTANT

质量和速度之间的妥协。只有不受限制的MV和高级预测模式被打开。

SPEEDMOREIMPORTANTTHANQUALITY

为了速度而牺牲质量。只有无限制MV是打开的。

高速

[4]最高速度。没有开启可选模式。

eIDISTANCEUNIT

类型定义枚举Unit_frames = 0,Unit_seconds = (unit_frames + 1)} eIDISTANCEUNIT;

价值

描述

UNIT_FRAMES

IDistance属性的单位是帧。

UNIT_SECONDS

[1] IDistance属性的单位为秒。

常量

类型

价值

描述

MINQUALITYFACTOR

[1]的最小值CustomQuality.这将生成最高质量的视频和最低的压缩。

MAXQUALITYFACTOR

[31]的最大值CustomQuality.这将生成最低质量的视频和最高压缩。

eH263COMPATIBILITYMODE

类型定义枚举H263compatibility_default = 0,H263compatibility_flv = (h263compatibility_default + 1)} eH263COMPATIBILITYMODE;

价值

描述

H263COMPATIBILITY_DEFAULT

[0]默认模式:开启所有编码器设置。

H263COMPATIBILITY_FLV

强制编码器只提供Sorenson压缩设置。如果您知道您正在创建FLV文件,请使用此选项。

eH263_APILEVEL

类型定义枚举H263_apilevel_1 = 0,H263_apilevel_2 = 1} eH263_APILEVEL;

价值

描述

H263_APILEVEL_1

[0]使用上一版本的默认编解码器。APILEVEL的默认设置包括将IDistanceUnit属性设置为UNIT_SECONDS,将IDistance属性值设置为默认值60,每60秒产生一个关键帧。

H263_APILEVEL_2

[1]使用当前编解码器版本的默认值。这个apillevel的默认值已经更改为使用UNIT_FRAMES而不是UNIT_SECONDS作为IDistanceUnit属性默认值。同样,IDistance属性被设置为默认值30,每30帧产生一个关键帧。

接口属性:

类型

名字

描述

VARIANT_BOOL

UseQuality

设置为TRUE使用基于质量的压缩(VBR =可变比特率)。在这种情况下,质量是由UsePredefinedQuality, PredefinedQuality而且QualityFactor属性。

设置为FALSE使用基于比特率的压缩(CBR =固定比特率)。在这种情况下,比特率由PredefinedBitrate而且BitrateValue属性。

VARIANT_BOOL

UsePredefinedQuality

(仅在以下情况下使用UseQuality是真的)。设置为TRUE使用预定义的质量PredefinedQuality

设置为FALSE则使用自定义质量因子CustomQuality

平等

PredefinedQuality

(仅在以下情况下使用UseQuality是正确的UsePredefinedQuality是真的)。使用此属性可选择预定义的质量选项之一。看到平等枚举可能的值。

CustomQuality

(仅在以下情况下使用UseQuality是正确的UsePredefinedQuality是假的)。使用自定义质量因子。取值范围为1(最佳质量,最低压缩)~ 31(最差质量,最高压缩)。

VARIANT_BOOL

UsePredefinedBitrate

(仅在以下情况下使用UseQuality是假的)。设置为TRUE使用预定义的比特率通过PredefinedBitrate

设置为FALSE使用自定义比特率通过CustomBitrate

eBITRATE

PredefinedBitrate

(仅在以下情况下使用UseQuality是错误的,并且UsePredefinedBitrate是真的)。使用此值将所需的压缩视频速率设置为预定义的比特率之一。有关可能的值,请参阅eBITRATE枚举。

CustomBitrate

(仅在以下情况下使用UseQuality是错误的,并且UsePredefinedBitrate是假的)。使用此值可设置所需的压缩视频速率(单位为比特/秒)。

VARIANT_BOOL

UsePredefinedSpeed

设置为TRUE以使用预定义的速度通过PredefinedSpeed

属性来控制速度UseUnrestrictedMotionVectorUseAdvancedIntraCodingUseAdvancedPredictionModeUseDeblockingFilter属性。

eSPEED

PredefinedSpeed

(仅在以下情况下使用UsePredefinedSpeed是真的)。使用此属性可将速度设置为预定义值之一。有关可能的值,请参阅eBITRATE枚举。

VARIANT_BOOL

UseUnrestrictedMotionVector

(仅在以下情况下使用UsePredefinedSpeed是假的)。如果为TRUE,则允许运动向量指向图像之外。边缘像素被用作“不存在”像素的预测。使用这种模式,如果在图像边缘有移动,特别是对于较小的电影,则可以获得显著的增益。实现ITU-T建议H.263和LEAD H.263编码器的无限制运动矢量模式(附件D)。

VARIANT_BOOL

UseDeblockingFilter

(仅在以下情况下使用UsePredefinedSpeed是假的)。如果为TRUE,则通过使用跨块边界的自适应过滤器来减少在较高压缩下生成的块工件。使用此选项可在低比特率(高压缩)下提高视频质量。实现ITU-T建议H.263和LEAD H.263编码器的去块滤波模式(附件J)。

VARIANT_BOOL

UseAdvancedIntraCoding

(仅在以下情况下使用UsePredefinedSpeed是假的)。如果为TRUE,则通过使用DCT(离散余弦变换)系数值的空间预测来提高INTRA宏块编码的压缩效率。实现ITU-T建议H.263和LEAD H.263编码器的高级内a编码模式(附件一)。

VARIANT_BOOL

UseAdvancedPredictionMode

(仅在以下情况下使用UsePredefinedSpeed是假的)。如果为TRUE,则p图的亮度部分使用OBMC (Overlapped Block Motion Compensation)。图片中的一些宏块使用了四个8x8向量而不是一个16x16向量。的编码器必须决定使用哪种类型的向量。四个向量使用更多的比特,但给出更好的预测(压缩)。实现(附件T) ITU-T建议H.263和LEAD H.263编码器的改进量化模式。实现(附件F) ITU-T建议H.263和LEAD H.263编码器的高级预测模式。

浮动

InputFrameRate

(只读)。使用此属性获取以帧/秒为单位的输入帧率,可用于确定如何设置OutputFrameRate财产。

浮动

OutputFrameRate

使用此属性控制输出帧速率。您可以将输出帧速率设置为与输入帧速率相同(-1),或者您可以将其设置为特定的输出帧速率(如果> 0)。请注意,您应该将输出帧速率设置为小于输入帧速率(以获得更好的压缩)。将输出帧率设置为小于输入帧率并不是很有用。

VARIANT_BOOL

UseRTP

如果为TRUE,编码器封装一个H.263视频实时传输协议(RTP)报头。当通过Internet传输H.263视频流时,应使用此选项。

VARIANT_BOOL

UseSuperCompression

设置为TRUE,启用高压缩模式,这是由LEAD技术公司引入的H.263压缩算法的非标准扩展。这将生成一个较小的视频,但只有LEAD H.263译码器可以解码这个视频。在这种模式下生成的视频质量下降很小(特别是有文本时),但压缩增益显著。这种模式对于实现较低的比特率非常有用。

设置为FALSE禁用此模式。默认为FALSE。

eIDISTANCEUNIT

IDistanceUnit

如果设置为UNIT_FRAMES, IDistance属性设置帧中I帧之间的距离。

如果设置为UNIT_SECONDS, IDistance属性将以秒为单位设置I帧之间的距离。

IDistance

使用这个设置I帧的间隔。的IDistanceUnit属性包含此属性的单位(秒或帧)。两个连续I帧之间的距离有时被称为关键帧间隔。I(帧内帧)帧是独立编码的,不参考前一帧或前一帧。所有在I坐标系之间的坐标系都是P和B坐标系。P(预测)帧使用前一帧作为参考进行编码。P帧比I帧压缩得多。B(双向)帧使用前一帧和下一帧作为参考进行编码,它们比I和P帧压缩得更好。

I帧之间的距离增大,压缩比增大。但是,I帧之间的距离过大也有其缺点:

  • 如果一个I帧在到达解码器之前丢失了(通常是由于有噪声或不可靠的信道),解码器必须等待很长时间而不显示任何内容,直到下一个I帧到来。

  • 较大的关键帧间隔会使搜索(通过视频数据进行搜索)变慢。

PDistance

使用它来设置两个连续的P帧之间的B帧数。这个属性的单位总是帧。如果设置为0,则压缩机只生成I和P帧。

VARIANT_BOOL

SorensonOutput

设置为TRUE,生成Flash使用的Sorenson视频(FLV)文件。这个视频是修改后的H.263压缩格式。设置为FALSE生成普通H.263视频。默认值为FALSE。

eH263COMPATIBILITYMODE

CompatibilityMode

使用此属性可确定哪些设置将在属性页中可用。
设置为H263COMPATIBILITY_DEFAULT使所有设置可用。
设置为H263COMPATIBILITY_FLV,强制编码器只提供与FLV格式兼容的设置。该选项强制执行以下设置:

  • SorensonOutput = VARIANT_TRUE

  • UseRTP = VARIANT_FALSE

  • UseSuperCompression = VARIANT_FALSE

接口方法:

HRESULT ResetToDefaultsEx(eH263_APILEVEL ApiLevel);

参数

eH263_APILEVEL ApiLevel

将默认值设置为哪个版本的编解码器。

描述

将编码器重置为默认值。ApiLevel决定使用哪些默认值。当前应用程序应将ApiLevel设置为H263_APILEVEL_2 = 1。

编码器将来可能会更改,并具有不同的属性或默认行为。调用此方法可确保编码器具有与开发应用程序时相同的默认值。

在开始设置属性和调用该接口的其他方法之前,最好调用ResetToDefaultsEx(H263_APILEVEL_2)。

HRESULT StartChangingAttributes ();

参数

没有一个

描述

开始更改属性,但是在调用StopChangingAttributes之前不要使用新的设置。

要更改多个编码器设置,最好调用StartChangingAttributes在进行第一次更改之前StopChangingAttributes在进行最后一次更改之后。这样,编码器在完成所有更改之前不会对设置的有效性进行任何检查。此外,一些更改可能需要重新连接输出引脚,并在a之间进行所有更改StartChangingAttributes而且StopChangingAttributes配对确保输出引脚只有一次重新连接。

HRESULT StopChangingAttributes(VARIANT_BOOL bCancelChanges);

参数

VARIANT_BOOL bCancelChanges

确定更改是保留(VARIANT_FALSE)还是取消(VARIANT_TRUE)。

描述

停止更改属性。在完成对接口的更改之后调用此方法。

将bCancelChanges设置为VARIANT_FALSE以应用所有已做的更改。将bCancelChanges设置为VARIANT_TRUE以将编码器恢复到调用之前使用的设置StartChangingAttributes

ITU-T建议H.263和LEAD H.263编码器

根据ITU-T建议h.263,启用和禁用h.263选项如下:

LEADTOOLS过滤C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。