Date: Mon, 30 Apr 2018 20:41:45 +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: r468745 - head/net/opal/files Message-ID: <201804302041.w3UKfjnA020029@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Mon Apr 30 20:41:45 2018 New Revision: 468745 URL: https://svnweb.freebsd.org/changeset/ports/468745 Log: net/opal: unbreak with ffmpeg 4.0 h263-1998.cxx:237:22: error: use of undeclared identifier 'CODEC_FLAG_TRUNCATED' m_context->flags = CODEC_FLAG_TRUNCATED // Possible missing packets ^ h263-1998.cxx:346:27: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED' m_context->flags |= CODEC_FLAG_AC_PRED; ^ h263-1998.cxx:348:28: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED' m_context->flags &= ~CODEC_FLAG_AC_PRED; ^ h263-1998.cxx:356:27: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER' m_context->flags |= CODEC_FLAG_LOOP_FILTER; ^ h263-1998.cxx:358:28: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER' m_context->flags &= ~CODEC_FLAG_LOOP_FILTER; ^ h263-1998.cxx:422:14: error: no member named 'lmin' in 'AVCodecContext'; did you mean 'qmin'? m_context->lmin = m_context->qmin * FF_QP2LAMBDA; ^~~~ qmin /usr/local/include/libavcodec/avcodec.h:2355:9: note: 'qmin' declared here int qmin; ^ h263-1998.cxx:423:14: error: no member named 'lmax' in 'AVCodecContext'; did you mean 'qmax'? m_context->lmax = m_context->qmax * FF_QP2LAMBDA; ^~~~ qmax /usr/local/include/libavcodec/avcodec.h:2362:9: note: 'qmax' declared here int qmax; ^ h263-1998.cxx:598:24: error: use of undeclared identifier 'CODEC_FLAG_4MV' m_context->flags &= ~CODEC_FLAG_4MV; ^ PR: 227726 Reported by: antoine (via exp-run) Added: head/net/opal/files/patch-ffmpeg4 (contents, props changed) Added: head/net/opal/files/patch-ffmpeg4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/opal/files/patch-ffmpeg4 Mon Apr 30 20:41:45 2018 (r468745) @@ -0,0 +1,262 @@ +h263-1998.cxx:237:22: error: use of undeclared identifier 'CODEC_FLAG_TRUNCATED' + m_context->flags = CODEC_FLAG_TRUNCATED // Possible missing packets + ^ +h263-1998.cxx:346:27: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED' + m_context->flags |= CODEC_FLAG_AC_PRED; + ^ +h263-1998.cxx:348:28: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED' + m_context->flags &= ~CODEC_FLAG_AC_PRED; + ^ +h263-1998.cxx:356:27: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER' + m_context->flags |= CODEC_FLAG_LOOP_FILTER; + ^ +h263-1998.cxx:358:28: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER' + m_context->flags &= ~CODEC_FLAG_LOOP_FILTER; + ^ +h263-1998.cxx:422:14: error: no member named 'lmin' in 'AVCodecContext'; did you mean 'qmin'? + m_context->lmin = m_context->qmin * FF_QP2LAMBDA; + ^~~~ + qmin +/usr/local/include/libavcodec/avcodec.h:2355:9: note: 'qmin' declared here + int qmin; + ^ +h263-1998.cxx:423:14: error: no member named 'lmax' in 'AVCodecContext'; did you mean 'qmax'? + m_context->lmax = m_context->qmax * FF_QP2LAMBDA; + ^~~~ + qmax +/usr/local/include/libavcodec/avcodec.h:2362:9: note: 'qmax' declared here + int qmax; + ^ +h263-1998.cxx:598:24: error: use of undeclared identifier 'CODEC_FLAG_4MV' + m_context->flags &= ~CODEC_FLAG_4MV; + ^ + +rfc2429.cxx:289:55: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + memset (m_encodedFrame.ptr + m_encodedFrame.pos,0 , FF_INPUT_BUFFER_PADDING_SIZE); + ^ +rfc2429.cxx:343:79: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + if ((m_encodedFrame.pos + (headerP ? 2 : 0) + remBytes) > (m_maxFrameSize - FF_INPUT_BUFFER_PADDING_SIZE)) { + ^ +rfc2429.cxx:346:80: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + << " bytes while maximum frame size is " << m_maxFrameSize << "-" << FF_INPUT_BUFFER_PADDING_SIZ... + ^ +h264-x264.cxx:1079:27: error: use of undeclared identifier 'CODEC_FLAG2_DROP_FRAME_TIMECODE' + m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE | + ^ +h264-x264.cxx:1081:27: error: use of undeclared identifier 'CODEC_FLAG2_CHUNKS' + CODEC_FLAG2_CHUNKS; + ^ +mpeg4.cxx:551:18: error: no member named 'rc_eq' in 'AVCodecContext' + m_avcontext->rc_eq = (char*) "1"; + ~~~~~~~~~~~ ^ +mpeg4.cxx:556:18: error: no member named 'rc_initial_cplx' in 'AVCodecContext' + m_avcontext->rc_initial_cplx = 0.0f; + ~~~~~~~~~~~ ^ +mpeg4.cxx:563:18: error: no member named 'rc_buffer_aggressivity' in 'AVCodecContext' + m_avcontext->rc_buffer_aggressivity = 1.0f; + ~~~~~~~~~~~ ^ +mpeg4.cxx:597:25: error: use of undeclared identifier 'CODEC_FLAG_AC_PRED' + m_avcontext->flags|=CODEC_FLAG_AC_PRED; + ^ +mpeg4.cxx:600:25: error: use of undeclared identifier 'CODEC_FLAG_4MV' + m_avcontext->flags|=CODEC_FLAG_4MV; + ^ +mpeg4.cxx:601:25: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER' + m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER; + ^ +mpeg4.cxx:639:18: error: no member named 'lmin' in 'AVCodecContext'; did you mean 'qmin'? + m_avcontext->lmin = m_avcontext->qmin * FF_QP2LAMBDA; + ^~~~ + qmin +/usr/local/include/libavcodec/avcodec.h:2355:9: note: 'qmin' declared here + int qmin; + ^ +mpeg4.cxx:640:18: error: no member named 'lmax' in 'AVCodecContext'; did you mean 'qmax'? + m_avcontext->lmax = m_avcontext->qmax * FF_QP2LAMBDA; + ^~~~ + qmax +/usr/local/include/libavcodec/avcodec.h:2362:9: note: 'qmax' declared here + int qmax; + ^ +mpeg4.cxx:668:49: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + m_rawFrameBuffer = new BYTE[m_rawFrameLen + FF_INPUT_BUFFER_PADDING_SIZE]; + ^ +mpeg4.cxx:678:49: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + memset(m_rawFrameBuffer + m_rawFrameLen, 0, FF_INPUT_BUFFER_PADDING_SIZE); + ^ +mpeg4.cxx:1329:27: error: use of undeclared identifier 'CODEC_FLAG_4MV' + m_avcontext->flags |= CODEC_FLAG_4MV; + ^ + +--- plugins/video/H.263-1998/h263-1998.cxx.orig ++++ plugins/video/H.263-1998/h263-1998.cxx +@@ -234,7 +234,7 @@ bool H263_Base_EncoderContext::Init(AVCodecID codecId) + + m_context->opaque = this; + +- m_context->flags = CODEC_FLAG_TRUNCATED // Possible missing packets ++ m_context->flags = AV_CODEC_FLAG_TRUNCATED // Possible missing packets + ; + + m_context->pix_fmt = AV_PIX_FMT_YUV420P; +@@ -343,9 +343,9 @@ void H263_Base_EncoderContext::SetOption(const char * + // Level 3+ + // works with eyeBeam + if (atoi(value) == 1) +- m_context->flags |= CODEC_FLAG_AC_PRED; ++ m_context->flags |= AV_CODEC_FLAG_AC_PRED; + else +- m_context->flags &= ~CODEC_FLAG_AC_PRED; ++ m_context->flags &= ~AV_CODEC_FLAG_AC_PRED; + return; + } + +@@ -353,9 +353,9 @@ void H263_Base_EncoderContext::SetOption(const char * + // Annex J: Deblocking Filter + // works with eyeBeam + if (atoi(value) == 1) +- m_context->flags |= CODEC_FLAG_LOOP_FILTER; ++ m_context->flags |= AV_CODEC_FLAG_LOOP_FILTER; + else +- m_context->flags &= ~CODEC_FLAG_LOOP_FILTER; ++ m_context->flags &= ~AV_CODEC_FLAG_LOOP_FILTER; + return; + } + +@@ -419,8 +419,8 @@ bool H263_Base_EncoderContext::OpenCodec() + m_context->qcompress = 0.5; // qscale factor between easy & hard scenes (0.0-1.0) + + // Lagrange multipliers - this is how the context defaults do it: +- m_context->lmin = m_context->qmin * FF_QP2LAMBDA; +- m_context->lmax = m_context->qmax * FF_QP2LAMBDA; ++ av_opt_set_int(m_context, "lmin", m_context->qmin * FF_QP2LAMBDA, 0); ++ av_opt_set_int(m_context, "lmax", m_context->qmax * FF_QP2LAMBDA, 0); + + // YUV420P input + m_inputFrame->linesize[0] = m_context->width; +@@ -595,7 +595,7 @@ bool H263_RFC2190_EncoderContext::Init() + m_context->opaque = this; // used to separate out packets from different encode threads + + av_opt_set_int(m_context->priv_data, "umv", 0, 0); +- m_context->flags &= ~CODEC_FLAG_4MV; ++ m_context->flags &= ~AV_CODEC_FLAG_4MV; + #if LIBAVCODEC_RTP_MODE + m_context->flags &= ~CODEC_FLAG_H263P_AIC; + #endif +--- plugins/video/H.263-1998/rfc2429.cxx.orig ++++ plugins/video/H.263-1998/rfc2429.cxx +@@ -286,7 +286,7 @@ bool RFC2429Frame::GetPacket(RTPFrame & frame, unsigne + + unsigned char * RFC2429Frame::GetBuffer() + { +- memset (m_encodedFrame.ptr + m_encodedFrame.pos,0 , FF_INPUT_BUFFER_PADDING_SIZE); ++ memset (m_encodedFrame.ptr + m_encodedFrame.pos,0 , AV_INPUT_BUFFER_PADDING_SIZE); + return (m_encodedFrame.ptr); + } + +@@ -340,10 +340,10 @@ bool RFC2429Frame::AddPacket(const RTPFrame & packet) + + unsigned remBytes = packet.GetPayloadSize() - headerPLEN - (headerV ? 3 : 2); + +- if ((m_encodedFrame.pos + (headerP ? 2 : 0) + remBytes) > (m_maxFrameSize - FF_INPUT_BUFFER_PADDING_SIZE)) { ++ if ((m_encodedFrame.pos + (headerP ? 2 : 0) + remBytes) > (m_maxFrameSize - AV_INPUT_BUFFER_PADDING_SIZE)) { + PTRACE(2, "H.263-RFC2429", "Trying to add " << remBytes + << " bytes to frame at position " << m_encodedFrame.pos + (headerP ? 2 : 0) +- << " bytes while maximum frame size is " << m_maxFrameSize << "-" << FF_INPUT_BUFFER_PADDING_SIZE << " bytes"); ++ << " bytes while maximum frame size is " << m_maxFrameSize << "-" << AV_INPUT_BUFFER_PADDING_SIZE << " bytes"); + return false; + } + +--- plugins/video/H.264/h264-x264.cxx.orig ++++ plugins/video/H.264/h264-x264.cxx +@@ -1076,9 +1076,9 @@ class MyDecoder : public PluginCodec<MY_CODEC> + m_context->workaround_bugs = FF_BUG_AUTODETECT; + m_context->idct_algo = FF_IDCT_H264; + m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; +- m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE | ++ m_context->flags2 = AV_CODEC_FLAG2_DROP_FRAME_TIMECODE | + CODEC_FLAG2_SKIP_RD | +- CODEC_FLAG2_CHUNKS; ++ AV_CODEC_FLAG2_CHUNKS; + + if ((m_picture = FFMPEGLibraryInstance.AvcodecAllocFrame()) == NULL) + return false; +--- plugins/video/MPEG4-ffmpeg/mpeg4.cxx.orig ++++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx +@@ -548,19 +548,19 @@ void MPEG4EncoderContext::SetStaticEncodingParams(){ + // Reduce the difference in quantization between frames. + m_avcontext->qblur = 0.3f; + // default is tex^qComp; 1 is constant bitrate +- m_avcontext->rc_eq = (char*) "1"; +- //avcontext->rc_eq = "tex^qComp"; ++ av_opt_set(m_avcontext, "rc_eq", (char*) "1", 0); ++ //av_opt_set(m_avcontext, "rc_eq", "tex^qComp", 0); + // These ones technically could be dynamic, I think + m_avcontext->rc_min_rate = 0; + // This is set to 0 in ffmpeg.c, the command-line utility. +- m_avcontext->rc_initial_cplx = 0.0f; ++ av_opt_set_double(m_avcontext, "rc_initial_cplx", 0.0f, 0); + + // And this is set to 1. + // It seems to affect how aggressively the library will raise and lower + // quantization to keep bandwidth constant. Except it's in reference to + // the "vbv buffer", not bits per second, so nobody really knows how + // it works. +- m_avcontext->rc_buffer_aggressivity = 1.0f; ++ av_opt_set_double(m_avcontext, "rc_buffer_aggressivity", 1.0f, 0); + + // Ratecontrol buffer size, in bits. Usually 0.5-1 second worth. + // 224 kbyte is what VLC uses, and it seems to fix the quantization pulse (at Level 5) +@@ -594,11 +594,11 @@ void MPEG4EncoderContext::SetStaticEncodingParams(){ + m_avcontext->flags |= CODEC_FLAG_4MV; // 4 motion vectors + #else + m_avcontext->max_b_frames=0; /*don't use b frames*/ +- m_avcontext->flags|=CODEC_FLAG_AC_PRED; ++ m_avcontext->flags|=AV_CODEC_FLAG_AC_PRED; + av_opt_set_int(m_avcontext->priv_data, "umv", 1, 0); + /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */ +- m_avcontext->flags|=CODEC_FLAG_4MV; +- m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER; ++ m_avcontext->flags|=AV_CODEC_FLAG_4MV; ++ m_avcontext->flags|=AV_CODEC_FLAG_LOOP_FILTER; + av_opt_set_int(m_avcontext->priv_data, "structured_slices", 1, 0); + #endif + m_avcontext->opaque = this; // for use in RTP callback +@@ -636,8 +636,8 @@ void MPEG4EncoderContext::SetDynamicEncodingParams(boo + m_avcontext->qmax = std::min( m_avcontext->qmax, 31); + + // Lagrange multipliers - this is how the context defaults do it: +- m_avcontext->lmin = m_avcontext->qmin * FF_QP2LAMBDA; +- m_avcontext->lmax = m_avcontext->qmax * FF_QP2LAMBDA; ++ av_opt_set_int(m_avcontext, "lmin", m_avcontext->qmin * FF_QP2LAMBDA, 0); ++ av_opt_set_int(m_avcontext, "lmax", m_avcontext->qmax * FF_QP2LAMBDA, 0); + + // If framesize has changed or is not yet initialized, fix it up + if((unsigned)m_avcontext->width != m_frameWidth || (unsigned)m_avcontext->height != m_frameHeight) { +@@ -665,7 +665,7 @@ void MPEG4EncoderContext::ResizeEncodingFrame(bool res + { + delete[] m_rawFrameBuffer; + } +- m_rawFrameBuffer = new BYTE[m_rawFrameLen + FF_INPUT_BUFFER_PADDING_SIZE]; ++ m_rawFrameBuffer = new BYTE[m_rawFrameLen + AV_INPUT_BUFFER_PADDING_SIZE]; + + if (m_encFrameBuffer) + { +@@ -675,7 +675,7 @@ void MPEG4EncoderContext::ResizeEncodingFrame(bool res + m_encFrameBuffer = new BYTE[m_encFrameLen]; + + // Clear the back padding +- memset(m_rawFrameBuffer + m_rawFrameLen, 0, FF_INPUT_BUFFER_PADDING_SIZE); ++ memset(m_rawFrameBuffer + m_rawFrameLen, 0, AV_INPUT_BUFFER_PADDING_SIZE); + const unsigned fsz = m_frameWidth * m_frameHeight; + m_avpicture->data[0] = m_rawFrameBuffer; // luminance + m_avpicture->data[1] = m_rawFrameBuffer + fsz; // first chroma channel +@@ -1326,7 +1326,7 @@ void MPEG4DecoderContext::SetFrameHeight(int height) { + // + + void MPEG4DecoderContext::SetStaticDecodingParams() { +- m_avcontext->flags |= CODEC_FLAG_4MV; ++ m_avcontext->flags |= AV_CODEC_FLAG_4MV; + av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0); + m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations + }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804302041.w3UKfjnA020029>