HEVC参考软件16.24隐写解码断言失败求助:binVal错误
HEVC参考软件16.24帧内预测模式隐写解码断言失败问题
我在HEVC参考软件16.24版本中实现数据隐写任务,通过修改帧内预测模式隐藏文本。已完成提取并重新计算所有帧内块帧内预测模式的算法:在TEncSlice的encodeSlice()函数中,于m_pcCuEncoder->encodeCtu( pCtu );执行前读取待隐藏信息,随后在TEncSbac::codeIntraDirLumaAng()中、帧内预测模式写入码流前对其进行修改。
编码器可正常编码帧且无报错或警告,但使用HEVC解码器处理隐写码流时,仅能解码第一帧的部分切片,随后终止并抛出错误:
TAppDecoder: ../source/Lib/TLibDecoder/TDecSlice.cpp:282: Void TDecSlice::decompressSlice(TComInputBitstream**, TComPic*, TDecSbac*): Assertion `binVal' failed. Aborted (core dumped)
检查解码切片的帧内预测模式,既与重新计算的模式不符,也与修改前的原始模式不同,部分为重新计算的模式,部分不是,目前陷入困境,请求协助。
编辑补充
该断言用于对比解码值的比特数与编码器记录的比特数信息,抛出错误的代码如下:
// The sub-stream/stream should be terminated after this CTU. // (end of slice-segment, end of tile, end of wavefront-CTU-row) UInt binVal; pcSbacDecoder->parseTerminatingBit(binVal); assert(binVal); //<- TDecSlice.cpp:282
内容的提问来源于stack exchange,提问作者Shija
相关产品推荐
相关产品推荐

