From: Thomas D. <tj...@us...> - 2006-12-05 14:37:05
|
Update of /cvsroot/dirac/compress/libdirac_decoder In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv27181/libdirac_decoder Modified Files: frame_decompress.cpp seq_decompress.cpp Log Message: Fixed memory leak bug, which resulted from the encoder not signalling the discarded reference frames correctly. The reference management and FrameBuffer class code still need some work to rationalise. The decoder still does not support the spec requirement for discarding old reference frames if the reference frame buffer gets too big. This would prevent memory leaks (at the risk of incorrect decoding) if the encoder were to signal reference discarding incorrectly in this manner. Index: seq_decompress.cpp =================================================================== RCS file: /cvsroot/dirac/compress/libdirac_decoder/seq_decompress.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** seq_decompress.cpp 26 Oct 2006 15:07:49 -0000 1.15 --- seq_decompress.cpp 5 Dec 2006 14:36:57 -0000 1.16 *************** *** 165,168 **** --- 165,169 ---- return f; } + return m_fbuffer->GetFrame(m_show_fnum); } Index: frame_decompress.cpp =================================================================== RCS file: /cvsroot/dirac/compress/libdirac_decoder/frame_decompress.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** frame_decompress.cpp 26 Oct 2006 15:07:49 -0000 1.23 --- frame_decompress.cpp 5 Dec 2006 14:36:57 -0000 1.24 *************** *** 225,228 **** --- 225,229 ---- // Do frame buffer cleaning std::vector<int>& retd_list = m_fparams.RetiredFrames(); + for (size_t i = 0; i < retd_list.size(); ++i) { |