Re: [FFmpeg-devel] [ANNOUNCE] upcoming vote: extra members for GA v2
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
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
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
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
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
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
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
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
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"
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
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日,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
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
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".