[Bug 227748] multimedia/gstreamer1-libav: fails to build with ffmpeg 4.0

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Apr 24 15:04:36 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227748

            Bug ID: 227748
           Summary: multimedia/gstreamer1-libav: fails to build with
                    ffmpeg 4.0
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Keywords: needs-patch
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: multimedia at FreeBSD.org
          Reporter: jbeich at FreeBSD.org
            Blocks: 227726
             Flags: maintainer-feedback?(multimedia at FreeBSD.org)
          Assignee: multimedia at FreeBSD.org

After bug 227726 lands this port will end up BROKEN. Can you help?

$ fetch -qo- 'https://reviews.freebsd.org/D15175?download=true' | patch -Efsp0
-d /usr/ports
$ make all deinstall install clean -C/usr/ports/multimedia/ffmpeg
$ make -C/usr/ports/multimedia/gstreamer1-libav
[...]
gstavaudenc.c:286:26: error: no member named 'rc_strategy' in 'struct
AVCodecContext'
  ffmpegaudenc->context->rc_strategy = 2;
  ~~~~~~~~~~~~~~~~~~~~~  ^
gstavaudenc.c:333:44: error: use of undeclared identifier
'CODEC_CAP_EXPERIMENTAL'
    if ((oclass->in_plugin->capabilities & CODEC_CAP_EXPERIMENTAL) &&
                                           ^
gstavvidenc.c:77:6: error: use of undeclared identifier 'ME_ZERO'
    {ME_ZERO, "None (Very low quality)", "zero"},
     ^
gstavvidenc.c:78:6: error: use of undeclared identifier 'ME_FULL'
    {ME_FULL, "Full (Slow, unmaintained)", "full"},
     ^
gstavvidenc.c:79:6: error: use of undeclared identifier 'ME_LOG'
    {ME_LOG, "Logarithmic (Low quality, unmaintained)", "logarithmic"},
     ^
gstavvidenc.c:80:6: error: use of undeclared identifier 'ME_PHODS'
    {ME_PHODS, "phods (Low quality, unmaintained)", "phods"},
     ^
gstavauddec.c:286:20: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
                   ^
gstavaudenc.c:605:32: error: use of undeclared identifier
'CODEC_CAP_VARIABLE_FRAME_SIZE'
    if ((codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) || !buffer) {
                               ^
gstavvidenc.c:81:6: error: use of undeclared identifier 'ME_EPZS'
    {ME_EPZS, "EPZS (Best quality, Fast)", "epzs"},
     ^
gstavvidenc.c:82:6: error: use of undeclared identifier 'ME_X1'
    {ME_X1, "X1 (Experimental)", "x1"},
     ^
gstavvidenc.c:206:31: error: use of undeclared identifier 'ME_EPZS'
          GST_TYPE_ME_METHOD, ME_EPZS,
                              ^
gstavaudenc.c:629:41: error: use of undeclared identifier 'CODEC_CAP_DELAY'
  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
                                        ^
gstavauddec.c:668:41: error: use of undeclared identifier 'CODEC_CAP_DELAY'
  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
                                        ^
gstav.c:33:10: fatal error: 'libavfilter/avfiltergraph.h' file not found
#include <libavfilter/avfiltergraph.h>
         ^
gstavvidenc.c:219:15: error: use of undeclared identifier
'CODEC_CAP_FRAME_THREADS'
  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
              ^
gstavauddec.c:747:41: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
          || (map.maxsize - map.size) < FF_INPUT_BUFFER_PADDING_SIZE)) {
                                        ^
gstavvidenc.c:219:41: error: use of undeclared identifier
'CODEC_CAP_SLICE_THREADS'
  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
                                        ^
gstavvidenc.c:262:26: error: use of undeclared identifier 'ME_EPZS'
  ffmpegenc->me_method = ME_EPZS;
                         ^
gstavvidenc.c:324:23: error: no member named 'me_method' in 'struct
AVCodecContext'
  ffmpegenc->context->me_method = ffmpegenc->me_method;
  ~~~~~~~~~~~~~~~~~~  ^
gstavauddec.c:749:42: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
                                         ^
gstavvidenc.c:329:45: error: use of undeclared identifier
'CODEC_CAP_AUTO_THREADS'
    if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
                                            ^
gstavvidenc.c:346:23: error: no member named 'lmin' in 'struct AVCodecContext';
did you mean 'qmin'?
  ffmpegenc->context->lmin = (ffmpegenc->lmin * FF_QP2LAMBDA + 0.5);
                      ^~~~
                      qmin
/usr/local/include/libavcodec/avcodec.h:2355:9: note: 'qmin' declared here
    int qmin;
        ^
gstavvidenc.c:347:23: error: no member named 'lmax' in 'struct AVCodecContext';
did you mean 'qmax'?
  ffmpegenc->context->lmax = (ffmpegenc->lmax * FF_QP2LAMBDA + 0.5);
                      ^~~~
                      qmax
/usr/local/include/libavcodec/avcodec.h:2362:9: note: 'qmax' declared here
    int qmax;
        ^
gstavauddec.c:750:40: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
      ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;
                                       ^
gstavvidenc.c:351:9: error: use of undeclared identifier
'CODEC_FLAG_INTERLACED_DCT'
        CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME;
        ^
gstavauddec.c:758:43: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
                                          ^
gstavvidenc.c:351:37: error: use of undeclared identifier
'CODEC_FLAG_INTERLACED_ME'
        CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME;
                                    ^
gstavvidenc.c:355:23: error: no member named 'rc_strategy' in 'struct
AVCodecContext'
  ffmpegenc->context->rc_strategy = 2;
  ~~~~~~~~~~~~~~~~~~  ^
gstavviddec.c:240:15: error: use of undeclared identifier
'CODEC_CAP_FRAME_THREADS'
  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
              ^
gstavcodecmap.c:821:57: error: use of undeclared identifier 'CODEC_FLAG_4MV'
            "annex-f", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_4MV,
                                                        ^
gstavvidenc.c:365:10: error: use of undeclared identifier 'CODEC_FLAG_QSCALE'
    case CODEC_FLAG_QSCALE:
         ^
gstavauddec.c:767:24: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE];
                       ^
gstavviddec.c:240:41: error: use of undeclared identifier
'CODEC_CAP_SLICE_THREADS'
  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
                                        ^
gstavvidenc.c:369:10: error: use of undeclared identifier 'CODEC_FLAG_PASS1'
    case CODEC_FLAG_PASS1:     /* need to prepare a stats file */
         ^
gstavauddec.c:777:31: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
      memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
                              ^
gstavviddec.c:368:7: error: use of undeclared identifier
'CODEC_FLAG_OUTPUT_CORRUPT'
      CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt);
      ^
gstavcodecmap.c:3188:15: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
              FF_INPUT_BUFFER_PADDING_SIZE));
              ^
gstavcodecmap.c:3212:25: error: use of undeclared identifier 'CODEC_FLAG_4MV'
      context->flags |= CODEC_FLAG_4MV;
                        ^
gstavcodecmap.c:3224:31: error: use of undeclared identifier 'CODEC_FLAG_GMC'
            context->flags |= CODEC_FLAG_GMC | CODEC_FLAG_QPEL;
                              ^
gstavviddec.c:498:47: error: use of undeclared identifier
'CODEC_CAP_AUTO_THREADS'
      if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
                                              ^
gstavcodecmap.c:3224:48: error: use of undeclared identifier 'CODEC_FLAG_QPEL'
            context->flags |= CODEC_FLAG_GMC | CODEC_FLAG_QPEL;
                                               ^
gstavviddec.c:627:35: error: use of undeclared identifier 'CODEC_FLAG_EMU_EDGE'
  if (ffmpegdec->context->flags & CODEC_FLAG_EMU_EDGE)
                                  ^
gstavcodecmap.c:3330:27: error: use of undeclared identifier 'CODEC_FLAG_4MV'
        context->flags |= CODEC_FLAG_4MV;
                          ^
gstavviddec.c:735:46: error: use of undeclared identifier 'CODEC_CAP_DR1'
  return ((oclass->in_plugin->capabilities & CODEC_CAP_DR1) == CODEC_CAP_DR1);
                                             ^
gstavcodecmap.c:3332:28: error: use of undeclared identifier 'CODEC_FLAG_4MV'
        context->flags &= ~CODEC_FLAG_4MV;
                           ^
gstavviddec.c:735:64: error: use of undeclared identifier 'CODEC_CAP_DR1'
  return ((oclass->in_plugin->capabilities & CODEC_CAP_DR1) == CODEC_CAP_DR1);
                                                               ^
gstavcodecmap.c:3335:27: error: use of undeclared identifier
'CODEC_FLAG_AC_PRED'
        context->flags |= CODEC_FLAG_AC_PRED;
                          ^
gstavviddec.c:1772:41: error: use of undeclared identifier 'CODEC_CAP_DELAY'
  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
                                        ^
gstavcodecmap.c:3337:28: error: use of undeclared identifier
'CODEC_FLAG_AC_PRED'
        context->flags &= ~CODEC_FLAG_AC_PRED;
                           ^
gstavcfg.c:45:8: error: use of undeclared identifier 'CODEC_FLAG_QSCALE'
      {CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"},
       ^
gstavcfg.c:46:8: error: use of undeclared identifier 'CODEC_FLAG_PASS1'
      {CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"},
       ^
gstavcfg.c:47:8: error: use of undeclared identifier 'CODEC_FLAG_PASS2'
      {CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"},
       ^
gstavcodecmap.c:3339:27: error: use of undeclared identifier
'CODEC_FLAG_LOOP_FILTER'
        context->flags |= CODEC_FLAG_LOOP_FILTER;
                          ^
gstavviddec.c:1818:45: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
          || (minfo.maxsize - minfo.size) < FF_INPUT_BUFFER_PADDING_SIZE)) {
                                            ^
gstavcfg.c:263:8: error: use of undeclared identifier 'CODEC_FLAG_QSCALE'
      {CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"},
       ^
gstavcfg.c:264:8: error: use of undeclared identifier 'CODEC_FLAG_4MV'
      {CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"},
       ^
gstavcodecmap.c:3341:28: error: use of undeclared identifier
'CODEC_FLAG_LOOP_FILTER'
        context->flags &= ~CODEC_FLAG_LOOP_FILTER;
                           ^
gstavviddec.c:1820:42: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
                                         ^
gstavcfg.c:265:8: error: use of undeclared identifier 'CODEC_FLAG_QPEL'
      {CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"},
       ^
gstavcfg.c:266:8: error: use of undeclared identifier 'CODEC_FLAG_GMC'
      {CODEC_FLAG_GMC, "GMC", "gmc"},
       ^
gstavcfg.c:267:8: error: use of undeclared identifier 'CODEC_FLAG_MV0'
      {CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"},
       ^
gstavviddec.c:1821:40: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
      ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;
                                       ^
gstavcfg.c:268:8: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER'
      {CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"},
       ^
gstavviddec.c:1829:43: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
                                          ^
gstavcfg.c:269:8: error: use of undeclared identifier 'CODEC_FLAG_GRAY'
      {CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"},
       ^
gstavviddec.c:1838:24: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
    guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE];
                       ^
gstavcfg.c:270:8: error: use of undeclared identifier
'CODEC_FLAG_NORMALIZE_AQP'
      {CODEC_FLAG_NORMALIZE_AQP,
       ^
gstavviddec.c:1849:31: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
      memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
                              ^
gstavcfg.c:272:8: error: use of undeclared identifier
'CODEC_FLAG_GLOBAL_HEADER'
      {CODEC_FLAG_GLOBAL_HEADER,
       ^
gstavcfg.c:275:8: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED'
      {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction",
       ^
gstavviddec.c:2146:20: error: use of undeclared identifier
'FF_INPUT_BUFFER_PADDING_SIZE'
  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
                   ^
gstavcfg.c:277:8: error: use of undeclared identifier 'CODEC_FLAG_CLOSED_GOP'
      {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"},
       ^
gstavcfg.c:493:3: error: no member named 'rc_qsquish' in 'AVCodecContext'
  gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL);
  ^                                  ~~~~~~~~~~~
gstavcfg.c:493:39: error: no member named 'rc_qsquish' in 'struct
AVCodecContext'
  gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstavcfg.c:498:3: error: no member named 'rc_qmod_amp' in 'AVCodecContext'
  gst_ffmpeg_add_pspec (pspec, config.rc_qmod_amp, FALSE, mpeg, NULL);
  ^                                  ~~~~~~~~~~~~
gstavcfg.c:502:3: error: no member named 'rc_qmod_freq' in 'AVCodecContext'
  gst_ffmpeg_add_pspec (pspec, config.rc_qmod_freq, FALSE, mpeg, NULL);
  ^                                  ~~~~~~~~~~~~~

build log: https://ptpb.pw/xIds


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227726
[Bug 227726] multimedia/ffmpeg: update to 4.0
-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-multimedia mailing list