77 lines
2.9 KiB
Diff
77 lines
2.9 KiB
Diff
|
Description: Replace deprecated FFmpeg API
|
||
|
Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
|
||
|
Last-Update: <2015-11-02>
|
||
|
|
||
|
--- QTfrontend/util/LibavInteraction.cpp
|
||
|
+++ QTfrontend/util/LibavInteraction.cpp
|
||
|
@@ -106,8 +106,8 @@ LibavInteraction::LibavInteraction() : Q
|
||
|
if (!pCodec->pix_fmts)
|
||
|
continue;
|
||
|
bool yuv420Supported = false;
|
||
|
- for (const PixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++)
|
||
|
- if (*pfmt == PIX_FMT_YUV420P)
|
||
|
+ for (const AVPixelFormat* pfmt = pCodec->pix_fmts; *pfmt != -1; pfmt++)
|
||
|
+ if (*pfmt == AV_PIX_FMT_YUV420P)
|
||
|
{
|
||
|
yuv420Supported = true;
|
||
|
break;
|
||
|
--- hedgewars/avwrapper/avwrapper.c
|
||
|
+++ hedgewars/avwrapper/avwrapper.c
|
||
|
@@ -158,7 +158,7 @@ static void AddAudioStream()
|
||
|
else
|
||
|
g_NumSamples = g_pAudio->frame_size;
|
||
|
g_pSamples = (int16_t*)av_malloc(g_NumSamples*g_Channels*sizeof(int16_t));
|
||
|
- g_pAFrame = avcodec_alloc_frame();
|
||
|
+ g_pAFrame = av_frame_alloc();
|
||
|
if (!g_pAFrame)
|
||
|
{
|
||
|
Log("Could not allocate frame\n");
|
||
|
@@ -241,7 +241,7 @@ static int AddVideoStream()
|
||
|
g_pVideo->time_base.den = g_Framerate.num;
|
||
|
g_pVideo->time_base.num = g_Framerate.den;
|
||
|
//g_pVideo->gop_size = 12; /* emit one intra frame every twelve frames at most */
|
||
|
- g_pVideo->pix_fmt = PIX_FMT_YUV420P;
|
||
|
+ g_pVideo->pix_fmt = AV_PIX_FMT_YUV420P;
|
||
|
|
||
|
// set quality
|
||
|
if (g_VQuality > 100)
|
||
|
@@ -299,7 +299,7 @@ static int AddVideoStream()
|
||
|
#endif
|
||
|
return FatalError("Could not open video codec %s", g_pVCodec->long_name);
|
||
|
|
||
|
- g_pVFrame = avcodec_alloc_frame();
|
||
|
+ g_pVFrame = av_frame_alloc();
|
||
|
if (!g_pVFrame)
|
||
|
return FatalError("Could not allocate frame");
|
||
|
|
||
|
@@ -317,10 +317,10 @@ static int WriteFrame(AVFrame* pFrame)
|
||
|
// write interleaved audio frame
|
||
|
if (g_pAStream)
|
||
|
{
|
||
|
- VideoTime = (double)g_pVStream->pts.val*g_pVStream->time_base.num/g_pVStream->time_base.den;
|
||
|
+ VideoTime = (double)av_stream_get_end_pts(g_pVStream)*g_pVStream->time_base.num/g_pVStream->time_base.den;
|
||
|
do
|
||
|
{
|
||
|
- AudioTime = (double)g_pAStream->pts.val*g_pAStream->time_base.num/g_pAStream->time_base.den;
|
||
|
+ AudioTime = (double)av_stream_get_end_pts(g_pAStream)*g_pAStream->time_base.num/g_pAStream->time_base.den;
|
||
|
ret = WriteAudioFrame();
|
||
|
}
|
||
|
while (AudioTime < VideoTime && ret);
|
||
|
@@ -526,14 +526,14 @@ AVWRAP_DECL int AVWrapper_Close()
|
||
|
avcodec_close(g_pVideo);
|
||
|
av_free(g_pVideo);
|
||
|
av_free(g_pVStream);
|
||
|
- av_free(g_pVFrame);
|
||
|
+ av_frame_free(&g_pVFrame);
|
||
|
}
|
||
|
if (g_pAStream)
|
||
|
{
|
||
|
avcodec_close(g_pAudio);
|
||
|
av_free(g_pAudio);
|
||
|
av_free(g_pAStream);
|
||
|
- av_free(g_pAFrame);
|
||
|
+ av_frame_free(&g_pAFrame);
|
||
|
av_free(g_pSamples);
|
||
|
fclose(g_pSoundFile);
|
||
|
}
|