From cf6b0b3714a5830bc2201ad404bac97738c0c578 Mon Sep 17 00:00:00 2001 From: ptrcnull Date: Tue, 8 Mar 2022 23:47:25 +0100 Subject: [PATCH] Fix building against FFmpeg 4 and newer https://github.com/FFmpeg/FFmpeg/commit/f5950b8fd61ec85e0ad8790bea56b37ceea19436 --- src/muxer/muxer_libav.c | 2 +- src/plumbing/transcoding.c | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/muxer/muxer_libav.c b/src/muxer/muxer_libav.c index e62fbcdff..b1b3a3d23 100644 --- a/src/muxer/muxer_libav.c +++ b/src/muxer/muxer_libav.c @@ -174,7 +174,7 @@ lav_muxer_add_stream(lav_muxer_t *lm, } if(lm->lm_oc->oformat->flags & AVFMT_GLOBALHEADER) - c->flags |= CODEC_FLAG_GLOBAL_HEADER; + c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; return 0; } diff --git a/src/plumbing/transcoding.c b/src/plumbing/transcoding.c index 4fc05feab..dbce45836 100644 --- a/src/plumbing/transcoding.c +++ b/src/plumbing/transcoding.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -574,7 +573,7 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) octx->channels = as->aud_channels ? as->aud_channels : ictx->channels; octx->channel_layout = transcode_get_channel_layout(&octx->channels, ocodec); octx->bit_rate = as->aud_bitrate ? as->aud_bitrate : 0; - octx->flags |= CODEC_FLAG_GLOBAL_HEADER; + octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; if (!octx->sample_rate) { tvherror(LS_TRANSCODE, "%04X: audio encoder has no suitable sample rate!", shortid(t)); @@ -619,7 +618,7 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) break; case SCT_AAC: - octx->flags |= CODEC_FLAG_BITEXACT; + octx->flags |= AV_CODEC_FLAG_BITEXACT; // use 64 kbit per channel as default if (octx->bit_rate == 0) { octx->bit_rate = octx->channels * 64000; @@ -630,10 +629,10 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) // use vbr with quality setting as default // and also use a user specified bitrate < 16 kbit as quality setting if (octx->bit_rate == 0) { - octx->flags |= CODEC_FLAG_QSCALE; + octx->flags |= AV_CODEC_FLAG_QSCALE; octx->global_quality = 4 * FF_QP2LAMBDA; } else if (t->t_props.tp_abitrate < 16) { - octx->flags |= CODEC_FLAG_QSCALE; + octx->flags |= AV_CODEC_FLAG_QSCALE; octx->global_quality = t->t_props.tp_abitrate * FF_QP2LAMBDA; octx->bit_rate = 0; } @@ -1289,12 +1288,12 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) else octx->pix_fmt = AV_PIX_FMT_YUV420P; - octx->flags |= CODEC_FLAG_GLOBAL_HEADER; + octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; if (t->t_props.tp_vbitrate < 64) { // encode with specified quality and optimize for low latency // valid values for quality are 2-31, smaller means better quality, use 5 as default - octx->flags |= CODEC_FLAG_QSCALE; + octx->flags |= AV_CODEC_FLAG_QSCALE; octx->global_quality = FF_QP2LAMBDA * (t->t_props.tp_vbitrate == 0 ? 5 : MINMAX(t->t_props.tp_vbitrate, 2, 31)); } else { @@ -1340,7 +1339,7 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) else octx->pix_fmt = AV_PIX_FMT_YUV420P; - octx->flags |= CODEC_FLAG_GLOBAL_HEADER; + octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; // Default = "medium". We gain more encoding speed compared to the loss of quality when lowering it _slightly_. // select preset according to system performance and codec type @@ -1371,7 +1370,7 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) case SCT_HEVC: octx->pix_fmt = AV_PIX_FMT_YUV420P; - octx->flags |= CODEC_FLAG_GLOBAL_HEADER; + octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; // on all hardware ultrafast (or maybe superfast) should be safe // select preset according to system performance @@ -2151,7 +2150,7 @@ transcoder_get_capabilities(int experimental) if (!WORKING_ENCODER(p->id)) continue; - if (((p->capabilities & CODEC_CAP_EXPERIMENTAL) && !experimental) || + if (((p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && !experimental) || (p->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) { continue; } @@ -2166,7 +2165,7 @@ transcoder_get_capabilities(int experimental) htsmsg_add_str(m, "name", p->name); snprintf(buf, sizeof(buf), "%s%s", p->long_name ?: "", - (p->capabilities & CODEC_CAP_EXPERIMENTAL) ? + (p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ? " (Experimental)" : ""); if (buf[0] != '\0') htsmsg_add_str(m, "long_name", buf); -- 2.35.1