forked from mia/Aegisub
FFmpegSource 1.18
Originally committed to SVN as r2167.
This commit is contained in:
parent
f72e6794a3
commit
975c85be7c
3 changed files with 6 additions and 8 deletions
|
@ -370,9 +370,6 @@ int FFMatroskaSource::DecodeNextFrame(AVFrame *AFrame, int64_t *AFirstStartTime,
|
||||||
FrameSize = ReadFrame(FilePos, FrameSize, VideoCS, Env);
|
FrameSize = ReadFrame(FilePos, FrameSize, VideoCS, Env);
|
||||||
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, Buffer, FrameSize);
|
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, Buffer, FrameSize);
|
||||||
|
|
||||||
if (Ret < 0)
|
|
||||||
goto Error;
|
|
||||||
|
|
||||||
if (FrameFinished)
|
if (FrameFinished)
|
||||||
goto Done;
|
goto Done;
|
||||||
}
|
}
|
||||||
|
@ -381,7 +378,7 @@ int FFMatroskaSource::DecodeNextFrame(AVFrame *AFrame, int64_t *AFirstStartTime,
|
||||||
if (VideoCodecContext->has_b_frames)
|
if (VideoCodecContext->has_b_frames)
|
||||||
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, NULL, 0);
|
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, NULL, 0);
|
||||||
|
|
||||||
if (!FrameFinished || Ret < 0)
|
if (!FrameFinished)
|
||||||
goto Error;
|
goto Error;
|
||||||
|
|
||||||
Error:
|
Error:
|
||||||
|
|
|
@ -246,9 +246,6 @@ int FFmpegSource::DecodeNextFrame(AVFrame *AFrame, int64_t *AStartTime) {
|
||||||
*AStartTime = Packet.dts;
|
*AStartTime = Packet.dts;
|
||||||
|
|
||||||
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, Packet.data, Packet.size);
|
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, Packet.data, Packet.size);
|
||||||
|
|
||||||
if (Ret < 0)
|
|
||||||
goto Error;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
av_free_packet(&Packet);
|
av_free_packet(&Packet);
|
||||||
|
@ -261,7 +258,7 @@ int FFmpegSource::DecodeNextFrame(AVFrame *AFrame, int64_t *AStartTime) {
|
||||||
if (VideoCodecContext->has_b_frames)
|
if (VideoCodecContext->has_b_frames)
|
||||||
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, NULL, 0);
|
Ret = avcodec_decode_video(VideoCodecContext, AFrame, &FrameFinished, NULL, 0);
|
||||||
|
|
||||||
if (!FrameFinished || Ret < 0)
|
if (!FrameFinished)
|
||||||
goto Error;
|
goto Error;
|
||||||
|
|
||||||
// Ignore errors for now
|
// Ignore errors for now
|
||||||
|
|
|
@ -165,6 +165,10 @@ Note that --enable-w32threads is required for multithreaded decoding to work.
|
||||||
|
|
||||||
<h2>Changes</h2>
|
<h2>Changes</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>1.18<ul>
|
||||||
|
<li>Reverted error handling because it broke vc1</li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
<li>1.17<ul>
|
<li>1.17<ul>
|
||||||
<li>Now sets the video SAR (if any) in the variables FFSAR, FFSAR_NUM and FFSAR_DEN when being invoked</li>
|
<li>Now sets the video SAR (if any) in the variables FFSAR, FFSAR_NUM and FFSAR_DEN when being invoked</li>
|
||||||
<li>Changed error handling slightly in video decoding (most errors are still ignored)</li>
|
<li>Changed error handling slightly in video decoding (most errors are still ignored)</li>
|
||||||
|
|
Loading…
Reference in a new issue