This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
我将尝试将编码和解码示例结合在一起。 我根据编码示例开始工作。(D-M-3-6-8。) 我可以单独运行这些示例。
我想我有很多事情要做。
首先,编码示例:codec.c 和 encode.cfg 引擎没有解码器,所以我必须添加它。
其次,我必须添加解码过程。
但在第一步中。
codec.c
静态编解码器视频解码器[]={
{
"mpeg4dec "、
"MPEG4 SP 视频"、
mpeg4扩展、
null、
null
}、
{
"h264dec "、
"H.264 HP 视频"、
h264Extensions、
H264_Params、
null
}、
{
"mpeg2dec "、
"MPEG2视频"、
mpeg2Extensions、
null、
null
}、
{空}
};
/* NULL 终止的引擎中用于演示的视频编码器列表*/
静态编解码器视频编码器[]={
{
"mpeg4enC"、
"MPEG4视频"、
mpeg4扩展、
null、
null
}、
{
"h264enC"、
"H.264 HP"、
h264Extensions、
null、
null
}、
{
"mpeg2enC"、
"MPEG2"、
mpeg2Extensions、
null、
null
}、
{空}
};
/* DVSDK 附带的生产引擎和编码器的声明*/
静态引擎编码引擎={
"encode"、/* CE 用来查找引擎的引擎字符串名称*/
空、/*引擎中语音解码器的 NULL 终止列表*/
空、/*引擎中音频解码器的 NULL 终止列表*/
视频解码器,/*引擎中视频解码器的 NULL 终止列表*/
SpeechEncoders、/*引擎中终止的语音编码器列表*/
音频编码器,/*引擎中音频编码器的 NULL 终止列表*/
视频编码器/*引擎中视频编码器的 NULL 终止列表*/
};
/*
*此分配选择演示将使用的引擎。 请注意
*此文件可以包含多个引擎声明,但此声明
*确定要使用哪一个。
*
引擎*engine =编码引擎(&C);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
encode.cfg
VAR myEngine = Engine.create ("编码"、[
{name:"mpeg4en"、mod:MPEG4ENC、local:true、groupId:1}、
{name:"h264enc"、mod:h264ENC、local:true、groupId:1}、
{name:"mpeg2enc"、mod:MPEG2ENC、local:true、groupId:1}、
{name:"g711enC"、mod:g711ENC、local:true}、
{name:"aacenc、mod:AACENC、local:true}、
{name:"mpeg4dec "、mod:MPEG4DEC、local:true、groupId:1}、
{name:"h264dec "、mod:h264DEC、local:true、groupId:1}、
{name:"mpeg2dec "、mod:MPEG2DEC、local:true、groupId:1}、
{name:"g711dec "、mod:G711DEC、local:true}、
{name:"aacdec "、mod:AACDEC、local:true}、
]]);
////////////////////////////////////////////////////////////////////////////
创建 myEngine 时、只能添加 h264dec。添加后、编码示例会出现问题、可以正常运行。
消息如下所示:
无法处理虚拟地址00000000处的内核 NULL 指针解除引用
PgD = c2e68000
[000000000000]* PgD=82e66031、* Pte=00000000、* Ppte=00000000
内部错误:Oops:817 [#1]抢占
最后一个 sysfs 文件:/sys/devices/virtual/davinci_display/ch0/mode
链接的模块:dm365mmap edmak irqk cmemk
CPU:0未被污染(2.6.32.17-davinci1 #252)
PC 处于达芬奇_SPI_RX_BUF_U16+0x10/0x1c
LR 位于 DaVinci_SPI_IRQ+0x2C/0x54
PC:[ ] LR:[ ] PSR:00000093
SP:c2e39de0 ip:c2e39df0 fp:c2e39dec
R10:bed96e84 R9:c2e38000 R8:00000000
R7:00000011 R6:00000000 R5:00000000 R4:c23e2cb8
r3:00000000 r2:c2e38000 r1:c23e2cb8 r0:00ff0000
标志:nzcv 在模式 SVC_32 ISA ARM 段用户上关闭 FIQ 的 IRQ
控制:0005317f 表:82e68000 DAC:00000015
进程 sh (pid:1058、栈限制= 0xc2e38270)
堆栈:(0xc2e39de0至0xc2e3a000)
9de0:c2e39e04 c2e39df0 c01e67ec c01e66ac c23e00c0 00000000 c2e39e24 c2e39e08
9e00:c006e124 c01e67d0 c2e38000 c0432870 00000011 c23e00c0 c2e39e44 c2e39e28
9e20:c00700c8 c006e0f0 00000011 00000000 c2e39fb0 00000001 c2e39e5c c2e39e48
9e40:c002b070 c006ff90 ffffff fect48000 c2e39edc c2e39e60 c002bb4c c002b010
9e60:0010f064 80000005 c2e39fb0 c2e38000 c042c86c c20592c0 c2e39fb0 c0028900
9e80:0010f064 000000eb bed96e84 c2e39edc c2e39ea8 c2e39ea8 00000000 c003165c
9ea0:00000013 ffffff 0000000d 00000000 c042c86c bed96eb4 c2e39fb0
9ec0:8000010f064 000000eb bed96e84 c2e39efc c2e39ee0 c00318c8 c0031644
9ee0:c042c86c bed96eb4 00000005 c2e39fb0 c2e39fanc c2e39f00 c002b274 c00318b4
9f00:58a2c939 24c60060 0000a8ff 00000000 c2e38000 bed96880 c2e39f40 00000000
9f20:000000c3 c002c0c4 c2e38000 bed96e84 c2e39fa4 c2e39f40 c00a0888 c00a0320
9f40:0000a8ff 00000000 0000000d bed941ed 00000002 00000000 00000000 00000000
9f60:00001000 00000000 58a2c939 25b6fbc8 58a2c939 24c60060 58a2c939 24c60060
9f80:00001000 c2e39f90 00000008 ffff bed96eb4 00000000 0003687c
9fa0:00000000 c2e39fb0 c002bec4 c002b248 bed96fED 00000000 00000000 00000000
9fc0:bed96馈送 bed96eb4 00000000 00000000 0003687c 000000eb bed96e84 00000003
9fe0:cf5810ff bed966e8 001166e4 0010f064 60000010 ffffff c7fdd1a8 bfb7949e
回溯:
[ ](DaVinci_SPI_RX_BUF_U16+0x0/0x1c)从[ ](DaVinci_SPI_ir q+0x2C/0x54)
[ ](DaVinci_SPI_IRQ+0x0/0x54)从[ ](handle_IRQ_EVENT_0x44 /0x114)
R5:00000000 R4:c23e00c0
[ ](Handle_IRQ_EVENT_+0x0/0x114)从[ ](handle_EDGE_IRQ+0x1 48/0x1b4)
r7:c23e00c0 r6:00000011 r5:c0432870 r4:c2e38000
[ ](handle_EDGE_IRQ+0x0/0x1b4)从[ ](ASM_DE_IRQ+0x70/0x8c)
R7:00000001 R6:c2e39fb0 R5:00000000 R4:00000011
[ ](ASM_DE_IRQ+0x0/0x8c)从[ ](_IRQ_Svc+0x4c/0x90)
异常堆栈(0xc2e39e60至0xc2e39ea8)
9e60:0010f064 80000005 c2e39fb0 c2e38000 c042c86c c20592c0 c2e39fb0 c0028900
9e80:0010f064 000000eb bed96e84 c2e39edc c2e39ea8 c2e39ea8 00000000 c003165c
9ea0:00000013 ffffff
r5:fec48000 r4:ffffff
[ ](do_page_FAULT+0x0/0x1e8)从[ ](do_translation_fault+0 x24/0xa4)
[ ](do_translation_fault+0x0/0xa4)从[ ](Do_PrefetchAbort +0x3c/0x9C)
r7:c2e39fb0 r6:00000005 r5:bed96eb4 r4:c042c86c
[ ](do_PrefetchAbort+0x0/0x9C)、来自[ ](RET_FIT_EXception+0 x0/0x10)
异常堆栈(0xc2e39fb0至0xc2e39ff8)
9fa0:bed96fED 00000000 00000000 00000000
9fc0:bed96馈送 bed96eb4 00000000 00000000 0003687c 000000eb bed96e84 00000003
9fe0:cf5810ff bed966e8 001166e4 0010f064 60000010 ffffff
R8:0003687c r7:00000000 R6:00000000 R5:bed96eb4 R4:ffff
代码:e1a0c00d e92dd800 e24cb004 e5913068 (e0c300b2)
--[结束跟踪41af8b2aeebc5dde ]---
内核严重错误-未同步:中断中出现致命异常
回溯:
[ ](dump_backtrace+0x0/0x114)从[ ](dump_stack+0x18/0x1c)
r7:c03c4ffc r6:c2e39d98 r5:c2e38000 r4:c04552b0
[ ](dump_stack+0x0/0x1c)从[ ](紧急+ 0x54/0x12c)
[ ](紧急+0x0/0x12c)从[ ](DIE+0x18c/0x1b8)
r3:00010000 r2:c2e39c78 r1:c2e39bb8 r0:c03c49d4
RSZ_SET_OUTPUT 地址0
[ ](DIE+0x0/0x1b8)从[ ](__do_kernel_FAULT+0x6c/0x7c)
[ ](__do_kernel_FAULT+0x0/0x7c)从[ ](DO_PAGE_FAULT+0x1d0 /0x1e8)
R7:c0028900 R6:00000000 R5:c20592c0 R4:c042c68c
[ ](do_page_FAULT+0x0/0x1e8)从[ ](DO_DataAbort+0x3c/0x9C)
[ ](DO_DataAbort+0x0/0x9C)从[ ](_dabt_Svc+0x4c/0x60)
异常堆栈(0xc2e39d98至0xc2e39de0)
9d80:00ff0000 c23e2cb8
9da0:c2e38000 00000000 c23e2cb8 00000000 00000000 00000011 00000000 c2e38000
9dc0:bed96e84 c2e39dec c2e39df0 c2e39de0 c01e67ec c01e66ac 00000093 ffff
R8:00000000 r7:00000011 R6:00000000 R5:c2e39dcc R4:ffffff
[ ](DaVinci_SPI_RX_BUF_U16+0x0/0x1c)从[ ](DaVinci_SPI_ir q+0x2C/0x54)
[ ](DaVinci_SPI_IRQ+0x0/0x54)从[ ](handle_IRQ_EVENT_0x44 /0x114)
R5:00000000 R4:c23e00c0
[ ](Handle_IRQ_EVENT_+0x0/0x114)从[ ](handle_EDGE_IRQ+0x1 48/0x1b4)
r7:c23e00c0 r6:00000011 r5:c0432870 r4:c2e38000
[ ](handle_EDGE_IRQ+0x0/0x1b4)从[ ](ASM_DE_IRQ+0x70/0x8c)
R7:00000001 R6:c2e39fb0 R5:00000000 R4:00000011
[ ](ASM_DE_IRQ+0x0/0x8c)从[ ](_IRQ_Svc+0x4c/0x90)
异常堆栈(0xc2e39e60至0xc2e39ea8)
9e60:0010f064 80000005 c2e39fb0 c2e38000 c042c86c c20592c0 c2e39fb0 c0028900
9e80:0010f064 000000eb bed96e84 c2e39edc c2e39ea8 c2e39ea8 00000000 c003165c
9ea0:00000013 ffffff
r5:fec48000 r4:ffffff
[ ](do_page_FAULT+0x0/0x1e8)从[ ](do_translation_fault+0 x24/0xa4)
[ ](do_translation_fault+0x0/0xa4)从[ ](Do_PrefetchAbort +0x3c/0x9C)
r7:c2e39fb0 r6:00000005 r5:bed96eb4 r4:c042c86c
[ ](do_PrefetchAbort+0x0/0x9C)、来自[ ](RET_FIT_EXception+0 x0/0x10)
异常堆栈(0xc2e39fb0至0xc2e39ff8)
9fa0:bed96fED 00000000 00000000 00000000
9fc0:bed96馈送 bed96eb4 00000000 00000000 0003687c 000000eb bed96e84 00000003
9fe0:cf5810ff bed966e8 001166e4 0010f064 60000010 ffffff
R8:0003687c r7:00000000 R6:00000000 R5:bed96eb4 R4:ffff
//////////////////////////////////////////
和 loadmodule 是:
# 0x00001000 32K ARM TCM 存储器
# 0x8000000 54 MB Linux
# 0x83000000 6MB 视频驱动程序内存(Linux)
# 0x83C00000 //30MB CMEM 68MB CMEM
# 0x85A00000 38MB ROOTFS
# 0x88000000底部地址
加载(){
insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 lowOverlap=1 phys_start_1_0x00001000 phys_end_1_0x00008000 Pools;1=1x28672 useHeapIfPoolUnavailable = 1
我非常需要帮助。 我认为存储器不够、但除了 h264dec、其他解码器和编码器都可以添加。有人对我有任何建议吗? 非常感谢。
您好!
您使用的是哪种软件? 是 IPNC RDK 吗? 如果是、哪个版本?
[引用 user="user_wpces "]我正在尝试将编码和解码示例结合在一起。您要使用哪两个编解码器? 您能简要介绍一下您的用例吗?
您好!
您可以查看 DVSDK_xx_xx_xx/DM365_codecs_xx_x_xx_xx/packages/ti/sdo/codec/h264enc 和 DVSDK_xx_xx_xx_xx/DM365_codecs_xx_xx_xx_xx_xx/packages/ti/sdo/h264enc。 这里有示例测试应用程序、可用于转储已编码的位流。其中包含文件读取/写入。 它们是独立的测试应用程序、可为您提供帮助。
此外、您还可以参加2个单独的编码和解码演示、其中您看到了编码解码演示。
我能否获得更多详细信息、您为什么要保存位流、然后将其提取并解码? 是否正在传输转储的数据?