-
Notifications
You must be signed in to change notification settings - Fork 106
deak lock when decoding hevc #584
Comments
Hi @waiter89 |
another stack (gdb) bt |
Hi @waiter89 |
Maybe hevc decoder can refer this commit: e0a5f44 |
@xuguangxin yes,it works,thanks |
You have wrong bitstream? |
If there are some error bit stream or the dpb logical have some bug, the checkDpbSize return true and it’s not frame to output, the bump will return false, and do not remove any thing from dpb. Again the dpb still full, it trap to an infinite loop. Check the bump result will break the loop.This fixes intel#584
(gdb) bt
#0 0x00007ffff3b7142d in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from ./libstdc++.so.6
#1 0x00007fffe1699cfc in std::_Rb_tree_const_iteratorstd::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265 >::operator++ (this=) at /usr/include/c++/4.8/bits/stl_tree.h:270
#2 std::__find_ifstd::_Rb_tree_const_iterator<std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265 >, std::tr1::_Bind<bool ((std::tr1::_Placeholder<1>, short unsigned int))(const std::tr1::shared_ptrYamiMediaCodec::VaapiDecPictureH265&, unsigned int)> > (__pred=..., __last=..., __first=...) at /usr/include/c++/4.8/bits/stl_algo.h:151
#3 std::find_ifstd::_Rb_tree_const_iterator<std::tr1::shared_ptr<YamiMediaCodec::VaapiDecPictureH265 >, std::tr1::_Bind<bool ((std::tr1::_Placeholder<1>, short unsigned int))(const std::tr1::shared_ptrYamiMediaCodec::VaapiDecPictureH265&, unsigned int)> > (__pred=..., __last=..., __first=...) at /usr/include/c++/4.8/bits/stl_algo.h:4465
#4 YamiMediaCodec::VaapiDecoderH265::DPB::checkLatency (this=0x7fff5810d6e0, this@entry=0x379d328, sps=0x0, sps@entry=0x3558ef0) at vaapidecoder_h265.cpp:362
#5 0x00007fffe169c0f2 in YamiMediaCodec::VaapiDecoderH265::DPB::init (this=this@entry=0x379d328, picture=..., slice=slice@entry=0x7fff58007d00, nalu=nalu@entry=0x7fff7fffe740, newStream=) at vaapidecoder_h265.cpp:397
#6 0x00007fffe169d640 in YamiMediaCodec::VaapiDecoderH265::decodeSlice (this=this@entry=0x379d0c0, nalu=nalu@entry=0x7fff7fffe740) at vaapidecoder_h265.cpp:1043
#7 0x00007fffe169d937 in YamiMediaCodec::VaapiDecoderH265::decodeNalu (this=this@entry=0x379d0c0, nalu=nalu@entry=0x7fff7fffe740) at vaapidecoder_h265.cpp:1064
#8 0x00007fffe169dae4 in YamiMediaCodec::VaapiDecoderH265::decode (this=0x379d0c0, buffer=) at vaapidecoder_h265.cpp:1118
#9 0x00007fffe0dcb35e in sw_decodec (Acodec=0x379c930, Ainput=0x7fff64062a40, AiLen=1366) at ../shanwei_yami.cpp:758
#10 0x00007fffe86f85cb in sw_decodec (Acodec=0x33d8100, Ainput=0x7fff64062a40, AiLen=1366) at ../shanwei_proc/shanwei_proc.c:242
The text was updated successfully, but these errors were encountered: