v853运行sample_venc出错
-
用ffpmeg指令制作了yuv360p视频
ffmpeg -i xk360.mp4 -s 640x360 -pix_fmt yuv420p xk360.yuv
修改sample_venc.conf,只修改了开头几个选项
########### paramter (ref to tulip_cedarx.conf)############^M [parameter]^M src_file = "/root/xk360.yuv"^M src_width = 640^M src_height = 360^M dst_file = "/root/xk360.raw"^M dst_width = 640^M dst_height = 360^M ^M ####yuv_src_pixfmt just support nv21(yvu420sp) , yu12(yuv420p) , aw_afbc(allwinner private define yuv format) in sample code at now####^M src_pixfmt = "yu12" #"aw_afbc" "yu12" "nv21"^M
运行 ./sample_venc -path /root/sample_venc.conf,报错信息如下
WARNING: Logging before InitGoogleLogging() is written to STDERR I0101 04:13:57.872536 1145 confparser.c:60] <createConfParser> load conf file /root/sample_venc.conf ok!
author: jenkins iniparser: cannot open /etc/cedarx.conf iniparser: cannot open /vendor/etc/cedarx.conf I0101 04:13:57.887878 1145 mpi_sys.c:1280] <AW_MPI_SYS_Init> ISP init
iniparser: cannot open /etc/cedarc.conf iniparser: cannot open (null) iniparser: cannot open /etc/cedarc.conf INFO : cedarc <cdc_log_set_level:43>: Set log level to 3 from /vendor/etc/cedarc.conf WARNING: cedarc <LogVersionInfo:44>:
I0101 04:13:58.296865 1146 media_debug.c:45] <getDictByConfPath> MPP_DEDI[ 197.886956] L1 PageTable Invalid [ 197.891128] 0x5d800000 is not mapped! [ 197.895229] VE invalid address: 0x5d800000, data:0x0, id:0x1 A_DEBUG_FILE_PATH=(null) DEBUG : cedarc <h264SetH264Param:363>: **********H264SetParameter**********
最后卡在
I0101 04:13:59.000297 1146 VideoEnc_Component.c:2121] <CedarvVideoEncInit> set Color2Grey [0], in Venchn[0] I0101 04:13:59.000399 1146 VideoEnc_Component.c:2128] <CedarvVideoEncInit> vencChn[0] had init! I0101 04:13:59.000486 1146 VideoEnc_Component.c:8042] <ComponentThread> VencChn[0]: idle/pause[0x2]->executing ... I0101 04:14:29.000939 1145 VideoEnc_Component.c:5422] <VideoEncSendCommand> set VencChn[0] Comp StateIdle I0101 04:14:29.001170 1146 VideoEnc_Component.c:7943] <ComponentThread> VencChn[0]: pause/executing[0x3]->idle ... W0101 04:14:29.001274 1146 VideoEnc_Component.c:7405] <ReturnUseOrigFrameBeforeSetStateIdle> wait for VencChn[0] input orig usingFrameList empty, left frames cnt = [6] I0101 04:14:29.001396 1147 sample_venc.c:1150] <readInFrameThread> read thread exit! I0101 04:14:29.004612 1148 sample_venc.c:1243] <saveFromEncThread> get thread exit!
-
理清了点头绪但又没完全有,现在发现是这个if不满足,一直都没有读取文件,是venc没准备好吗,还得研究一段时间。
if (!list_empty(&pVencPara->mInBuf_Q.mIdleList)) {
I0101 06:57:02.989159 1255 sample_venc.c:1145] <readInFrameThread> idle list empty!! I0101 06:57:02.989212 1255 sample_venc.c:1063] <readInFrameThread> ready list empty I0101 06:57:02.989262 1255 sample_venc.c:1145] <readInFrameThread> idle list empty!! I0101 06:57:02.989313 1255 sample_venc.c:1063] <readInFrameThread> ready list empty I0101 06:57:02.989448 1255 sample_venc.c:1145] <readInFrameThread> idle list empty!!
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号