Date: Fri, 4 Nov 2016 14:30:43 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r425326 - in head/databases/grass: . files Message-ID: <201611041430.uA4EUhWq069400@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Fri Nov 4 14:30:43 2016 New Revision: 425326 URL: https://svnweb.freebsd.org/changeset/ports/425326 Log: databases/grass: unbreak build with ffmpeg 3.x lib/ogsf/gsd_img_mpeg.c:41:24: error: 'PIX_FMT_YUV420P' undeclared (first use in this function) #define STREAM_PIX_FMT PIX_FMT_YUV420P /* default pix_fmt */ ^ lib/ogsf/gsd_img_mpeg.c:97:18: note: in expansion of macro 'STREAM_PIX_FMT' c->pix_fmt = STREAM_PIX_FMT; ^ lib/ogsf/gsd_img_mpeg.c:41:24: note: each undeclared identifier is reported only once for each function it appears in #define STREAM_PIX_FMT PIX_FMT_YUV420P /* default pix_fmt */ ^ lib/ogsf/gsd_img_mpeg.c:97:18: note: in expansion of macro 'STREAM_PIX_FMT' c->pix_fmt = STREAM_PIX_FMT; ^ lib/ogsf/gsd_img_mpeg.c:98:24: error: 'CODEC_ID_MPEG2VIDEO' undeclared (first use in this function) if (c->codec_id == CODEC_ID_MPEG2VIDEO) { ^ PR: 207547 Added: head/databases/grass/files/patch-lib_ogsf_gsd__img__mpeg.c (contents, props changed) Modified: head/databases/grass/Makefile (contents, props changed) Modified: head/databases/grass/Makefile ============================================================================== --- head/databases/grass/Makefile Fri Nov 4 14:29:14 2016 (r425325) +++ head/databases/grass/Makefile Fri Nov 4 14:30:43 2016 (r425326) @@ -3,6 +3,7 @@ PORTNAME= grass PORTVERSION= 6.4.6 +PORTREVISION= 1 PORTEPOCH= 2 CATEGORIES= databases geography MASTER_SITES= http://grass.osgeo.org/%SUBDIR%/ \ Added: head/databases/grass/files/patch-lib_ogsf_gsd__img__mpeg.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/grass/files/patch-lib_ogsf_gsd__img__mpeg.c Fri Nov 4 14:30:43 2016 (r425326) @@ -0,0 +1,102 @@ +--- lib/ogsf/gsd_img_mpeg.c.orig 2013-07-09 19:05:44 UTC ++++ lib/ogsf/gsd_img_mpeg.c +@@ -38,7 +38,7 @@ + #define STREAM_DURATION 5.0 + #define STREAM_FRAME_RATE 25 /* 25 images/s */ + #define STREAM_NB_FRAMES ((int)(STREAM_DURATION * STREAM_FRAME_RATE)) +-#define STREAM_PIX_FMT PIX_FMT_YUV420P /* default pix_fmt */ ++#define STREAM_PIX_FMT AV_PIX_FMT_YUV420P /* default pix_fmt */ + + AVFrame *picture, *tmp_picture; + uint8_t *video_outbuf; +@@ -95,11 +95,11 @@ static AVStream *add_video_stream(AVForm + c->time_base.num = 1; + c->gop_size = 12; /* emit one intra frame every twelve frames at most */ + c->pix_fmt = STREAM_PIX_FMT; +- if (c->codec_id == CODEC_ID_MPEG2VIDEO) { ++ if (c->codec_id == AV_CODEC_ID_MPEG2VIDEO) { + /* just for testing, we also add B frames */ + c->max_b_frames = 2; + } +- if (c->codec_id == CODEC_ID_MPEG1VIDEO) { ++ if (c->codec_id == AV_CODEC_ID_MPEG1VIDEO) { + /* Needed to avoid using macroblocks in which some coeffs overflow. + This does not happen with normal video, it just happens here as + the motion of the chroma plane does not match the luma plane. */ +@@ -138,7 +138,7 @@ static AVFrame *alloc_picture(int pix_fm + uint8_t *picture_buf; + int size; + +- picture = avcodec_alloc_frame(); ++ picture = av_frame_alloc(); + + if (!picture) + return NULL; +@@ -210,8 +210,8 @@ static void open_video(AVFormatContext * + picture is needed too. It is then converted to the required + output format */ + tmp_picture = NULL; +- if (c->pix_fmt != PIX_FMT_YUV420P) { +- tmp_picture = alloc_picture(PIX_FMT_YUV420P, c->width, c->height); ++ if (c->pix_fmt != AV_PIX_FMT_YUV420P) { ++ tmp_picture = alloc_picture(AV_PIX_FMT_YUV420P, c->width, c->height); + if (!tmp_picture) { + G_warning(_("Unable to allocate temporary picture")); + return; +@@ -227,7 +227,7 @@ static void open_video(AVFormatContext * + */ + static void write_video_frame(AVFormatContext * oc, AVStream * st) + { +- int out_size, ret; ++ int ret; + AVCodecContext *c; + + c = st->codec; +@@ -250,15 +250,17 @@ static void write_video_frame(AVFormatCo + ret = av_write_frame(oc, &pkt); + } + else { +- /* encode the image */ +- out_size = +- avcodec_encode_video(c, video_outbuf, video_outbuf_size, picture); +- /* if zero size, it means the image was buffered */ +- if (out_size > 0) { +- AVPacket pkt; ++ AVPacket pkt; ++ int got_packet = 0; + +- av_init_packet(&pkt); ++ av_init_packet(&pkt); ++ pkt.data = video_outbuf; ++ pkt.size = video_outbuf_size; + ++ /* encode the image */ ++ ret = avcodec_encode_video2(c, &pkt, picture, &got_packet); ++ /* if zero size, it means the image was buffered */ ++ if (ret == 0 && got_packet && pkt.size > 0) { + pkt.pts = + av_rescale_q(c->coded_frame->pts, c->time_base, + st->time_base); +@@ -269,8 +271,6 @@ static void write_video_frame(AVFormatCo + pkt.flags |= AV_PKT_FLAG_KEY; + #endif + pkt.stream_index = st->index; +- pkt.data = video_outbuf; +- pkt.size = out_size; + + /* write the compressed frame in the media file */ + ret = av_write_frame(oc, &pkt); +@@ -362,11 +362,11 @@ int gsd_init_mpeg(const char *filename) + /* if you want to hardcode the codec (eg #ifdef USE_XVID) + this may be the place to do it (?????) */ + #ifdef USE_XVID +- fmt->video_codec = CODEC_ID_XVID; ++ fmt->video_codec = AV_CODEC_ID_XVID; + #endif + + video_st = NULL; +- if (fmt->video_codec != CODEC_ID_NONE) { ++ if (fmt->video_codec != AV_CODEC_ID_NONE) { + video_st = + add_video_stream(oc, fmt->video_codec, (r - l + 1), (t - b + 1)); + }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611041430.uA4EUhWq069400>