//这里是我在enclink_h264.c里面设置静态参数的函数里面加的几句代码,但是编码出来的还是AVC格式
staticParams->svcCodingParams.svcExtensionFlag = algCreateParams->enableSVCExtensionFlag;
if(staticParams->svcCodingParams.svcExtensionFlag)
{
staticParams->svcCodingParams.dependencyID = 0;
staticParams->svcCodingParams.qualityID = 0; staticParams->svcCodingParams.enhancementProfileID = 83;//IH264SVC_BASELINE_PROFILE
staticParams->svcCodingParams.layerIndex = 8;//IH264_NALU_TYPE_PPS;
staticParams->svcCodingParams.refLayerDQId = 0;
}
Chris Meng:
Zhou Jarman,
你是如何判断编码出来的码流是SVC还是AVC的?
请问svcExtensionFlag你设置的是1还是2?
user4865572:
回复 Chris Meng:
你好!
Chris Meng
svcExtensionFlag参数是在建立encLink是指定的参数pEncPrm->chCreateParams[i].enableSVCExtensionFlag =1;//VENC_IH264_SVC_EXTENSION_FLAG_ENABLE;
对应的是IH264ENC_SVCCodingParams.svcExtensionFlag的值。
但是IH264ENC_SVCCodingParams的其他参数还需要设置吗?如何设置?
我是通过编码出来的视频文件通过mediaInfo工具产看视频的格式仍然是AVC,码流是否是SVC或AVC不知道怎么判断。
Chris Meng:
回复 user4865572:
应该这样就是分层编码了。
If you enable svc extension flag(svcExtensionFlag = 1), then an extra NAL unit(PREFIX NAL UNIT) is added and this can be used to identify temporal_id. Temporal_id tells us the layer number in which the current frame/picture lies.
user4865572:
回复 Chris Meng:
你好!
Chris Meng
如果只是使能了这个参数,那如何能看出已经成功使用SVC编码,编码出来的264格式仍然是AVC的格式。或者说AVC已经包含了SVC的信息?