Fix seek problems and minor changes in PlaYUVerFrame
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user