List Info

Thread: compress/libdirac_decoder frame_decompress.cpp, 1.25, 1.26 seq_decompress.cpp, 1.17,




compress/libdirac_decoder frame_decompress.cpp, 1.25, 1.26 seq_decompress.cpp, 1.17,
user name
2007-04-26 08:56:33
Update of /cvsroot/dirac/compress/libdirac_decoder
In directory
sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv11732/libdirac_dec
oder

Modified Files:
	frame_decompress.cpp seq_decompress.cpp 
Log Message:
Added new function to FrameBuffer to check if  frame is
available before
using it. This is to prevent from trying to dereference a
non-existent first
frame from the buffer. This function is a temporary fix.
FrameBuffer might need
to be re-written to return pointer to a frame in the buffer
rather than a
reference so that the return value can be checked for NULL
before using it.


Index: seq_decompress.cpp
============================================================
=======
RCS file:
/cvsroot/dirac/compress/libdirac_decoder/seq_decompress.cpp,
v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** seq_decompress.cpp	19 Mar 2007 15:39:29 -0000	1.17
--- seq_decompress.cpp	26 Apr 2007 13:56:31 -0000	1.18
***************
*** 119,125 ****
      TEST (m_fdecoder != NULL);
      
-     // A flag indicating whether the frame is in the
buffer
-     bool is_present;
-     
      // Remove the last displayed frame from the buffer if
it wasn't a reference
      if ( m_show_fnum>0 )
--- 119,122 ----
***************
*** 127,138 ****
          if ( m_decparams.Verbose() )
             
std::cout<<std::endl<<"Cleaning display
buffer: ";         
!         if ( m_fbuffer->GetFrame(m_show_fnum-1,
is_present).GetFparams().FSort().IsNonRef() )
          {
!             if ( is_present )
!             {
!                 m_fbuffer->Clean(m_show_fnum-1);
!                 if ( m_decparams.Verbose() )
!                    
std::cout<<(m_show_fnum-1)<<" ";
!             }
          }
      }
--- 124,133 ----
          if ( m_decparams.Verbose() )
             
std::cout<<std::endl<<"Cleaning display
buffer: ";         
!         if ( m_fbuffer->IsFrameAvail(m_show_fnum-1)
&& 
!            
m_fbuffer->GetFrame(m_show_fnum-1).GetFparams().FSort().I
sNonRef() )
          {
!             m_fbuffer->Clean(m_show_fnum-1);
!             if ( m_decparams.Verbose() )
!                
std::cout<<(m_show_fnum-1)<<" ";
          }
      }

Index: frame_decompress.cpp
============================================================
=======
RCS file:
/cvsroot/dirac/compress/libdirac_decoder/frame_decompress.cp
p,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** frame_decompress.cpp	11 Apr 2007 08:08:49 -0000	1.25
--- frame_decompress.cpp	26 Apr 2007 13:56:31 -0000	1.26
***************
*** 110,120 ****
          const std::vector<int>& refs =
m_fparams.Refs();
  
-         // A flag used to indicate whether frames reside
in the buffer
-         bool is_present;
- 
          for (unsigned int i = 0; i < refs.size(); ++i)
          {
!             const Frame &ref_frame =
my_buffer.GetFrame(refs[i], is_present);
!             if ( ref_frame.GetFparams().FrameNum() !=
refs[i] || is_present==false )
              {
                  return false;
--- 110,116 ----
          const std::vector<int>& refs =
m_fparams.Refs();
  
          for (unsigned int i = 0; i < refs.size(); ++i)
          {
!             if ( !my_buffer.IsFrameAvail(refs[i]) )
              {
                  return false;
***************
*** 214,226 ****
      for (size_t i = 0; i < retd_list.size(); ++i)
      {
!         bool is_present;
!         if ( my_buffer.GetFrame(retd_list[i],
is_present).GetFparams().FSort().IsRef() )
          {
!             if ( is_present )
!             {
!                 my_buffer.Clean(retd_list[i]);
!                 if ( m_decparams.Verbose() )
!                    
std::cout<<retd_list[i]<<" ";    
!             }
          }
      }
--- 210,218 ----
      for (size_t i = 0; i < retd_list.size(); ++i)
      {
!         if ( my_buffer.IsFrameAvail(retd_list[i])
&&
my_buffer.GetFrame(retd_list[i]).GetFparams().FSort().IsRef(
) )
          {
!             my_buffer.Clean(retd_list[i]);
!             if ( m_decparams.Verbose() )
!                
std::cout<<retd_list[i]<<" ";    
          }
      }


------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Dirac-commits mailing list
Dirac-commitslists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dirac-com
mits

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )