Two more patches just renaming few ffmpeg patches from 4.4 to 5.1

Note, bluray mpegts muxer patch still not ported yet


вс, 24 июл. 2022 г., 02:13 Andrew Randrianasulu <[email protected]>:

> Some new plugins in 5.0/5.1 does not work for us ..
>
>
>
From a1b1414625ce3214d915372e7dfada5884d3198d Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <[email protected]>
Date: Sun, 24 Jul 2022 02:37:36 +0300
Subject: [PATCH 2/3] ffmpeg 5.1 first patch or termux

---
 .../thirdparty/src/ffmpeg-5.1.patch0          | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch0

diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch0 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch0
new file mode 100644
index 00000000..2fe3c680
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch0
@@ -0,0 +1,39 @@
+diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c
+index f460479498..61a88b8e95 100644
+--- a/libavcodec/aaccoder.c
++++ b/libavcodec/aaccoder.c
+@@ -60,6 +60,8 @@
+  * replace low energy non zero bands */
+ #define NOISE_LAMBDA_REPLACE 1.948f
+ 
++#undef B0
++
+ #include "libavcodec/aaccoder_trellis.h"
+ 
+ /**
+diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c
+index 516e4a6b7a..639d19ca62 100644
+--- a/libavcodec/hevc_mvs.c
++++ b/libavcodec/hevc_mvs.c
+@@ -25,6 +25,8 @@
+ #include "hevcdec.h"
+ #include "threadframe.h"
+ 
++#undef B0
++
+ static const uint8_t l0_l1_cand_idx[12][2] = {
+     { 0, 1, },
+     { 1, 0, },
+diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c
+index a4e44b7a14..93ed179347 100644
+--- a/libavcodec/opus_pvq.c
++++ b/libavcodec/opus_pvq.c
+@@ -31,6 +31,8 @@
+ #define CELT_PVQ_U(n, k) (ff_celt_pvq_u_row[FFMIN(n, k)][FFMAX(n, k)])
+ #define CELT_PVQ_V(n, k) (CELT_PVQ_U(n, k) + CELT_PVQ_U(n, (k) + 1))
+ 
++#undef B0
++
+ static inline int16_t celt_cos(int16_t x)
+ {
+     x = (MUL16(x, x) + 4096) >> 13;
-- 
2.37.1

From 3c72f622961eee2bdb825de89232e2db6444f53e Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <[email protected]>
Date: Sun, 24 Jul 2022 03:15:13 +0300
Subject: [PATCH 3/3] Some patches move easily between ffmpeg 4.4 and 5.1

---
 .../thirdparty/src/ffmpeg-5.1.patch1          | 11 ++++++
 .../thirdparty/src/ffmpeg-5.1.patch10         | 36 +++++++++++++++++++
 .../thirdparty/src/ffmpeg-5.1.patch2          | 13 +++++++
 .../thirdparty/src/ffmpeg-5.1.patch7          | 12 +++++++
 .../thirdparty/src/ffmpeg-5.1.patch8          | 13 +++++++
 .../thirdparty/src/ffmpeg-5.1.patch9          | 16 +++++++++
 .../thirdparty/src/ffmpeg-5.1.patchB          | 24 +++++++++++++
 7 files changed, 125 insertions(+)
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch1
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch2
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch7
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch8
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch9
 create mode 100644 cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patchB

diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch1 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch1
new file mode 100644
index 00000000..6f8ba6a7
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch1
@@ -0,0 +1,11 @@
+--- ./fftools/cmdutils.c.orig	2022-07-24 02:18:50.173283271 +0300
++++ ./fftools/cmdutils.c	2022-07-24 02:20:36.089283196 +0300
+@@ -59,7 +59,7 @@
+ AVDictionary *swr_opts;
+ AVDictionary *format_opts, *codec_opts;
+ 
+-int hide_banner = 0;
++int hide_banner = 1;
+ 
+ void uninit_opts(void)
+ {
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10
new file mode 100644
index 00000000..0cf24e74
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch10
@@ -0,0 +1,36 @@
+diff --git a/libavutil/hwcontext_cuda.c b/libavutil/hwcontext_cuda.c
+index 718a449b6e..84685fe1d9 100644
+--- a/libavutil/hwcontext_cuda.c
++++ b/libavutil/hwcontext_cuda.c
+@@ -269,9 +269,11 @@ static void cuda_device_uninit(AVHWDeviceContext *device_ctx)
+         CudaFunctions *cu = hwctx->internal->cuda_dl;
+ 
+         if (hwctx->internal->is_allocated && hwctx->cuda_ctx) {
++#ifdef CUDA_PRIMARY_CTX
+             if (hwctx->internal->flags & AV_CUDA_USE_PRIMARY_CONTEXT)
+                 CHECK_CU(cu->cuDevicePrimaryCtxRelease(hwctx->internal->cuda_device));
+             else
++#endif
+                 CHECK_CU(cu->cuCtxDestroy(hwctx->cuda_ctx));
+ 
+             hwctx->cuda_ctx = NULL;
+@@ -321,7 +323,7 @@ static int cuda_context_init(AVHWDeviceContext *device_ctx, int flags) {
+     cu = hwctx->internal->cuda_dl;
+ 
+     hwctx->internal->flags = flags;
+-
++#ifdef CUDA_PRIMARY_CTX
+     if (flags & AV_CUDA_USE_PRIMARY_CONTEXT) {
+         ret = CHECK_CU(cu->cuDevicePrimaryCtxGetState(hwctx->internal->cuda_device,
+                        &dev_flags, &dev_active));
+@@ -342,7 +344,9 @@ static int cuda_context_init(AVHWDeviceContext *device_ctx, int flags) {
+                                                     hwctx->internal->cuda_device));
+         if (ret < 0)
+             return ret;
+-    } else {
++    } else
++#endif
++    {
+         ret = CHECK_CU(cu->cuCtxCreate(&hwctx->cuda_ctx, desired_flags,
+                                        hwctx->internal->cuda_device));
+         if (ret < 0)
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch2 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch2
new file mode 100644
index 00000000..88631302
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch2
@@ -0,0 +1,13 @@
+diff --git a/libavformat/bluray.c b/libavformat/bluray.c
+index 635c4f1b87..80a2e2c3d2 100644
+--- a/libavformat/bluray.c
++++ b/libavformat/bluray.c
+@@ -28,7 +28,7 @@
+ #include "libavutil/opt.h"
+ 
+ #define BLURAY_PROTO_PREFIX     "bluray:"
+-#define MIN_PLAYLIST_LENGTH     180     /* 3 min */
++#define MIN_PLAYLIST_LENGTH     0
+ 
+ typedef struct {
+     const AVClass *class;
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch7 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch7
new file mode 100644
index 00000000..e59a17cc
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch7
@@ -0,0 +1,12 @@
+diff --git a/libavcodec/vdpau_mpeg12.c b/libavcodec/vdpau_mpeg12.c
+index 72220ffb4e..5687c416c9 100644
+--- a/libavcodec/vdpau_mpeg12.c
++++ b/libavcodec/vdpau_mpeg12.c
+@@ -114,6 +114,7 @@ const AVHWAccel ff_mpeg1_vdpau_hwaccel = {
+     .frame_priv_data_size = sizeof(struct vdpau_picture_context),
+     .init           = vdpau_mpeg1_init,
+     .uninit         = ff_vdpau_common_uninit,
++    .frame_params   = ff_vdpau_common_frame_params,
+     .priv_data_size = sizeof(VDPAUContext),
+     .caps_internal  = HWACCEL_CAP_ASYNC_SAFE,
+ };
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch8 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch8
new file mode 100644
index 00000000..05d3b1d0
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch8
@@ -0,0 +1,13 @@
+diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
+index 3b29a189e9..681a4187c5 100644
+--- a/libavcodec/h263dec.c
++++ b/libavcodec/h263dec.c
+@@ -684,7 +684,7 @@ frame_end:
+     if (CONFIG_MPEG4_DECODER && avctx->codec_id == AV_CODEC_ID_MPEG4)
+         ff_mpeg4_frame_end(avctx, buf, buf_size);
+ 
+-    if (!s->divx_packed && avctx->hwaccel)
++    if (s->divx_packed && avctx->hwaccel)
+         ff_thread_finish_setup(avctx);
+ 
+     av_assert1(s->current_picture.f->pict_type == s->current_picture_ptr->f->pict_type);
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch9 b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch9
new file mode 100644
index 00000000..51bc09e3
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patch9
@@ -0,0 +1,16 @@
+diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
+index 9bd0a555d4..111a9f3a46 100644
+--- a/libavformat/mpegenc.c
++++ b/libavformat/mpegenc.c
+@@ -976,9 +976,9 @@ static int remove_decoded_packets(AVFormatContext *ctx, int64_t scr)
+         PacketDesc *pkt_desc;
+ 
+         while ((pkt_desc = stream->predecode_packet) &&
++               pkt_desc != stream->premux_packet &&
+                scr > pkt_desc->dts) { // FIXME: > vs >=
+-            if (stream->buffer_index < pkt_desc->size ||
+-                stream->predecode_packet == stream->premux_packet) {
++            if (stream->buffer_index < pkt_desc->size) {
+                 av_log(ctx, AV_LOG_ERROR,
+                        "buffer underflow st=%d bufi=%d size=%d\n",
+                        i, stream->buffer_index, pkt_desc->size);
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patchB b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patchB
new file mode 100644
index 00000000..6d181e3c
--- /dev/null
+++ b/cinelerra-5.1/thirdparty/src/ffmpeg-5.1.patchB
@@ -0,0 +1,24 @@
+diff --git a/libavutil/hwcontext_vdpau.c b/libavutil/hwcontext_vdpau.c
+index dbef5495af..fba06d8ccf 100644
+--- a/libavutil/hwcontext_vdpau.c
++++ b/libavutil/hwcontext_vdpau.c
+@@ -68,6 +68,11 @@ static const VDPAUPixFmtMap pix_fmts_420[] = {
+     { 0,                     AV_PIX_FMT_NONE,   },
+ };
+ 
++static const VDPAUPixFmtMap pix_fmts_420j[] = {
++    { VDP_YCBCR_FORMAT_YV12, AV_PIX_FMT_YUVJ420P },
++    { 0,                     AV_PIX_FMT_NONE,   },
++};
++
+ static const VDPAUPixFmtMap pix_fmts_422[] = {
+     { VDP_YCBCR_FORMAT_NV12, AV_PIX_FMT_NV16    },
+     { VDP_YCBCR_FORMAT_YV12, AV_PIX_FMT_YUV422P },
+@@ -92,6 +97,7 @@ static const struct {
+     const VDPAUPixFmtMap *map;
+ } vdpau_pix_fmts[] = {
+     { VDP_CHROMA_TYPE_420, AV_PIX_FMT_YUV420P, pix_fmts_420 },
++    { VDP_CHROMA_TYPE_420, AV_PIX_FMT_YUVJ420P, pix_fmts_420j },
+     { VDP_CHROMA_TYPE_422, AV_PIX_FMT_YUV422P, pix_fmts_422 },
+     { VDP_CHROMA_TYPE_444, AV_PIX_FMT_YUV444P, pix_fmts_444 },
+ #ifdef VDP_YCBCR_FORMAT_P016
-- 
2.37.1

-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to