Segmentation Fault VPU_DecDecodeBuf with VPU_WRAPPER

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Segmentation Fault VPU_DecDecodeBuf with VPU_WRAPPER

92 Views
hsuq7052
Contributor II

I have an IMX.8MP and am trying to decode a H.264 RTP stream of SPS/PPS/ and FU-A NALU's with the vpu wrapper. I'm on 5.10.35+g5f6f502e525b using libfslvpuwrap.so.3.0.0. Following the decoding calling sequence Ive been successful up until trying to decode a frame with VPU_DecDecodeBuf(). All previous step have being completed in order and returned correctly. Calling VPU_DecDecodeBuf() always results in a segmentation fault and after debugging Ive checked that the VpuBufferNode is populated with pVirAddr being set with the NALU and nSize being set to the size of the NALU in bytes with all other fields being set to NULL or 0. Am I setting these fields correctly and is there additional documentation on the VPU Wrapper library as the i.MX VPU Application Programming Interface Linux® Reference Manual does not document these fields? My guess is sCodecData should be initialized, but I don't see any documentation on what I should initialize it to.

 

Wrapper Configurations output via GDB

VpuVersionInfo: [nFwMajor = 1nFwMinor = 1, nFwRelease = 1, nFwCode = 0,nLibMajor = 1, nLibMinor = 1, nLibRelease = 1, nReserved = 0]

VpuWrapperVersionInfo: [nMajor = 3, nMinor = 0, nRelease = 0, pBinary = 0xfffff7f0a4d0 "VPUWRAPPER_ARM64_LINUX Build on Jun 3 2021 04:20:32", nReserved = {0, 0, 0, 0}]

VpuDecOpenParam:  [CodecFormat = VPU_V_AVC, nReorderEnable = 1, nChromaInterleave = 0, nMapType = 0, nTiled2LinearEnable = 0, nPicWidth = 0,
nPicHeight = 0, nEnableFileMode = 0, nEnableVideoCompressor = 0, nPixelFormat = 0, nAdaptiveMode = 0, pAppCxt = 0x0, nSecureMode = 0,
nSecureBufferAllocSize = 0]

VpuMemInfo: [nSubBlockNum = 2, MemSubBlock = {{nAlignment = 16, nSize = 6040, MemType = VPU_MEM_VIRT, pVirtAddr = 0xaaaaaaab5150 "",
pPhyAddr = 0x0, nFd = 0, nReserved = {0, 0, 0}}, {nAlignment = 16, nSize = 16777216, MemType = VPU_MEM_PHY,
pVirtAddr = 0xfffff6ba0000 <error: Cannot access memory at address 0xfffff6ba0000>,
pPhyAddr = 0x66300000 <error: Cannot access memory at address 0x66300000>, nFd = 0, nReserved = {0, 0, 0}}}]

DecMemInfo: [nVirtNum = 1, virtMem = {187649984516432, 0 <repeats 19 times>}, nPhyNum = 1, phyMem_virtAddr = {281474821128192,
0 <repeats 19 times>}, phyMem_phyAddr = {1714421760, 0 <repeats 19 times>}, phyMem_cpuAddr = {5, 0 <repeats 19 times>},
phyMem_size = {16777232, 0 <repeats 19 times>}]

0 Kudos
1 Reply

69 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

Is probably the libfslwrapper.so.3 has a bug on it, but try to download the latest one, it works:

https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for...

 

Regards

 

0 Kudos