Revert "FFMpeg: Fix uninitialized AVFrame, which led to crashes with recent version of libav and ffmpeg"

This reverts commit 84903fce25.
This commit is contained in:
Elliot Wolk
2014-05-07 22:51:39 -04:00
parent e4f1905839
commit 62630f7960
2 changed files with 6 additions and 8 deletions
@@ -112,7 +112,6 @@ MovieDecoder_FFMpeg::MovieDecoder_FFMpeg()
m_fctx = NULL;
m_pStream = NULL;
m_iCurrentPacketOffset = -1;
m_Frame = avcodec::av_frame_alloc();
Init();
}
@@ -140,7 +139,6 @@ MovieDecoder_FFMpeg::~MovieDecoder_FFMpeg()
{
avcodec::av_free(m_buffer);
}
avcodec::av_frame_free(&m_Frame);
}
void MovieDecoder_FFMpeg::Init()
@@ -269,7 +267,7 @@ int MovieDecoder_FFMpeg::DecodePacket( float fTargetTime )
m_Packet.data = m_Packet.size ? m_Packet.data : NULL;
int len = avcodec::avcodec_decode_video2(
m_pStream->codec,
m_Frame, &iGotFrame,
&m_Frame, &iGotFrame,
&m_Packet );
CHECKPOINT;
@@ -288,9 +286,9 @@ int MovieDecoder_FFMpeg::DecodePacket( float fTargetTime )
continue;
}
if( m_Frame->pkt_dts != AV_NOPTS_VALUE )
if( m_Frame.pkt_dts != AV_NOPTS_VALUE )
{
m_fTimestamp = (float) (m_Frame->pkt_dts * av_q2d(m_pStream->time_base));
m_fTimestamp = (float) (m_Frame.pkt_dts * av_q2d(m_pStream->time_base));
}
else
{
@@ -301,7 +299,7 @@ int MovieDecoder_FFMpeg::DecodePacket( float fTargetTime )
/* Length of this frame: */
m_fLastFrameDelay = (float) av_q2d(m_pStream->time_base);
m_fLastFrameDelay += m_Frame->repeat_pict * (m_fLastFrameDelay * 0.5f);
m_fLastFrameDelay += m_Frame.repeat_pict * (m_fLastFrameDelay * 0.5f);
++m_iFrameNumber;
@@ -352,7 +350,7 @@ void MovieDecoder_FFMpeg::GetFrame( RageSurface *pSurface )
}
avcodec::sws_scale( m_swsctx,
m_Frame->data, m_Frame->linesize, 0, GetHeight(),
m_Frame.data, m_Frame.linesize, 0, GetHeight(),
pict.data, pict.linesize );
}
+1 -1
View File
@@ -63,7 +63,7 @@ private:
int DecodePacket( float fTargetTime );
avcodec::AVStream *m_pStream;
avcodec::AVFrame *m_Frame;
avcodec::AVFrame m_Frame;
avcodec::PixelFormat m_AVTexfmt; /* PixelFormat of output surface */
avcodec::SwsContext *m_swsctx;