TI中文支持网
TI专业的中文技术问题搜集分享网站

板子启动后插入摄像头没有反应,必须重启板子才OK、 DM365+Tvp5158

程序不知道改了哪里, 四个视频输入端口,必须在板子启动器插上摄像头,如果在板子启动后插摄像头,则监控没有画面、

for example, 摄像头a插入vin0口,启动板子,监控会有画面,拔掉摄像头a再插到vin0口,仍然能监控,但是如果插入到vin1,则没有监控画面了、怀疑是加载驱动的问题?  但是不知道到程序哪块找了、、、请指个方向~~~~~~~~~~~many many many thanks ~

Eason Wang:

你尝试一下这个:

在5158初始化的配置里面设置Output Formatter Control 2

01 Blue screen out when TVP5158 detects lost lock   或者10 Force Blue screen out

这样的话,会强制输出蓝屏的。

ocean cheng:

回复 Eason Wang:

5158初始化的配置里面设置?  没找到地方呢o(╯□╰)o。。。 

Chris Meng:

回复 ocean cheng:

你好,

DM36x的VPFE要求输入的时序是连续不变的。如果输入的时序发生变化,需要复位VPSS。

如果你插拔视频源,TVP5158的输出时序会有变化,这时候需要复位VPSS。

如果强制TVP5158输出蓝屏,当你插上视频源后,TVP5158的输出时序仍然会有变化,这时候仍然需要复位VPSS。

 

kooking:

ocean cheng

程序不知道改了哪里, 四个视频输入端口,必须在板子启动器插上摄像头,如果在板子启动后插摄像头,则监控没有画面、

for example, 摄像头a插入vin0口,启动板子,监控会有画面,拔掉摄像头a再插到vin0口,仍然能监控,但是如果插入到vin1,则没有监控画面了、怀疑是加载驱动的问题?  但是不知道到程序哪块找了、、、请指个方向~~~~~~~~~~~many many many thanks ~

ocean cheng:

回复 kooking:

好的,麻烦了哈~~~

kooking:

回复 ocean cheng:

const VIDENC1_DynamicParams Venc1_DynamicParams_DEFAULT = { //sizeof(IVIDENC1_DynamicParams), /* size */ sizeof(IH264VENC_DynamicParams), /* size */ 720, /* inputHeight */ 1280, /* inputWidth */ 30000, /* refFrameRate */ 30000, /* targetFrameRate */ 6000000, /* targetBitRate */ 30, /* intraFrameInterval */ XDM_ENCODE_AU, /* generateHeader */ 0, /* captureWidth */ IVIDEO_NA_FRAME, /* forceFrame */ 1, /* interFrameInterval */ 0 /* mbDataFlag */};

/****************************************************************************** * Venc1_create ******************************************************************************/Venc1_Handle Venc1_create(Engine_Handle hEngine, Char *codecName, VIDENC1_Params *params, VIDENC1_DynamicParams *dynParams){ Venc1_Handle hVe; VIDENC1_Status encStatus; XDAS_Int32 status; VIDENC1_Handle hEncode; IH264VENC_DynamicParams *IH264DynParams;

if (hEngine == NULL || codecName == NULL || params == NULL || dynParams == NULL) { Dmai_err0("Cannot pass null for engine, codec name, params or " "dynamic params\n"); return NULL; }

/* Allocate space for the object */ hVe = (Venc1_Handle)calloc(1, sizeof(Venc1_Object));

if (hVe == NULL) { Dmai_err0("Failed to allocate space for Venc1 Object\n"); return NULL; }

Dmai_dbg5("Creating encoder %s for max %dx%d bitrate %d ratectrl %d\n", codecName, params->maxWidth, params->maxHeight, params->maxBitRate, params->rateControlPreset);

/* Create video encoder instance */ hEncode = VIDENC1_create(hEngine, codecName, params);

if (hEncode == NULL) { Dmai_err2("Failed to open video encode algorithm: %s (0x%x)\n", codecName, Engine_getLastError(hEngine)); free(hVe); return NULL; }

Dmai_dbg3("Setting dynParams size %dx%d bitrate %d\n", dynParams->inputWidth, dynParams->inputHeight, dynParams->targetBitRate);

/* Set video encoder dynamic parameters */ encStatus.size = sizeof(VIDENC1_Status); encStatus.data.buf = NULL;

IH264DynParams = &H264VENC_TI_IH264VENC_DYNAMICPARAMS; memcpy(IH264DynParams, dynParams, sizeof(VIDENC1_DynamicParams) ); IH264DynParams ->idrFrameInterval = 25;

//status = VIDENC1_control(hEncode, XDM_SETPARAMS, dynParams, &encStatus); status = VIDENC1_control(hEncode, XDM_SETPARAMS, (VIDENC1_DynamicParams*)IH264DynParams, &encStatus);

}

kooking:

回复 ocean cheng:

dmai Venc1.c

kooking:

回复 ocean cheng:

目前什么情况,我想知道这个修改在你上面会不会发生作用

赞(0)
未经允许不得转载:TI中文支持网 » 板子启动后插入摄像头没有反应,必须重启板子才OK、 DM365+Tvp5158
分享到: 更多 (0)