mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-09-21 13:41:20 +02:00
123 lines
5.1 KiB
Diff
123 lines
5.1 KiB
Diff
From cf6b0b3714a5830bc2201ad404bac97738c0c578 Mon Sep 17 00:00:00 2001
|
|
From: ptrcnull <git@ptrcnull.me>
|
|
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 <unistd.h>
|
|
#include <libavformat/avformat.h>
|
|
#include <libavcodec/avcodec.h>
|
|
-#include <libavfilter/avfiltergraph.h>
|
|
#include <libavfilter/buffersink.h>
|
|
#include <libavfilter/buffersrc.h>
|
|
#include <libavutil/opt.h>
|
|
@@ -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
|
|
|