H265,无法解码P帧

只能解出关键帧帧,后面P帧都是失败的

你好,我们研发反馈要用./sample_vdec_basic这个案例,您用的是./example_vdec_basic,您要不要再试一试呢?

./sample_vdec_basic -w 1920 -h 1080 -t h265 -f video_20240520170234_20250106173907.265

make 后,执行一样的结果,也是解码报错

root@ubuntu:/app/multimedia_samples/sample_video_codec# ./sample_vdec_basic -w 1920 -h 1080 -t h265 -f video_20240520170234_20250106173907.265
mmzAlloc paddr = 0x173a2000, vaddr = 0x7f74d55000 i = 0
mmzAlloc paddr = 0x17895000, vaddr = 0x7f74862000 i = 1
mmzAlloc paddr = 0x17d88000, vaddr = 0x7f7436f000 i = 2
mmzAlloc paddr = 0x1827b000, vaddr = 0x7f67e05000 i = 3
mmzAlloc paddr = 0x18476000, vaddr = 0x7f67c0a000 i = 4
try open
do while
[pstStream] pts:0, vir_ptr:547420983296, size:140126
feed raw data
do while
[pstStream] pts:1, vir_ptr:547415793664, size:7582
feed raw data
do while
idx 0
vdec 1, 1920x1080
[pstStream] pts:2, vir_ptr:547410604032, size:5400
feed raw data
do while
[pstStream] pts:3, vir_ptr:547203600384, size:5402
feed raw data
do while
[pstStream] pts:4, vir_ptr:547201523712, size:5817
feed raw data
do while
[pstStream] pts:5, vir_ptr:547420983296, size:5604
feed raw data
do while
[pstStream] pts:6, vir_ptr:547415793664, size:5818
feed raw data
do while
[pstStream] pts:7, vir_ptr:547410604032, size:5457
feed raw data
do while
[pstStream] pts:8, vir_ptr:547203600384, size:5415
feed raw data
do while
[pstStream] pts:9, vir_ptr:547201523712, size:5652
feed raw data
do while
[pstStream] pts:10, vir_ptr:547420983296, size:5756
feed raw data
do while
[pstStream] pts:11, vir_ptr:547415793664, size:5927
feed raw data
do while
[pstStream] pts:12, vir_ptr:547410604032, size:5698
feed raw data
do while
[pstStream] pts:13, vir_ptr:547203600384, size:5671
feed raw data
do while
[pstStream] pts:14, vir_ptr:547201523712, size:5738
feed raw data
do while
[pstStream] pts:15, vir_ptr:547420983296, size:5653
feed raw data
do while
[pstStream] pts:16, vir_ptr:547415793664, size:5457
feed raw data
do while
[pstStream] pts:17, vir_ptr:547410604032, size:5422
feed raw data
do while
[pstStream] pts:18, vir_ptr:547203600384, size:5626
feed raw data
do while
[pstStream] pts:19, vir_ptr:547201523712, size:5750
feed raw data
do while
[pstStream] pts:20, vir_ptr:547420983296, size:5659
feed raw data
do while
[pstStream] pts:21, vir_ptr:547415793664, size:5551
feed raw data
do while
[pstStream] pts:22, vir_ptr:547410604032, size:5488
feed raw data
do while
[pstStream] pts:23, vir_ptr:547203600384, size:5617
feed raw data
do while
[pstStream] pts:24, vir_ptr:547201523712, size:5836
feed raw data
do while
[pstStream] pts:25, vir_ptr:547420983296, size:5606
feed raw data
do while
[pstStream] pts:26, vir_ptr:547415793664, size:5809
feed raw data
do while
[pstStream] pts:27, vir_ptr:547410604032, size:5635
feed raw data
do while
[pstStream] pts:28, vir_ptr:547203600384, size:5564
feed raw data
do while
[pstStream] pts:29, vir_ptr:547201523712, size:5224
feed raw data
do while
[pstStream] pts:30, vir_ptr:547420983296, size:5937
feed raw data
do while
[pstStream] pts:31, vir_ptr:547415793664, size:5616
feed raw data
do while
[pstStream] pts:32, vir_ptr:547410604032, size:5158
feed raw data
do while
[pstStream] pts:33, vir_ptr:547203600384, size:5955
feed raw data
do while
[pstStream] pts:34, vir_ptr:547201523712, size:5686
feed raw data
do while
[pstStream] pts:35, vir_ptr:547420983296, size:5879
feed raw data
do while
[pstStream] pts:36, vir_ptr:547415793664, size:5497
feed raw data
do while
[pstStream] pts:37, vir_ptr:547410604032, size:5658
feed raw data
do while
[pstStream] pts:38, vir_ptr:547203600384, size:5746
feed raw data
do while
[pstStream] pts:39, vir_ptr:547201523712, size:5586
feed raw data
do while
[pstStream] pts:40, vir_ptr:547420983296, size:5449
feed raw data
do while
[pstStream] pts:41, vir_ptr:547415793664, size:5789
feed raw data
do while
[pstStream] pts:42, vir_ptr:547410604032, size:5568
feed raw data
do while
[pstStream] pts:43, vir_ptr:547203600384, size:5620
feed raw data
do while
[pstStream] pts:44, vir_ptr:547201523712, size:5880
feed raw data
do while
[pstStream] pts:45, vir_ptr:547420983296, size:5277
feed raw data
do while
[pstStream] pts:46, vir_ptr:547415793664, size:5567
feed raw data
do while
[pstStream] pts:47, vir_ptr:547410604032, size:5708
feed raw data
do while
[pstStream] pts:48, vir_ptr:547203600384, size:5364
feed raw data
do while
[pstStream] pts:49, vir_ptr:547201523712, size:5646
feed raw data
do while
[pstStream] pts:50, vir_ptr:547420983296, size:139185
feed raw data
do while
[pstStream] pts:51, vir_ptr:547415793664, size:7938
feed raw data
do while
[pstStream] pts:52, vir_ptr:547410604032, size:5287
feed raw data
do while
[pstStream] pts:53, vir_ptr:547203600384, size:5515
feed raw data
do while
[pstStream] pts:54, vir_ptr:547201523712, size:5821
feed raw data
do while
[pstStream] pts:55, vir_ptr:547420983296, size:5671
feed raw data
do while
[pstStream] pts:56, vir_ptr:547415793664, size:5659
feed raw data
do while
[pstStream] pts:57, vir_ptr:547410604032, size:5381
feed raw data
do while
[pstStream] pts:58, vir_ptr:547203600384, size:5927
feed raw data
do while
[pstStream] pts:59, vir_ptr:547201523712, size:5698
feed raw data
do while
[pstStream] pts:60, vir_ptr:547420983296, size:5502
feed raw data
do while
[pstStream] pts:61, vir_ptr:547415793664, size:5658
feed raw data
do while
[pstStream] pts:62, vir_ptr:547410604032, size:5645
feed raw data
do while
[pstStream] pts:63, vir_ptr:547203600384, size:5634
feed raw data
do while
[pstStream] pts:64, vir_ptr:547201523712, size:5377
feed raw data
do while
[pstStream] pts:65, vir_ptr:547420983296, size:5761
feed raw data
do while
[pstStream] pts:66, vir_ptr:547415793664, size:5679
feed raw data
do while
[pstStream] pts:67, vir_ptr:547410604032, size:5864
feed raw data
do while
[pstStream] pts:68, vir_ptr:547203600384, size:5775
feed raw data
do while
[pstStream] pts:69, vir_ptr:547201523712, size:5650
feed raw data
do while
[pstStream] pts:70, vir_ptr:547420983296, size:5885
feed raw data
do while
[pstStream] pts:71, vir_ptr:547415793664, size:5475
feed raw data
do while
[pstStream] pts:72, vir_ptr:547410604032, size:5777
feed raw data
do while
[pstStream] pts:73, vir_ptr:547203600384, size:5558
feed raw data
do while
[pstStream] pts:74, vir_ptr:547201523712, size:5756
feed raw data
do while
[pstStream] pts:75, vir_ptr:547420983296, size:5819
feed raw data
do while
[pstStream] pts:76, vir_ptr:547415793664, size:5654
feed raw data
do while
[pstStream] pts:77, vir_ptr:547410604032, size:6016
feed raw data
do while
[pstStream] pts:78, vir_ptr:547203600384, size:5575
feed raw data
do while
[pstStream] pts:79, vir_ptr:547201523712, size:5742
feed raw data
do while
[pstStream] pts:80, vir_ptr:547420983296, size:5434
feed raw data
do while
[pstStream] pts:81, vir_ptr:547415793664, size:5456
feed raw data
do while
[pstStream] pts:82, vir_ptr:547410604032, size:5741
feed raw data
do while
[pstStream] pts:83, vir_ptr:547203600384, size:5403
feed raw data
do while
[pstStream] pts:84, vir_ptr:547201523712, size:5577
feed raw data
do while
[pstStream] pts:85, vir_ptr:547420983296, size:5491
feed raw data
do while
[pstStream] pts:86, vir_ptr:547415793664, size:5918
feed raw data
do while
[pstStream] pts:87, vir_ptr:547410604032, size:5583
feed raw data
do while
[pstStream] pts:88, vir_ptr:547203600384, size:5881
feed raw data
do while
[pstStream] pts:89, vir_ptr:547201523712, size:5447
feed raw data
do while
[pstStream] pts:90, vir_ptr:547420983296, size:5570
feed raw data
do while
[pstStream] pts:91, vir_ptr:547415793664, size:5882
feed raw data
do while
[pstStream] pts:92, vir_ptr:547410604032, size:5504
feed raw data
do while
[pstStream] pts:93, vir_ptr:547203600384, size:5836
feed raw data
do while
[pstStream] pts:94, vir_ptr:547201523712, size:5804
feed raw data
do while
[pstStream] pts:95, vir_ptr:547420983296, size:5384
feed raw data
do while
[pstStream] pts:96, vir_ptr:547415793664, size:5625
feed raw data
do while
[pstStream] pts:97, vir_ptr:547410604032, size:5459
feed raw data
do while
[pstStream] pts:98, vir_ptr:547203600384, size:5633
feed raw data
do while
[pstStream] pts:99, vir_ptr:547201523712, size:5220
feed raw data
do while
[ERROR][“vdec”][video/src/hb_vdec.c:743] [102165.336144]HB_VDEC_GetFrame[743]: [HB_VDEC] HB_VDEC_GetFrame:743 Failed VdChn = 0 s32Ret = -269024268

HB_VDEC_GetFrame failed:-269024268

这是码流解码完了的正常报错,不影响程序和codec功能的使用:

while (running) {
s32Ret = HB_VDEC_GetFrame(vdecChn, &stFrameInfo, 1000);
if (s32Ret == 0) {
if (idx++ % 100 == 0) {
outFile = fopen(“decode.nv12”, “wb”);
fwrite(stFrameInfo.stVFrame.vir_ptr[0], stFrameInfo.stVFrame.height * stFrameInfo.stVFrame.width, 1 ,outFile);
fwrite(stFrameInfo.stVFrame.vir_ptr[1], stFrameInfo.stVFrame.height * stFrameInfo.stVFrame.width/2, 1 ,outFile);
printf(“vdec %d, %dx%d\n”, idx, stFrameInfo.stVFrame.width, stFrameInfo.stVFrame.height);
fclose(outFile);
}
HB_VDEC_ReleaseFrame(vdecChn, &stFrameInfo);
} else {
printf(“HB_VDEC_GetFrame failed:%d\n”, s32Ret);
}
}

代码是这样的,在另外一个线程中获取解码数据,其中一直在报错的,日志只截取了部分
如果打印idx,只能解码出22帧
附件是完整日志

log_20250918.txt (83.4 KB)

是否有解决方案啊?