Fix seek problems and minor changes in PlaYUVerFrame

This commit is contained in:
2014-11-05 18:53:31 +00:00
parent 06783ab4ae
commit 46852ed15c
3 changed files with 12 additions and 7 deletions
-1
View File
@@ -268,7 +268,6 @@ void ViewArea::updateOffset()
{
m_xOffset = 0;
}
if( height() > m_pixmap.height() * m_zoomFactor )
{
m_yOffset = ( height() - m_pixmap.height() * m_zoomFactor ) / 2;
+8 -2
View File
@@ -694,9 +694,13 @@ Void plaYUVerApp::seekEvent( Int direction )
{
if( m_acPlayingSubWindows.contains( m_pcCurrentSubWindow ) )
{
for( Int i = 0; i < m_acPlayingSubWindows.size(); i++ )
Int frame_num = m_pcCurrentSubWindow->getInputStream()->getCurrFrameNum();
if( !( (frame_num + 1) >= getMaxFrameNumber() && direction > 0 ) )
{
m_acPlayingSubWindows.at( i )->seekRelativeEvent( direction > 0 ? true : false );
for( Int i = 0; i < m_acPlayingSubWindows.size(); i++ )
{
m_acPlayingSubWindows.at( i )->seekRelativeEvent( direction > 0 ? true : false );
}
}
}
else
@@ -745,6 +749,8 @@ Void plaYUVerApp::lockButtonEvent()
m_acPlayingSubWindows.clear();
}
}
updateCurrFrameNum();
updateTotalFrameNum();
}
Void plaYUVerApp::videoSelectionButtonEvent()
+4 -4
View File
@@ -144,7 +144,7 @@ Void PlaYUVerFrame::init( UInt width, UInt height, Int pel_format )
getMem3ImageComponents<Pel>( &m_pppcInputPel, m_uiHeight, m_uiWidth, 1, 2 );
break;
case GRAY:
getMem3ImageComponents<Pel>( &m_pppcInputPel, m_uiHeight, m_uiWidth, 4, 4 );
getMem3ImageComponents<Pel>( &m_pppcInputPel, m_uiHeight, m_uiWidth, 99, 99 );
break;
case RGB8:
getMem3ImageComponents<Pel>( &m_pppcInputPel, m_uiHeight, m_uiWidth, 1, 1 );
@@ -338,12 +338,12 @@ Void PlaYUVerFrame::FrametoRGB8()
for( UInt y = 0; y < m_uiHeight; y++ )
for( UInt x = 0; x < m_uiWidth; x++ )
{
iY = *pInputPelY++;
//yuvToRgb( iY, iY, iY, iR, iG, iB );
iY = *pInputPelY;
iR = iG = iB = iY;
*pcRGBPelInterlaced++ = iR;
*pcRGBPelInterlaced++ = iG;
*pcRGBPelInterlaced++ = iB;
pInputPelY++;
}
break;
case RGB8:
@@ -401,7 +401,7 @@ Void PlaYUVerFrame::FrameFromBuffer( Pel *input_buffer, Int pel_format )
}
break;
case GRAY:
memcpy( &m_pppcInputPel[LUMA][0][0], input_buffer + frame_bytes_input * 0, frame_bytes_input * sizeof(Pel) );
memcpy( &m_pppcInputPel[LUMA][0][0], input_buffer, frame_bytes_input * sizeof(Pel) );
break;
case RGB8:
memcpy( pcRGBPelInterlaced, input_buffer, frame_bytes_input * sizeof(Pel) * 3 );