Re: [FFmpeg-devel] [ANNOUNCE] upcoming vote: extra members for GA v2

2023-11-18 Thread Anton Khirnov
Reminder that the vote starts tomorrow.

Quoting Anton Khirnov (2023-11-17 10:40:06)
> The list of candidates I have so far is:
> * Ronald Bultje
> * Alexander Strasser
> * Hendrik Leppkes
> * Reimar Döffinger
> * Baptiste Coudurier
> (hope I haven't missed anyone, please tell me if I did)
> 
> If we get an agreement from any further people Michael has contacted
> before the vote starts, I will also add them the list.

So far Shiyou Yin has agreed to be added to the list.

Cheers,
-- 
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH] lavfilter/af_loudnorm: fix loudnorm limiter invalid at final frame

2023-11-18 Thread shu coon
Signed-off-by: 萧辰琨 
---
libavfilter/af_loudnorm.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_loudnorm.c b/libavfilter/af_loudnorm.c
index d83398ae2a..b8c10285ca 100644
--- a/libavfilter/af_loudnorm.c
+++ b/libavfilter/af_loudnorm.c
@@ -570,10 +570,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)

case FINAL_FRAME:
gain = gaussian_filter(s, s->index + 10 < 30 ? s->index + 10 : s->index 
+ 10 - 30);
-s->limiter_buf_index = 0;
src_index = 0;

-for (n = 0; n < s->limiter_buf_size / inlink->ch_layout.nb_channels; 
n++) {
+subframe_length = frame_size(inlink->sample_rate, 100);
+for (n = 0; n < subframe_length; n++) {
for (c = 0; c < inlink->ch_layout.nb_channels; c++) {
s->limiter_buf[s->limiter_buf_index + c] = src[src_index + c] * 
gain * s->offset;
}
@@ -658,6 +658,7 @@ static int flush_frame(AVFilterLink *outlink)
offset  = ((s->limiter_buf_size / inlink->ch_layout.nb_channels) - 
s->prev_nb_samples) * inlink->ch_layout.nb_channels;
offset -= (frame_size(inlink->sample_rate, 100) - s->prev_nb_samples) * 
inlink->ch_layout.nb_channels;
s->buf_index = s->buf_index - offset < 0 ? s->buf_index - offset + 
s->buf_size : s->buf_index - offset;
+s->limiter_buf_index = s->limiter_buf_index - offset < 0 ? 
s->limiter_buf_index - offset + s->limiter_buf_size : s->limiter_buf_index - 
offset;

for (n = 0; n < nb_samples; n++) {
for (c = 0; c < inlink->ch_layout.nb_channels; c++) {
-- 
2.39.2 (Apple Git-143)



The issue will cause a large amount of clipping in the last 3 seconds 
of audio data.  Causing this issue is due to s->limiter_buf_index and 
s->env_index being misaligned;

Following steps can be used to reproduce the issue:

   1.Download the file from 
https://streams.videolan.org/ffmpeg/incoming/keyboard.mp4.
   2.Run the following command.
ffmpeg -i 'keyboard.mp4'  -af 
loudnorm=I=-12:TP=-1.0:LRA=7:measured_I=-44.37:measured_LRA=20.10:measured_thresh=-55.61:offset=4.18:linear=true:dual_mono=true:print_format=summary
 -ar 48000 'output.mp4'

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] avformat: add MMTP parser and MMT/TLV demuxer

2023-11-18 Thread SuperFashi
Hi, is there anything I could do to push this forward?

On Sun, Nov 12, 2023 at 19:02 SuperFashi  wrote:

> This patch adds an MPEG Media Transport Protocol (MMTP) parser, as defined
> in ISO/IEC 23008-1, and an MMT protocol over TLV packets (MMT/TLV) demuxer,
> as defined in ARIB STD-B32. Currently, it supports HEVC, AAC LATM, and
> ARIB-TTML demuxing.
>
> Since MMTP is designed to transmit over IP, there is no size information
> within each MMTP packet, and there is no on-disk format defined alongside
> the protocol. One industrial solution is a simple container format using
> type–length–value packets, which is defined in ARIB STD-B32.
>
> Another known container format for MMTP is using packet capture (pcap)
> files which records network packets. This patch does not include the
> demuxer for this container format.
>
> Signed-off-by: SuperFashi 
> ---
>  Changelog|1 +
>  doc/demuxers.texi|4 +
>  libavformat/Makefile |1 +
>  libavformat/allformats.c |1 +
>  libavformat/mmtp.c   | 1688 ++
>  libavformat/mmtp.h   |   64 ++
>  libavformat/mmttlv.c |  335 
>  libavformat/version.h|2 +-
>  8 files changed, 2095 insertions(+), 1 deletion(-)
>  create mode 100644 libavformat/mmtp.c
>  create mode 100644 libavformat/mmtp.h
>  create mode 100644 libavformat/mmttlv.c
>
> diff --git a/Changelog b/Changelog
> index ca38546262..05118fe1e4 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -3,6 +3,7 @@ releases are sorted from youngest to oldest.
>
>  version :
>  - LEAD MCMP decoder
> +- MMTP parser and MMT/TLV demuxer
>
>  version 6.1:
>  - libaribcaption decoder
> diff --git a/doc/demuxers.texi b/doc/demuxers.texi
> index ca1563abb0..69634c09da 100644
> --- a/doc/demuxers.texi
> +++ b/doc/demuxers.texi
> @@ -689,6 +689,10 @@ Set the sample rate for libopenmpt to output.
>  Range is from 1000 to INT_MAX. The value default is 48000.
>  @end table
>
> +@section mmttlv
> +
> +Demuxer for MMT protocol over TLV packets (MMT/TLV), as defined in ARIB
> STD-B32.
> +
>  @section mov/mp4/3gp
>
>  Demuxer for Quicktime File Format & ISO/IEC Base Media File Format
> (ISO/IEC 14496-12 or MPEG-4 Part 12, ISO/IEC 15444-12 or JPEG 2000 Part 12).
> diff --git a/libavformat/Makefile b/libavformat/Makefile
> index 329055ccfd..a4320e4193 100644
> --- a/libavformat/Makefile
> +++ b/libavformat/Makefile
> @@ -359,6 +359,7 @@ OBJS-$(CONFIG_MLV_DEMUXER)   += mlvdec.o
> riffdec.o
>  OBJS-$(CONFIG_MM_DEMUXER)+= mm.o
>  OBJS-$(CONFIG_MMF_DEMUXER)   += mmf.o
>  OBJS-$(CONFIG_MMF_MUXER) += mmf.o rawenc.o
> +OBJS-$(CONFIG_MMTTLV_DEMUXER)+= mmtp.o mmttlv.o
>  OBJS-$(CONFIG_MODS_DEMUXER)  += mods.o
>  OBJS-$(CONFIG_MOFLEX_DEMUXER)+= moflex.o
>  OBJS-$(CONFIG_MOV_DEMUXER)   += mov.o mov_chan.o mov_esds.o \
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index d4b505a5a3..afe8bbb1ec 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -275,6 +275,7 @@ extern const AVInputFormat  ff_mlv_demuxer;
>  extern const AVInputFormat  ff_mm_demuxer;
>  extern const AVInputFormat  ff_mmf_demuxer;
>  extern const FFOutputFormat ff_mmf_muxer;
> +extern const AVInputFormat  ff_mmttlv_demuxer;
>  extern const AVInputFormat  ff_mods_demuxer;
>  extern const AVInputFormat  ff_moflex_demuxer;
>  extern const AVInputFormat  ff_mov_demuxer;
> diff --git a/libavformat/mmtp.c b/libavformat/mmtp.c
> new file mode 100644
> index 00..5dc45ef309
> --- /dev/null
> +++ b/libavformat/mmtp.c
> @@ -0,0 +1,1688 @@
> +/*
> + * MPEG Media Transport Protocol (MMTP) parser, as defined in ISO/IEC
> 23008-1.
> + * Copyright (c) 2023 SuperFashi
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> + */
> +
> +#include 
> +
> +#include "libavcodec/bytestream.h"
> +#include "libavutil/avassert.h"
> +#include "libavutil/intreadwrite.h"
> +#include "libavutil/mem.h"
> +#include "demux.h"
> +#include "internal.h"
> +#include "mmtp.h"
> +#include "network.h"
> +
> +struct MMTGeneralLocationInfo {
> +uint8_t location_type;
> +union {
> +struct {
> +uint16_t 

Re: [FFmpeg-devel] [PATCH 1/2] avcodec/qsv: add sps pps header whenframe->key_frame is true

2023-11-18 Thread Reito via ffmpeg-devel
Hi, I'm new to here, what else should I do to finish this patch? Also, does 
another patch (PATCH 2/2 avcodec/amf) also need your signature?


Thanks



发自我的iPhone


-- Original --
From: Michael Niedermayer https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] checkasm: add test for dcmul_add

2023-11-18 Thread flow gg
From 2785ce57f68dbb2373c951b9432afa73796f7cc1 Mon Sep 17 00:00:00 2001
From: sunyuechi 
Date: Sat, 18 Nov 2023 10:58:17 +0800
Subject: [PATCH] checkasm: test for dcmul_add

---
 tests/checkasm/af_afir.c | 141 +++
 1 file changed, 98 insertions(+), 43 deletions(-)

diff --git a/tests/checkasm/af_afir.c b/tests/checkasm/af_afir.c
index 08c55dacfc..6cb59dbb6c 100644
--- a/tests/checkasm/af_afir.c
+++ b/tests/checkasm/af_afir.c
@@ -33,64 +33,119 @@ do {  \
 int i;\
 double bmg[2], stddev = 10.0, mean = 0.0; \
   \
-for (i = 0; i < LEN*2+8; i += 2) {\
+for (i = 0; i < BUF_SIZE; i += 2) {\
 av_bmg_get(_lfg, bmg);   \
 buf[i] = bmg[0] * stddev + mean;  \
 buf[i + 1] = bmg[1] * stddev + mean;  \
 } \
 } while(0);

-static void test_fcmul_add(const float *src0, const float *src1, const
float *src2)
+static void test_fcmul_add(AudioFIRDSPContext *fir)
 {
-LOCAL_ALIGNED_32(float, cdst, [LEN*2+8]);
-LOCAL_ALIGNED_32(float, odst, [LEN*2+8]);
-int i;
-
-declare_func(void, float *sum, const float *t, const float *c,
- ptrdiff_t len);
-
-memcpy(cdst, src0, (LEN*2+8) * sizeof(float));
-memcpy(odst, src0, (LEN*2+8) * sizeof(float));
-call_ref(cdst, src1, src2, LEN);
-call_new(odst, src1, src2, LEN);
-for (i = 0; i <= LEN*2; i++) {
-int idx = i & ~1;
-float cre = src2[idx];
-float cim = src2[idx + 1];
-float tre = src1[idx];
-float tim = src1[idx + 1];
-double t = fabs(src0[i]) +
-   fabs(tre) + fabs(tim) + fabs(cre) + fabs(cim) +
-   fabs(tre * cre) + fabs(tim * cim) +
-   fabs(tre * cim) + fabs(tim * cre) +
-   fabs(tre * cre - tim * cim) +
-   fabs(tre * cim + tim * cre) +
-   fabs(cdst[i]) + 1.0;
-if (!float_near_abs_eps(cdst[i], odst[i], t * 2 * FLT_EPSILON)) {
-fprintf(stderr, "%d: %- .12f - %- .12f = % .12g\n",
-i, cdst[i], odst[i], cdst[i] - odst[i]);
-fail();
-break;
+#define BUF_SIZE LEN*2+8
+LOCAL_ALIGNED_32(float, src0, [BUF_SIZE]);
+LOCAL_ALIGNED_32(float, src1, [BUF_SIZE]);
+LOCAL_ALIGNED_32(float, src2, [BUF_SIZE]);
+
+randomize_buffer(src0);
+randomize_buffer(src1);
+randomize_buffer(src2);
+
+if (check_func(fir->fcmul_add, "fcmul_add")) {
+LOCAL_ALIGNED_32(float, cdst, [BUF_SIZE]);
+LOCAL_ALIGNED_32(float, odst, [BUF_SIZE]);
+int i;
+
+declare_func(void, float *sum, const float *t, const float *c,
+ ptrdiff_t len);
+
+memcpy(cdst, src0, (BUF_SIZE) * sizeof(float));
+memcpy(odst, src0, (BUF_SIZE) * sizeof(float));
+call_ref(cdst, src1, src2, LEN);
+call_new(odst, src1, src2, LEN);
+for (i = 0; i <= LEN*2; i++) {
+int idx = i & ~1;
+float cre = src2[idx];
+float cim = src2[idx + 1];
+float tre = src1[idx];
+float tim = src1[idx + 1];
+double t = fabs(src0[i]) +
+   fabs(tre) + fabs(tim) + fabs(cre) + fabs(cim) +
+   fabs(tre * cre) + fabs(tim * cim) +
+   fabs(tre * cim) + fabs(tim * cre) +
+   fabs(tre * cre - tim * cim) +
+   fabs(tre * cim + tim * cre) +
+   fabs(cdst[i]) + 1.0;
+if (!float_near_abs_eps(cdst[i], odst[i], t * 2 *
FLT_EPSILON)) {
+fprintf(stderr, "%d: %- .12f - %- .12f = % .12g\n",
+i, cdst[i], odst[i], cdst[i] - odst[i]);
+fail();
+break;
+}
 }
+memcpy(odst, src0, (BUF_SIZE) * sizeof(float));
+bench_new(odst, src1, src2, LEN);
 }
-memcpy(odst, src0, (LEN*2+8) * sizeof(float));
-bench_new(odst, src1, src2, LEN);
+
+report("fcmul_add");
 }

-void checkasm_check_afir(void)
+static void test_dcmul_add(AudioFIRDSPContext *fir)
 {
-LOCAL_ALIGNED_32(float, src0, [LEN*2+8]);
-LOCAL_ALIGNED_32(float, src1, [LEN*2+8]);
-LOCAL_ALIGNED_32(float, src2, [LEN*2+8]);
-AudioFIRDSPContext fir = { 0 };
-
-ff_afir_init();
+#define BUF_SIZE LEN*2+8
+LOCAL_ALIGNED_32(double, src0, [BUF_SIZE]);
+LOCAL_ALIGNED_32(double, src1, [BUF_SIZE]);
+LOCAL_ALIGNED_32(double, src2, [BUF_SIZE]);

 randomize_buffer(src0);
 randomize_buffer(src1);
 randomize_buffer(src2);

-if (check_func(fir.fcmul_add, "fcmul_add"))
-test_fcmul_add(src0, src1, src2);
-report("fcmul_add");
+if (check_func(fir->dcmul_add, "dcmul_add")) {
+LOCAL_ALIGNED_32(double, cdst, [BUF_SIZE]);
+LOCAL_ALIGNED_32(double, odst, 

[FFmpeg-devel] [PATCH 2/2] riscv: add hwprobe() for CPU detection

2023-11-18 Thread Rémi Denis-Courmont
This adds the Linux-specific system call to detect CPU features. Unlike
the auxillary vector, this supports extension other than single lettered
ones. (The API is kind of a mess though.)

At the moment, we need this to detect Zba and Zbb at run-time.
---
 configure |  5 +
 libavutil/riscv/cpu.c | 43 +++
 2 files changed, 48 insertions(+)

diff --git a/configure b/configure
index 6be849fc08..a6039c1476 100755
--- a/configure
+++ b/configure
@@ -2202,6 +2202,7 @@ HAVE_LIST_PUB="
 
 HEADERS_LIST="
 arpa_inet_h
+asm_hwprobe_h
 asm_types_h
 cdio_paranoia_h
 cdio_paranoia_paranoia_h
@@ -2227,6 +2228,7 @@ HEADERS_LIST="
 opencv2_core_core_c_h
 OpenGL_gl3_h
 poll_h
+sys_hwprobe_h
 sys_param_h
 sys_resource_h
 sys_select_h
@@ -5410,6 +5412,9 @@ elif enabled ppc; then
 
 elif enabled riscv; then
 
+check_headers asm/hwprobe.h
+check_headers sys/hwprobe.h
+
 if test_cpp_condition stddef.h "__riscv_zbb"; then
 enable fast_clz
 fi
diff --git a/libavutil/riscv/cpu.c b/libavutil/riscv/cpu.c
index 984293aef0..23e49767c2 100644
--- a/libavutil/riscv/cpu.c
+++ b/libavutil/riscv/cpu.c
@@ -18,8 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#define _GNU_SOURCE
 #include "libavutil/cpu.h"
 #include "libavutil/cpu_internal.h"
+#include "libavutil/macros.h"
 #include "libavutil/log.h"
 #include "config.h"
 
@@ -27,10 +29,51 @@
 #include 
 #define HWCAP_RV(letter) (1ul << ((letter) - 'A'))
 #endif
+#if defined (HAVE_SYS_HWPROBE_H)
+#include 
+#elif defined (HAVE_ASM_HWPROBE_H)
+#include 
+#include 
+#include 
+
+static int __riscv_hwprobe(struct riscv_hwprobe *pairs, size_t pair_count,
+   size_t cpu_count, unsigned long *cpus,
+   unsigned int flags)
+{
+return syscall(__NR_riscv_hwprobe, pairs, pair_count, cpu_count, cpus,
+   flags);
+}
+#endif
 
 int ff_get_cpu_flags_riscv(void)
 {
 int ret = 0;
+#if defined (HAVE_SYS_HWPROBE_H) || defined (HAVE_ASM_HWPROBE_H)
+struct riscv_hwprobe pairs[] = {
+{ RISCV_HWPROBE_KEY_BASE_BEHAVIOR, 0 },
+{ RISCV_HWPROBE_KEY_IMA_EXT_0, 0 },
+};
+
+if (__riscv_hwprobe(pairs, FF_ARRAY_ELEMS(pairs), 0, NULL, 0) == 0) {
+if (pairs[0].value & RISCV_HWPROBE_BASE_BEHAVIOR_IMA)
+ret |= AV_CPU_FLAG_RVI;
+if (pairs[1].value & RISCV_HWPROBE_IMA_FD)
+ret |= AV_CPU_FLAG_RVF | AV_CPU_FLAG_RVD;
+# ifdef RISCV_HWPROBE_IMA_V
+if (pairs[1].value & RISCV_HWPROBE_IMA_V)
+ret |= AV_CPU_FLAG_RVV_I32 | AV_CPU_FLAG_RVV_I64
+ | AV_CPU_FLAG_RVV_F32 | AV_CPU_FLAG_RVV_F64;
+# endif
+# ifdef RISCV_HWPROBE_EXT_ZBA
+if (pairs[1].value & RISCV_HWPROBE_EXT_ZBA)
+ret |= AV_CPU_FLAG_RVB_ADDR;
+# endif
+# ifdef RISCV_HWPROBE_EXT_ZBB
+if (pairs[1].value & RISCV_HWPROBE_EXT_ZBB)
+ret |= AV_CPU_FLAG_RVB_BASIC;
+# endif
+} else
+#endif
 #if HAVE_GETAUXVAL
 {
 const unsigned long hwcap = getauxval(AT_HWCAP);
-- 
2.42.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH 1/2] riscv: indent code

2023-11-18 Thread Rémi Denis-Courmont
This reindents code to prepare for the next changeset.
No functional changes.
---
 libavutil/riscv/cpu.c | 28 +++-
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/libavutil/riscv/cpu.c b/libavutil/riscv/cpu.c
index 460d3e9f91..984293aef0 100644
--- a/libavutil/riscv/cpu.c
+++ b/libavutil/riscv/cpu.c
@@ -32,21 +32,23 @@ int ff_get_cpu_flags_riscv(void)
 {
 int ret = 0;
 #if HAVE_GETAUXVAL
-const unsigned long hwcap = getauxval(AT_HWCAP);
+{
+const unsigned long hwcap = getauxval(AT_HWCAP);
 
-if (hwcap & HWCAP_RV('I'))
-ret |= AV_CPU_FLAG_RVI;
-if (hwcap & HWCAP_RV('F'))
-ret |= AV_CPU_FLAG_RVF;
-if (hwcap & HWCAP_RV('D'))
-ret |= AV_CPU_FLAG_RVD;
-if (hwcap & HWCAP_RV('B'))
-ret |= AV_CPU_FLAG_RVB_ADDR | AV_CPU_FLAG_RVB_BASIC;
+if (hwcap & HWCAP_RV('I'))
+ret |= AV_CPU_FLAG_RVI;
+if (hwcap & HWCAP_RV('F'))
+ret |= AV_CPU_FLAG_RVF;
+if (hwcap & HWCAP_RV('D'))
+ret |= AV_CPU_FLAG_RVD;
+if (hwcap & HWCAP_RV('B'))
+ret |= AV_CPU_FLAG_RVB_ADDR | AV_CPU_FLAG_RVB_BASIC;
 
-/* The V extension implies all Zve* functional subsets */
-if (hwcap & HWCAP_RV('V'))
-ret |= AV_CPU_FLAG_RVV_I32 | AV_CPU_FLAG_RVV_I64
- | AV_CPU_FLAG_RVV_F32 | AV_CPU_FLAG_RVV_F64;
+/* The V extension implies all Zve* functional subsets */
+if (hwcap & HWCAP_RV('V'))
+ ret |= AV_CPU_FLAG_RVV_I32 | AV_CPU_FLAG_RVV_I64
+  | AV_CPU_FLAG_RVV_F32 | AV_CPU_FLAG_RVV_F64;
+}
 #endif
 
 #ifdef __riscv_i
-- 
2.42.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavfi/Makefile: fix vf_cropdetect missed edge_common

2023-11-18 Thread Stefano Sabatini
On date Saturday 2023-11-18 10:26:07 +0800, Jun Zhao wrote:
> fix #10664
> 
> vf_cropdetect depends on edge_common, it's missing in Makefile
> 
> Signed-off-by: Jun Zhao 
> ---
>  libavfilter/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] treewide: Spelling fixes

2023-11-18 Thread Stefano Sabatini
On date Friday 2023-11-10 16:41:54 +0100, ffmpeg-devel Mailing List wrote:
> Fix spelling issue as reported by Debian's lintian tool:
> accomodate -> accommodate
> addtional -> additional
> auxillary -> auxiliary
> bellow -> below
> betweeen -> between
> Calulate -> Calculate
> coefficents -> coefficients
> Defalt -> Default
> defaul -> default
> higer -> higher
> neccesary -> necessary
> orignal -> original
> ouput -> output
> precison -> precision
> processsing -> processing
> substract -> subtract
> Transfered -> Transferred
> upto -> up to
> 
> Also add several of them to the 'common typos' check in patcheck.
> 
> Signed-off-by: Diederik de Haas 
> ---
>  doc/demuxers.texi  |  2 +-
>  doc/filters.texi   | 48 +-
>  libavcodec/cbs_bsf.h   |  2 +-
>  libavdevice/pulse_audio_enc.c  |  2 +-
>  libavfilter/af_aiir.c  |  2 +-
>  libavfilter/af_surround.c  |  2 +-
>  libavfilter/cuda/load_helper.h |  2 +-
>  libavfilter/opencl/deshake.cl  |  2 +-
>  libavfilter/vf_dedot.c |  4 +--
>  libavfilter/vf_transpose_npp.c |  2 +-
>  libavformat/dashenc.c  |  2 +-
>  libavformat/demux.h|  2 +-
>  libavformat/scd.c  |  2 +-
>  libavutil/eval.h   |  2 +-
>  libavutil/hwcontext_vulkan.c   |  4 +--
>  tools/enc_recon_frame_test.c   |  2 +-
>  tools/patcheck |  2 +-
>  17 files changed, 42 insertions(+), 42 deletions(-)

Thanks, applied.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] Vote Investigation of "GA voters list updates E_029f7195fed7aadf"

2023-11-18 Thread Michael Niedermayer
Hi all

This are the results of my investigation of issues in "Poll: GA voters list 
updates E_029f7195fed7aadf"
This has been reviewed by Alexander and Anton and comments from them have been 
incorporated.
It has also been shown to jb and Thilo at the same time as Alexander and Anton, 
but no comments have been received.
The "Recommended action section is mostly my recommendations but they too have 
been adjusted based on comments.
All names of people have been stripped after review but are available on 
request for research purposes.

Mistakes done:
1. the voter list in 2023 did not match the list used in 2020 nor 2021, the 
exact reason is not known
1a. the 3 "extra members" where missing from the new list. It seems this was 
unintended but later explained by partially applying the GA rules
1b. There was one developer who voted in 2023 but did not receive a mail in 
2020, it is unclear if he was on the 2020 list as i found 2 lists, one with him 
and one without
1c. There was one developer who was on the 2023 list but was not eligible in 
2020, his mail bounced and its unlikely he could vote.
1d. There was one developer who contacted the supervisor and asked why he did 
not receive a mail, the supervisor added him though he was not eligible in 2020
1e. There was one developer who was on the 2023 list but was not eligible in 
2020, his mail did not bounce and he likely could vote
2. Three people had multiple email addresses on the used list, the vote 
supervisor had no way of knowing for certain if one, two or none of these 
addresses would produce bounces
   Also it was assumed that tokens from bounced emails would be inaccessible. 2 
of the 3 people had one address bounce the 3rd seems not to have had bounces
3. In addition to the bounces mentioned above, 2 more addresses produced 
bounces, these people where likely unable to vote.
4. The option to update before, was not well defined and could not have been 
implemented had it won.
5. The mail account used reached a send limit (100), It is believed this did 
not affect anyone's ability to vote as the first 53 batch should not have 
triggered this. But rather the repeated batch triggered it
   The send limit was 100 because the first payment for the mail.de account was 
not received yet, it is 500 now

Conclusion:
It is unlikely the vote result is affected as it was not close. But these 
issues must be resolved for future votes as they could affect votes when the 
results are close.

Recommended action:
1. Two people should replace a single vote supervisor, they should work 
together and cross check each others action. Similar to a pilot and co-pilot in 
an aircraft
2. The server should log email addresses, this will make future investigations 
MUCH simple (done)
3. When the decision maker(s) have any doubt, action should be delayed, no 
action should be rushed, its always better to wait a few days longer
4. Every step should be announced and the Community should have the chance to 
verify and suggest amendments.
5. The implementability of all options should be thought through before 
starting a vote with an option.
6. Maximal transparency should be attempted. Any issues occurring during a vote 
should be published.
7. Before every new series of votes a test vote with the same set of voters 
should be done
7a.In this test vote, if any addresses bounced and working addresses are known 
then the bouncing addresses should be replaced by the working address. Per 
person only one address may be used in a (non test) vote.
8. The vote supervisor and admin should clearly state before a vote that they 
act in the best interest of FFmpeg, and have the time, will and ability to do 
so.
9. The vote supervisor and admin must disclose any conflict of interest that 
may apply to them.
10.Voters should always pair a random number with their ballot, write it down 
and verify it afterwards.
11.The formalities and time frames regarding announcements and votes should be 
written down.

thx

PS: If more anomalies are found then i may update this. (please contact me
in case you stumble accoss any serious anomalies not listed above)

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Dictatorship: All citizens are under surveillance, all their steps and
actions recorded, for the politicians to enforce control.
Democracy: All politicians are under surveillance, all their steps and
actions recorded, for the citizens to enforce control.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH] avformat/movenc: fix safari cannot play generated hls due to empty sdtp atom

2023-11-18 Thread Jay Zhang
This issue can be reproduced by command 'ffmpeg -i small_bunny_1080p_60fps.mp4 
-an  -c:v libx265 -tag:v hvc1 -f hls -hls_segment_type fmp4  out.m3u8'. After 
remove the empty sdtp atom, safari can play the out.m3u8 properly.

Signed-off-by: Jay Zhang 
---
 libavformat/movenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index e39f1ac987..34ac7e9dcc 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2827,7 +2827,7 @@ static int mov_write_stbl_tag(AVFormatContext *s, 
AVIOContext *pb, MOVMuxContext
  track->par->codec_tag == MKTAG('r','t','p',' ')) &&
 track->has_keyframes && track->has_keyframes < track->entry)
 mov_write_stss_tag(pb, track, MOV_SYNC_SAMPLE);
-if (track->par->codec_type == AVMEDIA_TYPE_VIDEO && track->has_disposable)
+if (track->par->codec_type == AVMEDIA_TYPE_VIDEO && track->has_disposable 
&& track->entry)
 mov_write_sdtp_tag(pb, track);
 if (track->mode == MODE_MOV && track->flags & MOV_TRACK_STPS)
 mov_write_stss_tag(pb, track, MOV_PARTIAL_SYNC_SAMPLE);
-- 
2.34.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 2/2] avformat/flvenc: add extract_extradata bsf for new video codecs

2023-11-18 Thread Steven Liu


> 在 2023年11月18日,16:03,Zhao Zhili  写道:
> 
> From: Zhao Zhili 
> 
> When encoders don't support global header like MediaCodec, FLV
> muxer needs to add extract_extradata bsf automatically. The codec
> list doesn't include VP9 since it's not supported by
> extract_extradata.
> 
> Signed-off-by: Zhao Zhili 
> ---
> libavformat/flvenc.c | 2 ++
> 1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
> index f6d10f331c..874560fac1 100644
> --- a/libavformat/flvenc.c
> +++ b/libavformat/flvenc.c
> @@ -1072,6 +1072,8 @@ static int flv_check_bitstream(AVFormatContext *s, 
> AVStream *st,
> }
> if (!st->codecpar->extradata_size &&
> (st->codecpar->codec_id == AV_CODEC_ID_H264 ||
> + st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
> + st->codecpar->codec_id == AV_CODEC_ID_AV1 ||
>  st->codecpar->codec_id == AV_CODEC_ID_MPEG4))
> return ff_stream_add_bitstream_filter(st, "extract_extradata", NULL);
> return 1;
> -- 
> 2.34.1
> 
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".



LGTM


Thanks
Steven
> 

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH 2/2] avformat/flvenc: add extract_extradata bsf for new video codecs

2023-11-18 Thread Zhao Zhili
From: Zhao Zhili 

When encoders don't support global header like MediaCodec, FLV
muxer needs to add extract_extradata bsf automatically. The codec
list doesn't include VP9 since it's not supported by
extract_extradata.

Signed-off-by: Zhao Zhili 
---
 libavformat/flvenc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index f6d10f331c..874560fac1 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -1072,6 +1072,8 @@ static int flv_check_bitstream(AVFormatContext *s, 
AVStream *st,
 }
 if (!st->codecpar->extradata_size &&
 (st->codecpar->codec_id == AV_CODEC_ID_H264 ||
+ st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
+ st->codecpar->codec_id == AV_CODEC_ID_AV1 ||
  st->codecpar->codec_id == AV_CODEC_ID_MPEG4))
 return ff_stream_add_bitstream_filter(st, "extract_extradata", NULL);
 return 1;
-- 
2.34.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH 1/2] avcodec/mediacodecdec: fix return EAGAIN after EOF

2023-11-18 Thread Zhao Zhili
From: Zhao Zhili 

Signed-off-by: Zhao Zhili 
---
 libavcodec/mediacodecdec_common.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/mediacodecdec_common.c 
b/libavcodec/mediacodecdec_common.c
index 1151bb71f9..d6f91e6e89 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -804,6 +804,8 @@ int ff_mediacodec_dec_receive(AVCodecContext *avctx, 
MediaCodecDecContext *s,
 return AVERROR_EXTERNAL;
 }
 
+if (s->draining && s->eos)
+return AVERROR_EOF;
 return AVERROR(EAGAIN);
 }
 
-- 
2.34.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".