[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Linphone-developers] Update to recent FFmpeg
From: |
Peter Kovář |
Subject: |
[Linphone-developers] Update to recent FFmpeg |
Date: |
Thu, 24 Sep 2015 17:25:32 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
Hi *,
following patch will fix the compilation of the mediastreamer2 with up
to date FFmpeg library.
Kind regards,
Peter
---
src/videofilters/h264dec.c | 2 +-
src/videofilters/jpegwriter.c | 4 ++--
src/videofilters/nowebcam.c | 4 ++--
src/videofilters/videodec.c | 4 ++--
src/videofilters/videoenc.c | 14 ++++++++++----
src/voip/msvideo.c | 30 +++++++++++++++---------------
6 files changed, 32 insertions(+), 26 deletions(-)
diff --git a/src/videofilters/h264dec.c b/src/videofilters/h264dec.c
index 1ee4611..e9eaa7a 100644
--- a/src/videofilters/h264dec.c
+++ b/src/videofilters/h264dec.c
@@ -132,7 +132,7 @@ static mblk_t *get_as_yuvmsg(MSFilter *f, DecData
*s, AVFrame *orig){
s->vsize.width=ctx->width;
s->vsize.height=ctx->height;
s->sws_ctx=sws_getContext(ctx->width,ctx->height,ctx->pix_fmt,
-
ctx->width,ctx->height,PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
+
ctx->width,ctx->height,AV_PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
NULL, NULL, NULL);
ms_filter_notify_no_arg(f,MS_FILTER_OUTPUT_FMT_CHANGED);
}
diff --git a/src/videofilters/jpegwriter.c b/src/videofilters/jpegwriter.c
index 32b8f72..957030d 100644
--- a/src/videofilters/jpegwriter.c
+++ b/src/videofilters/jpegwriter.c
@@ -127,7 +127,7 @@ static void jpg_process(MSFilter *f){
avctx->height=yuvbuf.h;
avctx->time_base.num = 1;
avctx->time_base.den =1;
- avctx->pix_fmt=PIX_FMT_YUVJ420P;
+ avctx->pix_fmt=AV_PIX_FMT_YUVJ420P;
error=avcodec_open2(avctx,s->codec,NULL);
if (error!=0) {
@@ -136,7 +136,7 @@ static void jpg_process(MSFilter *f){
av_free(avctx);
goto end;
}
-
sws_ctx=sws_getContext(avctx->width,avctx->height,PIX_FMT_YUV420P,
+
sws_ctx=sws_getContext(avctx->width,avctx->height,AV_PIX_FMT_YUV420P,
avctx->width,avctx->height,avctx->pix_fmt,SWS_FAST_BILINEAR,NULL,
NULL, NULL);
if (sws_ctx==NULL) {
ms_error(" sws_getContext() failed.");
diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c
index 5c01aa9..60fbc0f 100644
--- a/src/videofilters/nowebcam.c
+++ b/src/videofilters/nowebcam.c
@@ -84,9 +84,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf, int bufsize,
MSVideoSize *reqsize){
}
ret=ms_yuv_buf_alloc(&dest, reqsize->width,reqsize->height);
/* not using SWS_FAST_BILINEAR because it doesn't play well with
- * av_context.pix_fmt set to PIX_FMT_YUVJ420P by jpeg decoder */
+ * av_context.pix_fmt set to AV_PIX_FMT_YUVJ420P by jpeg decoder */
sws_ctx=sws_getContext(av_context.width,av_context.height,av_context.pix_fmt,
- reqsize->width,reqsize->height,PIX_FMT_YUV420P,SWS_BILINEAR,
+ reqsize->width,reqsize->height,AV_PIX_FMT_YUV420P,SWS_BILINEAR,
NULL, NULL, NULL);
if (sws_ctx==NULL) {
ms_error("jpeg2yuv: ms_sws_getContext() failed.");
diff --git a/src/videofilters/videodec.c b/src/videofilters/videodec.c
index ba04eb7..42c384a 100644
--- a/src/videofilters/videodec.c
+++ b/src/videofilters/videodec.c
@@ -40,7 +40,7 @@ typedef struct DecState{
YuvBuf outbuf;
mblk_t *yuv_msg;
struct SwsContext *sws_ctx;
- enum PixelFormat output_pix_fmt;
+ enum AVPixelFormat output_pix_fmt;
uint8_t dci[512];
int dci_size;
MSAverageFPS fps;
@@ -59,7 +59,7 @@ static void dec_init(MSFilter *f, enum CodecID cid){
s->codec=cid;
s->input=NULL;
s->yuv_msg=NULL;
- s->output_pix_fmt=PIX_FMT_YUV420P;
+ s->output_pix_fmt=AV_PIX_FMT_YUV420P;
s->snow_initialized=FALSE;
s->outbuf.w=0;
s->outbuf.h=0;
diff --git a/src/videofilters/videoenc.c b/src/videofilters/videoenc.c
index 4f29149..8303ba3 100644
--- a/src/videofilters/videoenc.c
+++ b/src/videofilters/videoenc.c
@@ -259,13 +259,13 @@ static void prepare(EncState *s){
avcodec_get_context_defaults3(c, NULL);
if (s->codec==CODEC_ID_MJPEG)
{
- ms_message("Codec bitrate set to %i",c->bit_rate);
+ ms_message("Codec bitrate set to %li",c->bit_rate);
c->width = s->vconf.vsize.width;
c->height = s->vconf.vsize.height;
c->time_base.num = 1;
c->time_base.den = (int)s->vconf.fps;
c->gop_size=(int)s->vconf.fps*5; /*emit I frame every 5
seconds*/
- c->pix_fmt=PIX_FMT_YUVJ420P;
+ c->pix_fmt=AV_PIX_FMT_YUVJ420P;
s->comp_buf=allocb(c->bit_rate*2,0);
return;
}
@@ -297,13 +297,13 @@ static void prepare(EncState *s){
c->qmin=s->qmin;
}
- ms_message("Codec bitrate set to %i",c->bit_rate);
+ ms_message("Codec bitrate set to %li",c->bit_rate);
c->width = s->vconf.vsize.width;
c->height = s->vconf.vsize.height;
c->time_base.num = 1;
c->time_base.den = (int)s->vconf.fps;
c->gop_size=(int)s->vconf.fps*10; /*emit I frame every 10 seconds*/
- c->pix_fmt=PIX_FMT_YUV420P;
+ c->pix_fmt=AV_PIX_FMT_YUV420P;
s->comp_buf=allocb(c->bit_rate*2,0);
#if HAVE_AVCODEC_SNOW
if (s->codec==CODEC_ID_SNOW){
@@ -401,7 +401,10 @@ static void add_rfc2190_header(mblk_t **packet,
AVCodecContext *context){
// assume video size is CIF or QCIF
if (context->width == 352 && context->height == 288) header->b_wptr[1]
= 0x60;
else header->b_wptr[1] = 0x40;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
if (context->coded_frame->pict_type != FF_I_TYPE) header->b_wptr[1] |=
0x10;
+#pragma GCC diagnostic pop
header->b_wptr += 4;
header->b_cont = *packet;
*packet = header;
@@ -837,9 +840,12 @@ static void process_frame(MSFilter *f, mblk_t *inm){
if (s->framenum==1){
ms_video_starter_first_frame(&s->starter,
f->ticker->time);
}
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
if (c->coded_frame->pict_type==FF_I_TYPE){
ms_message("Emitting I-frame");
}
+#pragma GCC diagnostic pop
comp_buf->b_wptr+=packet.size;
split_and_send(f,s,comp_buf);
}
diff --git a/src/voip/msvideo.c b/src/voip/msvideo.c
index d915551..c6fee18 100644
--- a/src/voip/msvideo.c
+++ b/src/voip/msvideo.c
@@ -404,21 +404,21 @@ void ms_rgb_to_yuv(const uint8_t rgb[3], uint8_t
yuv[3]){
int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
switch(fmt){
case MS_RGBA32:
- return PIX_FMT_RGBA;
+ return AV_PIX_FMT_RGBA;
case MS_RGB24:
- return PIX_FMT_RGB24;
+ return AV_PIX_FMT_RGB24;
case MS_RGB24_REV:
- return PIX_FMT_BGR24;
+ return AV_PIX_FMT_BGR24;
case MS_YUV420P:
- return PIX_FMT_YUV420P;
+ return AV_PIX_FMT_YUV420P;
case MS_YUYV:
- return PIX_FMT_YUYV422;
+ return AV_PIX_FMT_YUYV422;
case MS_UYVY:
- return PIX_FMT_UYVY422;
+ return AV_PIX_FMT_UYVY422;
case MS_YUY2:
- return PIX_FMT_YUYV422; /* <- same as MS_YUYV */
+ return AV_PIX_FMT_YUYV422; /* <- same as MS_YUYV */
case MS_RGB565:
- return PIX_FMT_RGB565;
+ return AV_PIX_FMT_RGB565;
default:
ms_fatal("format not supported.");
return -1;
@@ -428,19 +428,19 @@ int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt){
switch(fmt){
- case PIX_FMT_RGB24:
+ case AV_PIX_FMT_RGB24:
return MS_RGB24;
- case PIX_FMT_BGR24:
+ case AV_PIX_FMT_BGR24:
return MS_RGB24_REV;
- case PIX_FMT_YUV420P:
+ case AV_PIX_FMT_YUV420P:
return MS_YUV420P;
- case PIX_FMT_YUYV422:
+ case AV_PIX_FMT_YUYV422:
return MS_YUYV; /* same as MS_YUY2 */
- case PIX_FMT_UYVY422:
+ case AV_PIX_FMT_UYVY422:
return MS_UYVY;
- case PIX_FMT_RGBA:
+ case AV_PIX_FMT_RGBA:
return MS_RGBA32;
- case PIX_FMT_RGB565:
+ case AV_PIX_FMT_RGB565:
return MS_RGB565;
default:
ms_fatal("format not supported.");
--
2.5.3
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Linphone-developers] Update to recent FFmpeg,
Peter Kovář <=