Re: [FFmpeg-devel] [PATCH 1/2] Remove libpostproc

2025-05-13 Thread Andrew Randrianasulu
вт, 6 мая 2025 г., 02:27 Michael Niedermayer :

> This will be available in https://github.com/michaelni/libpostproc
> either as a separate library or a ffmpeg source plugin whatever turns
> out more convenient to maintain
>



Congratulations, you broke  building cinelerra-gg with ffmpeg.git despite
our best efforts :/

Why all this code movement?!

For whom it "simple"?

>
> Sponsored-by: Sovereign Tech Fund
> Signed-off-by: Michael Niedermayer 
> ---
>  LICENSE.md |2 -
>  MAINTAINERS|2 -
>  configure  |   13 +-
>  doc/filters.texi   |  175 --
>  fftools/ffprobe.c  |3 -
>  fftools/opt_common.c   |3 -
>  libavfilter/Makefile   |1 -
>  libavfilter/allfilters.c   |1 -
>  libavfilter/vf_pp.c|  191 --
>  libavutil/avutil.h |1 -
>  libpostproc/Makefile   |   23 -
>  libpostproc/libpostproc.v  |7 -
>  libpostproc/postprocess.c  |  992 --
>  libpostproc/postprocess.h  |  109 -
>  libpostproc/postprocess_altivec_template.c | 1214 
>  libpostproc/postprocess_internal.h |  185 --
>  libpostproc/postprocess_template.c | 3293 
>  libpostproc/postprocres.rc |   55 -
>  libpostproc/tests/.gitignore   |3 -
>  libpostproc/tests/blocktest.c  |  113 -
>  libpostproc/tests/stripetest.c |  115 -
>  libpostproc/tests/temptest.c   |  106 -
>  libpostproc/tests/test_utils.c |   38 -
>  libpostproc/tests/test_utils.h |   27 -
>  libpostproc/version.c  |   45 -
>  libpostproc/version.h  |   48 -
>  libpostproc/version_major.h|   33 -
>  tests/Makefile |1 -
>  tests/fate/filter-video.mak|   16 -
>  tests/fate/libpostproc.mak |   14 -
>  tests/ref/fate/blocktest   | 1800 ---
>  tests/ref/fate/filter-pp   |   10 -
>  tests/ref/fate/filter-pp1  |1 -
>  tests/ref/fate/filter-pp2  |1 -
>  tests/ref/fate/filter-pp3  |1 -
>  tests/ref/fate/filter-pp4  |1 -
>  tests/ref/fate/filter-pp5  |1 -
>  tests/ref/fate/filter-pp6  |1 -
>  tests/ref/fate/filter-qp   |1 -
>  tests/ref/fate/stripetest  |  360 ---
>  tests/ref/fate/temptest|  336 --
>  tools/gen-rc   |1 -
>  42 files changed, 1 insertion(+), 9342 deletions(-)
>  delete mode 100644 libavfilter/vf_pp.c
>  delete mode 100644 libpostproc/Makefile
>  delete mode 100644 libpostproc/libpostproc.v
>  delete mode 100644 libpostproc/postprocess.c
>  delete mode 100644 libpostproc/postprocess.h
>  delete mode 100644 libpostproc/postprocess_altivec_template.c
>  delete mode 100644 libpostproc/postprocess_internal.h
>  delete mode 100644 libpostproc/postprocess_template.c
>  delete mode 100644 libpostproc/postprocres.rc
>  delete mode 100644 libpostproc/tests/.gitignore
>  delete mode 100644 libpostproc/tests/blocktest.c
>  delete mode 100644 libpostproc/tests/stripetest.c
>  delete mode 100644 libpostproc/tests/temptest.c
>  delete mode 100644 libpostproc/tests/test_utils.c
>  delete mode 100644 libpostproc/tests/test_utils.h
>  delete mode 100644 libpostproc/version.c
>  delete mode 100644 libpostproc/version.h
>  delete mode 100644 libpostproc/version_major.h
>  delete mode 100644 tests/fate/libpostproc.mak
>  delete mode 100644 tests/ref/fate/blocktest
>  delete mode 100644 tests/ref/fate/filter-pp
>  delete mode 100644 tests/ref/fate/filter-pp1
>  delete mode 100644 tests/ref/fate/filter-pp2
>  delete mode 100644 tests/ref/fate/filter-pp3
>  delete mode 100644 tests/ref/fate/filter-pp4
>  delete mode 100644 tests/ref/fate/filter-pp5
>  delete mode 100644 tests/ref/fate/filter-pp6
>  delete mode 100644 tests/ref/fate/filter-qp
>  delete mode 100644 tests/ref/fate/stripetest
>  delete mode 100644 tests/ref/fate/temptest
>
> diff --git a/LICENSE.md b/LICENSE.md
> index 613070e1b63..371b0913ce7 100644
> --- a/LICENSE.md
> +++ b/LICENSE.md
> @@ -12,7 +12,6 @@ configure to activate them. In this case, FFmpeg's
> license changes to GPL v2+.
>
>  Specifically, the GPL parts of FFmpeg are:
>
> -- libpostproc
>  - optional x86 optimization in the files
>  - `libavcodec/x86/flac_dsp_gpl.asm`
>  - `libavcodec/x86/idct_mmx.c`
> @@ -45,7 +44,6 @@ Specifically, the GPL parts of FFmpeg are:
>  - `vf_owdenoise.c`
>  - `vf_perspective.c`
>  - `vf_phase.c`
> -- `vf_pp.c`
>  - `vf_pp7.c`
>  - `vf_pullup.c`
>  - `vf_repeatfields.c`
> diff 

Re: [FFmpeg-devel] [PATCH v12 00/15] Execution Graph Printing

2025-05-13 Thread softworkz .



> -Original Message-
> From: ffmpegagent 
> Sent: Donnerstag, 8. Mai 2025 03:37
> To: ffmpeg-devel@ffmpeg.org
> Cc: softworkz 
> Subject: [PATCH v12 00/15] Execution Graph Printing
> 
> Shortest cover letter for my longest-running FFmpeg patchset:
> 
>  * Apply
>  * Build
>  * Add the "-sg" switch to any FFmpeg command line
>  * Press 'q' when you don't want to wait
> 
> SG = Show Graph
> 
> Documentation and examples can be found here:
> 
> https://github.com/softworkz/ffmpeg_output_apis/wiki

Will apply tomorrow unless there is any more feedback.

Thanks
sw

___
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 v2 0/3] tests/fate: Improvements for running FATE on Windows/MSYS2

2025-05-13 Thread ffmpegagent
When setting up the new Patchword builders I noticed some issues when
running FATE tests on Windows. Initially I had them suppressed on the
builders, but this patchset should finally fix it.

Version V2

 * Clarified commit message in 3/3 regarding the requirement for a relative
   path to the fate samples (thanks, Zhao)

.

softworkz (3):
  tests/fate: Fix subtitle fate tests on Windows
  tests/source-check: Fix make inclusion-guard check EOL-agnostic
  tests/hevc: Fix concat input when running in MSYS2 shell

 .gitattributes | 38 +-
 tests/fate/hevc.mak|  2 +-
 tests/fate/source-check.sh |  2 +-
 3 files changed, 39 insertions(+), 3 deletions(-)


base-commit: 4014784b6229fe0829c2b154694fc13fcb963864
Published-As: 
https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-77%2Fsoftworkz%2Fsubmit_fate_subs_eol-v2
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg 
pr-ffstaging-77/softworkz/submit_fate_subs_eol-v2
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/77

Range-diff vs v1:

 1:  facfadfcb0 = 1:  facfadfcb0 tests/fate: Fix subtitle fate tests on Windows
 2:  73ab2c2be5 = 2:  73ab2c2be5 tests/source-check: Fix make inclusion-guard 
check EOL-agnostic
 3:  520f9af365 ! 3:  c9e21574c0 tests/hevc: Fix concat input when running in 
MSYS2 shell
 @@ Commit message
  Setting the MSYS2_ARG_CONV_EXCL environment variable
  keeps MSYS2 from doing this replacement.
  
 +NOTE: This makes it possible to run the test from an MSYS2 shell,
 +but it only works when using a relative path like
 +
 +--samples=../fate-suite (in configure)
 +
 +or
 +
 +SAMPLES=../fate-suite (in make fate)
 +
 +Reviewed-by: Zhao Zhili 
  Signed-off-by: softworkz 
  
   ## tests/fate/hevc.mak ##

-- 
ffmpeg-codebot
___
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 v2 1/3] tests/fate: Fix subtitle fate tests on Windows

2025-05-13 Thread softworkz
From: softworkz 

..when checked out with autocrlf=on, which is Git default
on Windows.

Signed-off-by: softworkz 
---
 .gitattributes | 38 +-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/.gitattributes b/.gitattributes
index b64bbed2eb..eaf7f7f9a1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,38 @@
 *.pnm -diff -text
-Changelogmerge=union
+Changelog merge=union
+tests/ref/fate/sub-aqtitle eol=lf
+tests/ref/fate/sub-ass-to-ass-transcode eol=lf
+tests/ref/fate/sub-cc eol=lf
+tests/ref/fate/sub-cc-realtime
+tests/ref/fate/sub-cc-realtime eol=lf
+tests/ref/fate/sub-cc-scte20 eol=lf
+tests/ref/fate/sub-charenc eol=lf
+tests/ref/fate/sub-dvb eol=lf
+tests/ref/fate/sub-jacosub eol=lf
+tests/ref/fate/sub-lrc-remux eol=lf
+tests/ref/fate/sub-microdvd eol=lf
+tests/ref/fate/sub-microdvd-remux eol=lf
+tests/ref/fate/sub-movtext eol=lf
+tests/ref/fate/sub-mpl2 eol=lf
+tests/ref/fate/sub-mpsub eol=lf
+tests/ref/fate/sub-mpsub-frames eol=lf
+tests/ref/fate/sub-pgs-remux eol=lf
+tests/ref/fate/sub-pjs eol=lf
+tests/ref/fate/sub-realtext eol=lf
+tests/ref/fate/sub-sami eol=lf
+tests/ref/fate/sub-sami2 eol=lf
+tests/ref/fate/sub-scc-remux eol=lf
+tests/ref/fate/sub-srt eol=lf
+tests/ref/fate/sub-srt-badsyntax eol=lf
+tests/ref/fate/sub-srt-empty-events eol=lf
+tests/ref/fate/sub-srt-madness-timeshift eol=lf
+tests/ref/fate/sub-srt-rrn-remux eol=lf
+tests/ref/fate/sub-ssa-to-ass-remux eol=lf
+tests/ref/fate/sub-stl eol=lf
+tests/ref/fate/sub-subviewer eol=lf
+tests/ref/fate/sub-subviewer1 eol=lf
+tests/ref/fate/sub-ttmlenc eol=lf
+tests/ref/fate/sub-vplayer eol=lf
+tests/ref/fate/sub-webvtt eol=lf
+tests/ref/fate/sub-webvtt2 eol=lf
+tests/ref/fate/sub-webvttenc eol=lf
-- 
ffmpeg-codebot

___
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 v2 3/3] tests/hevc: Fix concat input when running in MSYS2 shell

2025-05-13 Thread softworkz
From: softworkz 

MSYS2 considers the colon (:) as path separator (=separating multiple
paths) and thinks it needs to convert it to a Windows
path separator (;).

Setting the MSYS2_ARG_CONV_EXCL environment variable
keeps MSYS2 from doing this replacement.

NOTE: This makes it possible to run the test from an MSYS2 shell,
but it only works when using a relative path like

--samples=../fate-suite (in configure)

or

SAMPLES=../fate-suite (in make fate)

Reviewed-by: Zhao Zhili 
Signed-off-by: softworkz 
---
 tests/fate/hevc.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/fate/hevc.mak b/tests/fate/hevc.mak
index e432345ef7..dee34e940d 100644
--- a/tests/fate/hevc.mak
+++ b/tests/fate/hevc.mak
@@ -283,7 +283,7 @@ $(TARGET_SAMPLES)/hevc-conformance/LS_A_Orange_2.bit|$\
 $(TARGET_SAMPLES)/hevc/mv_nuh_layer_id.bit|$\
 $(TARGET_SAMPLES)/hevc-conformance/NoOutPrior_B_Qualcomm_1.bit|$\
 $(TARGET_SAMPLES)/hevc-conformance/MVHEVCS_A.bit
-fate-hevc-mv-switch: CMD = framecrc -i "concat:$(INPUT)" -fps_mode passthrough 
-map 0:vidx:0 -map 0:vidx:1 -sws_flags +accurate_rnd+bitexact
+fate-hevc-mv-switch: CMD = MSYS2_ARG_CONV_EXCL=concat: framecrc -i 
"concat:$(INPUT)" -fps_mode passthrough -map 0:vidx:0 -map 0:vidx:1 -sws_flags 
+accurate_rnd+bitexact
 FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, SCALE_FILTER CONCAT_PROTOCOL) += 
fate-hevc-mv-switch
 
 # multiview stream, select view by position
-- 
ffmpeg-codebot
___
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 v2 2/3] tests/source-check: Fix make inclusion-guard check EOL-agnostic

2025-05-13 Thread softworkz
From: softworkz 

..to make it work when checked out with autocrlf=on,
which is Git default on Windows.

Signed-off-by: softworkz 
---
 tests/fate/source-check.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/fate/source-check.sh b/tests/fate/source-check.sh
index 4d7e175784..99e869e869 100755
--- a/tests/fate/source-check.sh
+++ b/tests/fate/source-check.sh
@@ -28,7 +28,7 @@ for f in `git ls-files | grep '\.h$'` ; do
 -e 's/_vaf_/_/' \
 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`"
 
-git grep -L "^#define $macro$" $f
+git grep -L "^#define $macro\>" $f
 done
 
 echo "Use of av_clip() where av_clip_uintp2() could be used:"
-- 
ffmpeg-codebot

___
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 v1] fftools/ffplay: Resolve input file path before processing

2025-05-13 Thread Appaji
Fixes ticket: https://trac.ffmpeg.org/ticket/11574

Signed-off-by: Appaji 
---
 fftools/ffplay.c | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index 2a572fc3aa..42f0584b55 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -27,6 +27,7 @@
 #include "config_components.h"
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -3623,9 +3624,17 @@ static int opt_input_file(void *optctx, const char 
*filename)
 filename, input_filename);
 return AVERROR(EINVAL);
 }
-if (!strcmp(filename, "-"))
+
+char resolved_path[PATH_MAX];
+
+if (!realpath(filename, resolved_path)) {
+av_log(NULL, AV_LOG_FATAL, "Failed to resolve path for '%s': %s\n", 
filename, strerror(errno));
+return AVERROR(errno);
+}
+
+if (!strcmp(resolved_path, "-"))
 filename = "fd:";
-input_filename = av_strdup(filename);
+input_filename = av_strdup(resolved_path);
 if (!input_filename)
 return AVERROR(ENOMEM);
 
-- 
2.43.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] avformat/iamf_parse: increase PutBytes buffer when writing AAC extradata

2025-05-13 Thread James Almer
We may write up to 43 bits, so 5 bytes is not enough.

Fixes: Assertion n>=0 && n<=32 failed at ./libavcodec/get_bits.h:406
Fixes: 
398527871/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-6602025714647040

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: James Almer 
---
 libavformat/iamf_parse.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
index abedfdb066..11c27ebe98 100644
--- a/libavformat/iamf_parse.c
+++ b/libavformat/iamf_parse.c
@@ -285,7 +285,7 @@ static int update_extradata(AVCodecParameters *codecpar)
 AV_WL16A(codecpar->extradata + 16, AV_RB16A(codecpar->extradata + 
16)); // Byte swap Output Gain
 break;
 case AV_CODEC_ID_AAC: {
-uint8_t buf[5];
+uint8_t buf[6];
 
 init_put_bits(&pb, buf, sizeof(buf));
 ret = init_get_bits8(&gb, codecpar->extradata, 
codecpar->extradata_size);
@@ -304,6 +304,10 @@ static int update_extradata(AVCodecParameters *codecpar)
 skip_bits(&gb, 4);
 put_bits(&pb, 4, codecpar->ch_layout.nb_channels); // set channel 
config
 ret = put_bits_left(&pb);
+while (ret >= 32) {
+   put_bits32(&pb, get_bits_long(&gb, 32));
+   ret -= 32;
+}
 put_bits(&pb, ret, get_bits_long(&gb, ret));
 flush_put_bits(&pb);
 
-- 
2.49.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] avutil/x86/intmath: remove inline assembly for av_clip{f, d}

2025-05-13 Thread James Almer
It's only supported by GCC, and everything inside the __asm__() block is
invisible to the compiler's scheduler.

Signed-off-by: James Almer 
---
 libavutil/x86/intmath.h | 55 -
 1 file changed, 10 insertions(+), 45 deletions(-)

diff --git a/libavutil/x86/intmath.h b/libavutil/x86/intmath.h
index 4893a1f1b4..e6d8de5f67 100644
--- a/libavutil/x86/intmath.h
+++ b/libavutil/x86/intmath.h
@@ -23,6 +23,7 @@
 
 #include 
 #include 
+#include "config.h"
 #if HAVE_FAST_CLZ
 #if defined(_MSC_VER)
 #include 
@@ -30,7 +31,9 @@
 #include 
 #endif
 #endif
-#include "config.h"
+#if HAVE_INTRINSICS_SSE2 && defined(__SSE2__)
+#include 
+#endif
 
 #if HAVE_FAST_CLZ
 #if (defined(__INTEL_COMPILER) && (__INTEL_COMPILER>=1216)) || 
defined(_MSC_VER)
@@ -114,7 +117,7 @@ static av_always_inline av_const unsigned 
av_zero_extend_bmi2(unsigned a, unsign
 
 #endif /* __BMI2__ */
 
-#if defined(__SSE2__) && !defined(__INTEL_COMPILER)
+#if HAVE_INTRINSICS_SSE2 && defined(__SSE2__)
 
 #define av_clipd av_clipd_sse2
 static av_always_inline av_const double av_clipd_sse2(double a, double amin, 
double amax)
@@ -122,59 +125,21 @@ static av_always_inline av_const double 
av_clipd_sse2(double a, double amin, dou
 #if defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
 if (amin > amax) abort();
 #endif
-__asm__ ("maxsd %1, %0 \n\t"
- "minsd %2, %0 \n\t"
- : "+&x"(a) : "xm"(amin), "xm"(amax));
-return a;
+__m128d _a = _mm_min_sd(_mm_max_sd(_mm_set_sd(a), _mm_set_sd(amin)), 
_mm_set_sd(amax));
+return _mm_cvtsd_f64(_a);
 }
 
-#endif /* __SSE2__ */
-
-#if defined(__SSE__) && !defined(__INTEL_COMPILER)
-
 #define av_clipf av_clipf_sse
 static av_always_inline av_const float av_clipf_sse(float a, float amin, float 
amax)
 {
 #if defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
 if (amin > amax) abort();
 #endif
-__asm__ ("maxss %1, %0 \n\t"
- "minss %2, %0 \n\t"
- : "+&x"(a) : "xm"(amin), "xm"(amax));
-return a;
-}
-
-#endif /* __SSE__ */
-
-#if defined(__AVX__) && !defined(__INTEL_COMPILER)
-
-#undef av_clipd
-#define av_clipd av_clipd_avx
-static av_always_inline av_const double av_clipd_avx(double a, double amin, 
double amax)
-{
-#if defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
-if (amin > amax) abort();
-#endif
-__asm__ ("vmaxsd %1, %0, %0 \n\t"
- "vminsd %2, %0, %0 \n\t"
- : "+&x"(a) : "xm"(amin), "xm"(amax));
-return a;
-}
-
-#undef av_clipf
-#define av_clipf av_clipf_avx
-static av_always_inline av_const float av_clipf_avx(float a, float amin, float 
amax)
-{
-#if defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2
-if (amin > amax) abort();
-#endif
-__asm__ ("vmaxss %1, %0, %0 \n\t"
- "vminss %2, %0, %0 \n\t"
- : "+&x"(a) : "xm"(amin), "xm"(amax));
-return a;
+__m128 _a = _mm_min_ss(_mm_max_ss(_mm_set_ss(a), _mm_set_ss(amin)), 
_mm_set_ss(amax));
+return _mm_cvtss_f32(_a);
 }
 
-#endif /* __AVX__ */
+#endif /* HAVE_INTRINSICS_SSE2 && defined(__SSE2__) */
 
 #endif /* __GNUC__ */
 
-- 
2.49.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] fix(configure): fix detection on windows arm64

2025-05-13 Thread Michael Niedermayer
On Mon, May 12, 2025 at 02:02:41PM +0800, Coia Prant wrote:
> On Windows Arm64
> `uname -m` returned `x86_64` instead of `aarch64`
> Link: https://github.com/msys2/msys2-runtime/issues/171
> 
> But `uname -s` contains `ARM64` suffix
> So check suffix on windows arm64 (for clangarm64)
> 
> This problem also in VideoLAN/x264
> Link: https://code.videolan.org/videolan/x264/-/merge_requests/177
> 
> Signed-off-by: Coia Prant 
> ---
>  configure | 2 ++
>  1 file changed, 2 insertions(+)

./configure
./configure: 4160: [[: not found
./configure: 4160: [[: not found


[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

What does censorship reveal? It reveals fear. -- Julian Assange


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 v2 1/4] doc/developer: Move checklist into Submitting Patches chapter

2025-05-13 Thread softworkz
From: softworkz 

Signed-off-by: softworkz 
---
 doc/developer.texi | 192 +++--
 1 file changed, 98 insertions(+), 94 deletions(-)

diff --git a/doc/developer.texi b/doc/developer.texi
index 108558b9e0..42e42350a5 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -722,101 +722,8 @@ and has no lrint()')
 Also please if you send several patches, send each patch as a separate mail,
 do not attach several unrelated patches to the same mail.
 
-Patches should be posted to the
-@uref{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel, ffmpeg-devel}
-mailing list. Use @code{git send-email} when possible since it will properly
-send patches without requiring extra care. If you cannot, then send patches
-as base64-encoded attachments, so your patch is not trashed during
-transmission. Also ensure the correct mime type is used
-(text/x-diff or text/x-patch or at least text/plain) and that only one
-patch is inline or attached per mail.
-You can check @url{https://patchwork.ffmpeg.org}, if your patch does not show 
up, its mime type
-likely was wrong.
-
-@subheading How to setup git send-email?
-
-Please see @url{https://git-send-email.io/}.
-For gmail additionally see 
@url{https://shallowsky.com/blog/tech/email/gmail-app-passwds.html}.
-
-@subheading Sending patches from email clients
-Using @code{git send-email} might not be desirable for everyone. The
-following trick allows to send patches via email clients in a safe
-way. It has been tested with Outlook and Thunderbird (with X-Unsent
-extension) and might work with other applications.
-
-Create your patch like this:
-
-@verbatim
-git format-patch -s -o "outputfolder" --add-header "X-Unsent: 1" --suffix .eml 
--to ffmpeg-devel@ffmpeg.org -1 1a2b3c4d
-@end verbatim
-
-Now you'll just need to open the eml file with the email application
-and execute 'Send'.
-
-@subheading Reviews
-Your patch will be reviewed on the mailing list. You will likely be asked
-to make some changes and are expected to send in an improved version that
-incorporates the requests from the review. This process may go through
-several iterations. Once your patch is deemed good enough, some developer
-will pick it up and commit it to the official FFmpeg tree.
-
-Give us a few days to react. But if some time passes without reaction,
-send a reminder by email. Your patch should eventually be dealt with.
-
 
-@chapter New codecs or formats checklist
-
-@enumerate
-@item
-Did you use av_cold for codec initialization and close functions?
-
-@item
-Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
-AVInputFormat/AVOutputFormat struct?
-
-@item
-Did you bump the minor version number (and reset the micro version
-number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
-
-@item
-Did you register it in @file{allcodecs.c} or @file{allformats.c}?
-
-@item
-Did you add the AVCodecID to @file{codec_id.h}?
-When adding new codec IDs, also add an entry to the codec descriptor
-list in @file{libavcodec/codec_desc.c}.
-
-@item
-If it has a FourCC, did you add it to @file{libavformat/riff.c},
-even if it is only a decoder?
-
-@item
-Did you add a rule to compile the appropriate files in the Makefile?
-Remember to do this even if you're just adding a format to a file that is
-already being compiled by some other rule, like a raw demuxer.
-
-@item
-Did you add an entry to the table of supported formats or codecs in
-@file{doc/general_contents.texi}?
-
-@item
-Did you add an entry in the Changelog?
-
-@item
-If it depends on a parser or a library, did you add that dependency in
-configure?
-
-@item
-Did you @code{git add} the appropriate files before committing?
-
-@item
-Did you make sure it compiles standalone, i.e. with
-@code{configure --disable-everything --enable-decoder=foo}
-(or @code{--enable-demuxer} or whatever your component is)?
-@end enumerate
-
-
-@chapter Patch submission checklist
+@section Patch submission checklist
 
 @enumerate
 @item
@@ -927,6 +834,103 @@ Test your code with valgrind and or Address Sanitizer to 
ensure it's free
 of leaks, out of array accesses, etc.
 @end enumerate
 
+
+@section Submission procedures
+
+Patches should be posted to the
+@uref{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel, ffmpeg-devel}
+mailing list. Use @code{git send-email} when possible since it will properly
+send patches without requiring extra care. If you cannot, then send patches
+as base64-encoded attachments, so your patch is not trashed during
+transmission. Also ensure the correct mime type is used
+(text/x-diff or text/x-patch or at least text/plain) and that only one
+patch is inline or attached per mail.
+You can check @url{https://patchwork.ffmpeg.org}, if your patch does not show 
up, its mime type
+likely was wrong.
+
+@subheading How to setup git send-email?
+
+Please see @url{https://git-send-email.io/}.
+For gmail additionally see 
@url{https://shallowsky.com/blog/tech/email/gmail-app-passwds.h

[FFmpeg-devel] [PATCH v2 0/4] doc/developer: Restructure docs about patch submission

2025-05-13 Thread ffmpegagent
The https://ffmpeg.org/developer.html (doc/developer.texi) page contains a
lot of good information but there's some structural and contentual
duplication that is begging for cleanup:

3 Development Policy
[https://ffmpeg.org/developer.html#Development-Policy-1] 4 Submitting
patches [https://ffmpeg.org/developer.html#Submitting-patches-1] 5 New
codecs or formats checklist
[https://ffmpeg.org/developer.html#New-codecs-or-formats-checklist] 6 Patch
submission checklist
[https://ffmpeg.org/developer.html#Patch-submission-checklist] 7 Patch
review process [https://ffmpeg.org/developer.html#Patch-review-process]

 * a Patch submission checklist clearly belongs to the context of
   "Submitting Patches"
 * a checklist about the requirements for adding new codecs/formats is
   mostly a matter of policies
 * after moving 5 into 3 and 6 into 4, another duplication can be resolved
   elegantly as 4 ends with a section about patch reviews which is then
   adjacent to the current 7 (patch review process)
 * inside 4:
   * some duplication between 4's intro and the checklist can be removed
   * the second part becomes "Submission procedures" with two subsections
 (send-email and format-patch) and the content separated in a more
 logical way


Versions



V2
==

 * Removed the 5th commit due to controversial reception
   The other changes are still worthwhile for review

.

softworkz (4):
  doc/developer: Move checklist into Submitting Patches chapter
  doc/developer: Move codecs/formats checklist into Development Policy
chapter
  doc/developer: Reorder Submission procedures content
  doc/developer: Merge Review paragraphs and deduplicate

 doc/developer.texi | 218 +++--
 1 file changed, 111 insertions(+), 107 deletions(-)


base-commit: 1b643e3f65d75a4e6a25986466254bdd4fc1a01a
Published-As: 
https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-76%2Fsoftworkz%2Fsubmit_website_update-v2
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg 
pr-ffstaging-76/softworkz/submit_website_update-v2
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/76

Range-diff vs v1:

 1:  79230103ee = 1:  79230103ee doc/developer: Move checklist into Submitting 
Patches chapter
 2:  ae47e8bda0 = 2:  ae47e8bda0 doc/developer: Move codecs/formats checklist 
into Development Policy chapter
 3:  866fd3aa3b = 3:  866fd3aa3b doc/developer: Reorder Submission procedures 
content
 4:  2e4a47f000 = 4:  2e4a47f000 doc/developer: Merge Review paragraphs and 
deduplicate
 5:  c8dba13b92 < -:  -- doc/developer: Add subsection about patch 
submission via FFstaging

-- 
ffmpeg-codebot
___
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 v2 4/4] doc/developer: Merge Review paragraphs and deduplicate

2025-05-13 Thread softworkz
From: softworkz 

Signed-off-by: softworkz 
---
 doc/developer.texi | 16 ++--
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/doc/developer.texi b/doc/developer.texi
index 5a026fff0e..145b57b249 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -923,22 +923,15 @@ git format-patch -s -o "outputfolder" --add-header 
"X-Unsent: 1" --suffix .eml -
 Now you'll just need to open the eml file with the email application
 and execute 'Send'.
 
-@subheading Reviews
+
+@chapter Patch review process
+
 Your patch will be reviewed on the mailing list. You will likely be asked
 to make some changes and are expected to send in an improved version that
 incorporates the requests from the review. This process may go through
 several iterations. Once your patch is deemed good enough, some developer
 will pick it up and commit it to the official FFmpeg tree.
 
-Give us a few days to react. But if some time passes without reaction,
-send a reminder by email. Your patch should eventually be dealt with.
-
-
-
-@chapter Patch review process
-
-All patches posted to ffmpeg-devel will be reviewed, unless they contain a
-clear note that the patch is not for the git master branch.
 Reviews and comments will be posted as replies to the patch on the
 mailing list. The patch submitter then has to take care of every comment,
 that can be by resubmitting a changed patch or by discussion. Resubmitted
@@ -948,6 +941,9 @@ simple and small patches happen immediately while large 
patches will generally
 have to be changed and reviewed many times before they are approved.
 After a patch is approved it will be committed to the repository.
 
+Give us a few days to react. But if some time passes without reaction,
+send a reminder by email. Your patch should eventually be dealt with.
+
 We will review all submitted patches, but sometimes we are quite busy so
 especially for large patches this can take several weeks.
 
-- 
ffmpeg-codebot
___
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 v2 2/4] doc/developer: Move codecs/formats checklist into Development Policy chapter

2025-05-13 Thread softworkz
From: softworkz 

Signed-off-by: softworkz 
---
 doc/developer.texi | 104 +++--
 1 file changed, 53 insertions(+), 51 deletions(-)

diff --git a/doc/developer.texi b/doc/developer.texi
index 42e42350a5..a723d41f39 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -651,6 +651,59 @@ Removing previously deprecated APIs.
 Performing ABI- but not API-breaking changes, like reordering struct contents.
 @end itemize
 
+
+@section New codecs or formats checklist
+
+@enumerate
+@item
+Did you use av_cold for codec initialization and close functions?
+
+@item
+Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
+AVInputFormat/AVOutputFormat struct?
+
+@item
+Did you bump the minor version number (and reset the micro version
+number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
+
+@item
+Did you register it in @file{allcodecs.c} or @file{allformats.c}?
+
+@item
+Did you add the AVCodecID to @file{codec_id.h}?
+When adding new codec IDs, also add an entry to the codec descriptor
+list in @file{libavcodec/codec_desc.c}.
+
+@item
+If it has a FourCC, did you add it to @file{libavformat/riff.c},
+even if it is only a decoder?
+
+@item
+Did you add a rule to compile the appropriate files in the Makefile?
+Remember to do this even if you're just adding a format to a file that is
+already being compiled by some other rule, like a raw demuxer.
+
+@item
+Did you add an entry to the table of supported formats or codecs in
+@file{doc/general_contents.texi}?
+
+@item
+Did you add an entry in the Changelog?
+
+@item
+If it depends on a parser or a library, did you add that dependency in
+configure?
+
+@item
+Did you @code{git add} the appropriate files before committing?
+
+@item
+Did you make sure it compiles standalone, i.e. with
+@code{configure --disable-everything --enable-decoder=foo}
+(or @code{--enable-demuxer} or whatever your component is)?
+@end enumerate
+
+
 @section Documentation/Other
 @subheading Subscribe to the ffmpeg-devel mailing list.
 It is important to be subscribed to the
@@ -879,57 +932,6 @@ Give us a few days to react. But if some time passes 
without reaction,
 send a reminder by email. Your patch should eventually be dealt with.
 
 
-@chapter New codecs or formats checklist
-
-@enumerate
-@item
-Did you use av_cold for codec initialization and close functions?
-
-@item
-Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
-AVInputFormat/AVOutputFormat struct?
-
-@item
-Did you bump the minor version number (and reset the micro version
-number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
-
-@item
-Did you register it in @file{allcodecs.c} or @file{allformats.c}?
-
-@item
-Did you add the AVCodecID to @file{codec_id.h}?
-When adding new codec IDs, also add an entry to the codec descriptor
-list in @file{libavcodec/codec_desc.c}.
-
-@item
-If it has a FourCC, did you add it to @file{libavformat/riff.c},
-even if it is only a decoder?
-
-@item
-Did you add a rule to compile the appropriate files in the Makefile?
-Remember to do this even if you're just adding a format to a file that is
-already being compiled by some other rule, like a raw demuxer.
-
-@item
-Did you add an entry to the table of supported formats or codecs in
-@file{doc/general_contents.texi}?
-
-@item
-Did you add an entry in the Changelog?
-
-@item
-If it depends on a parser or a library, did you add that dependency in
-configure?
-
-@item
-Did you @code{git add} the appropriate files before committing?
-
-@item
-Did you make sure it compiles standalone, i.e. with
-@code{configure --disable-everything --enable-decoder=foo}
-(or @code{--enable-demuxer} or whatever your component is)?
-@end enumerate
-
 
 @chapter Patch review process
 
-- 
ffmpeg-codebot

___
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 v2 3/4] doc/developer: Reorder Submission procedures content

2025-05-13 Thread softworkz
From: softworkz 

Signed-off-by: softworkz 
---
 doc/developer.texi | 48 --
 1 file changed, 25 insertions(+), 23 deletions(-)

diff --git a/doc/developer.texi b/doc/developer.texi
index a723d41f39..5a026fff0e 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -752,10 +752,7 @@ We think our rules are not too hard. If you have comments, 
contact us.
 First, read the @ref{Coding Rules} above if you did not yet, in particular
 the rules regarding patch submission.
 
-When you submit your patch, please use @code{git format-patch} or
-@code{git send-email}. We cannot read other diffs :-).
-
-Also please do not submit a patch which contains several unrelated changes.
+Please do not submit a patch which contains several unrelated changes.
 Split it into separate, self-contained pieces. This does not mean splitting
 file by file. Instead, make the patch as small as possible while still
 keeping it as a logical unit that contains an individual change, even
@@ -768,13 +765,6 @@ The tool is located in the tools directory.
 Run the @ref{Regression tests} before submitting a patch in order to verify
 it does not cause unexpected problems.
 
-It also helps quite a bit if you tell us what the patch does (for example
-'replaces lrint by lrintf'), and why (for example '*BSD isn't C99 compliant
-and has no lrint()')
-
-Also please if you send several patches, send each patch as a separate mail,
-do not attach several unrelated patches to the same mail.
-
 
 @section Patch submission checklist
 
@@ -892,23 +882,35 @@ of leaks, out of array accesses, etc.
 
 Patches should be posted to the
 @uref{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel, ffmpeg-devel}
-mailing list. Use @code{git send-email} when possible since it will properly
-send patches without requiring extra care. If you cannot, then send patches
-as base64-encoded attachments, so your patch is not trashed during
-transmission. Also ensure the correct mime type is used
-(text/x-diff or text/x-patch or at least text/plain) and that only one
-patch is inline or attached per mail.
-You can check @url{https://patchwork.ffmpeg.org}, if your patch does not show 
up, its mime type
-likely was wrong.
+mailing list. 
+
+There are several ways how this can be accomplished:
 
-@subheading How to setup git send-email?
+@subsection Using @code{git send-email}: Git sends e-mail directly via SMTP
+
+@code{git send-email} will properly format and send
+send patches without requiring extra care if the required setup is feasible.
 
 Please see @url{https://git-send-email.io/}.
+
 For gmail additionally see 
@url{https://shallowsky.com/blog/tech/email/gmail-app-passwds.html}.
 
-@subheading Sending patches from email clients
-Using @code{git send-email} might not be desirable for everyone. The
-following trick allows to send patches via email clients in a safe
+
+@subsection With @code{git format-patch}: Sending patches from email clients
+
+You can create patch files via @code{git format-patch} and send them as inline
+text or as base64-encoded attachments, so your patch is not trashed during
+transmission. Also ensure the correct mime type is used
+(text/x-diff or text/x-patch or at least text/plain).
+
+If you send several patches, send each patch as a separate mail,
+do not attach several unrelated patches to the same mail.
+
+You can check @url{https://patchwork.ffmpeg.org}, if your patch does not show 
up, its mime type
+likely was wrong.
+
+
+The following trick allows to send patches via email clients in a safe
 way. It has been tested with Outlook and Thunderbird (with X-Unsent
 extension) and might work with other applications.
 
-- 
ffmpeg-codebot

___
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] fix(configure): fix detection on windows arm64

2025-05-13 Thread Martin Storsjö

On Mon, 12 May 2025, Coia Prant wrote:


On Windows Arm64
`uname -m` returned `x86_64` instead of `aarch64`
Link: https://github.com/msys2/msys2-runtime/issues/171

But `uname -s` contains `ARM64` suffix
So check suffix on windows arm64 (for clangarm64)

This problem also in VideoLAN/x264
Link: https://code.videolan.org/videolan/x264/-/merge_requests/177

Signed-off-by: Coia Prant 
---
configure | 2 ++
1 file changed, 2 insertions(+)

diff --git a/configure b/configure
index 2e69b3c..d8c1e09 100755
--- a/configure
+++ b/configure
@@ -4157,6 +4157,8 @@ if test "$target_os_default" = aix; then
arch_default=$(uname -p)
strip_default="strip -X32_64"
nm_default="nm -g -X32_64"
+elif [[ "$target_os_default" == "mingw"*"arm64" ]] || [[ "$target_os_default" == 
"msys"*"arm64" ]]; then
+arch_default="aarch64"
else


I don't think we should be detecting this for the msys*arm64 cases here. 
If we're in the msys environment, as opposed to the mingw ones, then the 
x86_64 that "uname -m" returns really is correct (even if running emulated 
on aarch64, the msys environment itself is x86_64, so that's the target 
architecture of the compilation).


For the mingw*arm64 case, I haven't thought about all the potential 
consequences of the patch; it may be acceptable. But the script is a 
strict POSIX sh script, it can't use bash constructs (which is what 
Michael observed in testing the patch).


// Martin

___
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 v5 6/7] ogg/vorbis: implement header packet skip in chained ogg bitstreams.

2025-05-13 Thread Michael Niedermayer
On Fri, May 09, 2025 at 06:43:26PM -0500, Romain Beauxis wrote:
> ---
>  libavcodec/vorbisdec.c |  37 +
>  libavformat/oggparsevorbis.c   | 174 +
>  tests/ref/fate/ogg-vorbis-chained-meta.txt |   3 -
>  3 files changed, 117 insertions(+), 97 deletions(-)
> 
> diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
> index a778dc6b58..f069ac6ab3 100644
> --- a/libavcodec/vorbisdec.c
> +++ b/libavcodec/vorbisdec.c
> @@ -1776,39 +1776,17 @@ static int vorbis_decode_frame(AVCodecContext *avctx, 
> AVFrame *frame,
>  GetBitContext *gb = &vc->gb;
>  float *channel_ptrs[255];
>  int i, len, ret;
> +const int8_t *new_extradata;
> +size_t new_extradata_size;
>  
>  ff_dlog(NULL, "packet length %d \n", buf_size);
>  
> -if (*buf == 1 && buf_size > 7) {
> -if ((ret = init_get_bits8(gb, buf + 1, buf_size - 1)) < 0)
> -return ret;
> -
> -vorbis_free(vc);
> -if ((ret = vorbis_parse_id_hdr(vc))) {
> -av_log(avctx, AV_LOG_ERROR, "Id header corrupt.\n");
> -vorbis_free(vc);
> -return ret;
> -}
> -
> -av_channel_layout_uninit(&avctx->ch_layout);
> -if (vc->audio_channels > 8) {
> -avctx->ch_layout.order   = AV_CHANNEL_ORDER_UNSPEC;
> -avctx->ch_layout.nb_channels = vc->audio_channels;
> -} else {
> -av_channel_layout_copy(&avctx->ch_layout, 
> &ff_vorbis_ch_layouts[vc->audio_channels - 1]);
> -}
> -
> -avctx->sample_rate = vc->audio_samplerate;
> -return buf_size;
> -}
> -
> -if (*buf == 3 && buf_size > 7) {
> -av_log(avctx, AV_LOG_DEBUG, "Ignoring comment header\n");
> -return buf_size;
> -}
> +new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,
> +&new_extradata_size);
>  
> -if (*buf == 5 && buf_size > 7 && vc->channel_residues && !vc->modes) {
> -if ((ret = init_get_bits8(gb, buf + 1, buf_size - 1)) < 0)
> +if (new_extradata && *new_extradata == 5 && new_extradata_size > 7 &&
> +vc->channel_residues && !vc->modes) {
> +if ((ret = init_get_bits8(gb, new_extradata + 1, new_extradata_size 
> - 1)) < 0)
>  return ret;
>  
>  if ((ret = vorbis_parse_setup_hdr(vc))) {
> @@ -1816,7 +1794,6 @@ static int vorbis_decode_frame(AVCodecContext *avctx, 
> AVFrame *frame,
>  vorbis_free(vc);
>  return ret;
>  }
> -return buf_size;
>  }
>  
>  if (!vc->channel_residues || !vc->modes) {
> diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c
> index 9f50ab9ffc..452728b54d 100644
> --- a/libavformat/oggparsevorbis.c
> +++ b/libavformat/oggparsevorbis.c
> @@ -293,6 +293,62 @@ static int vorbis_update_metadata(AVFormatContext *s, 
> int idx)
>  return ret;
>  }
>  
> +static int vorbis_parse_header(AVFormatContext *s, AVStream *st,
> +   const uint8_t *p, unsigned int psize)
> +{
> +unsigned blocksize, bs0, bs1;
> +int srate;
> +int channels;
> +
> +if (psize != 30)
> +return AVERROR_INVALIDDATA;
> +
> +p += 7; /* skip "\001vorbis" tag */
> +
> +if (bytestream_get_le32(&p) != 0) /* vorbis_version */
> +return AVERROR_INVALIDDATA;
> +
> +channels = bytestream_get_byte(&p);
> +if (st->codecpar->ch_layout.nb_channels &&
> +channels != st->codecpar->ch_layout.nb_channels) {
> +av_log(s, AV_LOG_ERROR, "Channel change is not supported\n");
> +return AVERROR_PATCHWELCOME;
> +}
> +st->codecpar->ch_layout.nb_channels = channels;
> +srate   = bytestream_get_le32(&p);
> +p += 4; // skip maximum bitrate
> +st->codecpar->bit_rate = bytestream_get_le32(&p); // nominal bitrate
> +p += 4; // skip minimum bitrate
> +
> +blocksize = bytestream_get_byte(&p);
> +bs0   = blocksize & 15;
> +bs1   = blocksize >> 4;
> +
> +if (bs0 > bs1)
> +return AVERROR_INVALIDDATA;
> +if (bs0 < 6 || bs1 > 13)
> +return AVERROR_INVALIDDATA;
> +
> +if (bytestream_get_byte(&p) != 1) /* framing_flag */
> +return AVERROR_INVALIDDATA;
> +
> +st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
> +st->codecpar->codec_id   = AV_CODEC_ID_VORBIS;
> +
> +if (srate > 0) {
> +if (st->codecpar->sample_rate &&
> +srate != st->codecpar->sample_rate) {
> +av_log(s, AV_LOG_ERROR, "Sample rate change is not supported\n");
> +return AVERROR_PATCHWELCOME;
> +}
> +
> +st->codecpar->sample_rate = srate;
> +avpriv_set_pts_info(st, 64, 1, srate);
> +}
> +
> +return 1;
> +}
> +
>  static int vorbis_header(AVFormatContext *s, int idx)
>  {
>  struct ogg *ogg = s->priv_data;
> @@ -300,6 +356,7 @@ static int vorbis_header(AVFormatContext *s, int idx)
>  struct

Re: [FFmpeg-devel] [PATCH v2] fate: Add test for APV 400-10 profile

2025-05-13 Thread Mark Thompson
On 11/05/2025 14:44, Mark Thompson wrote:
> Same setup as the 422-10 profile test, using the same content.  FFmpeg
> decoder output is identical to the reference decoder output.
> ---
> On 11/05/2025 14:40, James Almer wrote:
>> Will upload.
> 
> Thank you!

And pushed with that in place.

Thanks,

- Mark

___
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 v2 1/2] apv_decode: Multisymbol entropy decode

2025-05-13 Thread Mark Thompson
On 11/05/2025 11:09, Mark Thompson wrote:
> ---
> v2:
> * Bring error handling to the same level as before.
> * Split first run/level step to avoid first-AC handling inside the loop.
> * More commentary.
> * Other minor improvements.
> 
> Thanks,

No further changes here, so applied.

This also seems to fix  (output is now 
identical to the reference decoder), though I have not assessed exactly what 
was wrong with the previous version.

Thanks,

- Mark

___
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/iamf_parse: increase PutBytes buffer when writing AAC extradata

2025-05-13 Thread Michael Niedermayer
On Sat, May 10, 2025 at 12:51:09PM -0300, James Almer wrote:
> We may write up to 43 bits, so 5 bytes is not enough.
> 
> Fixes: Assertion n>=0 && n<=32 failed at ./libavcodec/get_bits.h:406
> Fixes: 
> 398527871/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-6602025714647040
> 
> Found-by: continuous fuzzing process 
> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: James Almer 
> ---
>  libavformat/iamf_parse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
> index abedfdb066..14b69855c9 100644
> --- a/libavformat/iamf_parse.c
> +++ b/libavformat/iamf_parse.c
> @@ -285,7 +285,7 @@ static int update_extradata(AVCodecParameters *codecpar)
>  AV_WL16A(codecpar->extradata + 16, AV_RB16A(codecpar->extradata + 
> 16)); // Byte swap Output Gain
>  break;
>  case AV_CODEC_ID_AAC: {
> -uint8_t buf[5];
> +uint8_t buf[6];

fails fate (with assertions enabled)

  libavutil  60.  2.100 / 60.  2.100
  libavcodec 62.  3.101 / 62.  3.101
  libavformat62.  0.102 / 62.  0.102
  libavdevice62.  0.100 / 62.  0.100
  libavfilter11.  0.100 / 11.  0.100
  libswscale  9.  0.100 /  9.  0.100
  libswresample   6.  0.100 /  6.  0.100
Assertion n>=0 && n<=32 failed at ./libavcodec/get_bits.h:406
Aborted (core dumped)
threads=1
make: *** [tests/Makefile:316: fate-iamf-stereo-demux] Error 134


[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

He who knows, does not speak. He who speaks, does not know. -- Lao Tsu


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".


Re: [FFmpeg-devel] [PATCH] configure: identify loong64 for loongarch.

2025-05-13 Thread 陈昊



> -原始邮件-
> 发件人: "Shiyou Yin" 
> 发送时间:2025-05-13 09:11:34 (星期二)
> 收件人: ffmpeg-devel@ffmpeg.org
> 主题: [FFmpeg-devel] [PATCH] configure: identify loong64 for loongarch.
> 
> dpkg-architecture set DEB_HOST_ARCH_CPU as loong64 on loongarch.
> ---
>  configure | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 2e69b3c56c..5f39050374 100755
> --- a/configure
> +++ b/configure
> @@ -5290,7 +5290,7 @@ case "$arch" in
>  arm*|iPad*|iPhone*)
>  arch="arm"
>  ;;
> -loongarch*)
> +loongarch*|loong64)
>  arch="loongarch"
>  ;;
>  mips*|IP*)
> -- 
> 2.20.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

本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。
 
This email and its attachments contain confidential information from Loongson 
Technology , which is intended only for the person or entity whose address is 
listed above. Any use of the information contained herein in any way 
(including, but not limited to, total or partial disclosure, reproduction or 
dissemination) by persons other than the intended recipient(s) is prohibited. 
If you receive this email in error, please notify the sender by phone or email 
immediately and delete it. 


___
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] configure: identify loong64 for loongarch.

2025-05-13 Thread Brad Smith

On 2025-05-12 9:11 p.m., Shiyou Yin wrote:

dpkg-architecture set DEB_HOST_ARCH_CPU as loong64 on loongarch.
---
  configure | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 2e69b3c56c..5f39050374 100755
--- a/configure
+++ b/configure
@@ -5290,7 +5290,7 @@ case "$arch" in
  arm*|iPad*|iPhone*)
  arch="arm"
  ;;
-loongarch*)
+loongarch*|loong64)
  arch="loongarch"
  ;;
  mips*|IP*)


It would be better to change this to just loong*

___
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] avcodec/sanm: avoid using k in left pxoff check

2025-05-13 Thread Michael Niedermayer
k is always 4 here and it seems this is not what was intended
replacing it with 0 works but it may be wrong

This needs review

Fixes: out of array read
Fixes: 
409593384/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SANM_fuzzer-6488251907244032

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/sanm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/sanm.c b/libavcodec/sanm.c
index 00bfef00fe8..ec429e1a002 100644
--- a/libavcodec/sanm.c
+++ b/libavcodec/sanm.c
@@ -734,7 +734,7 @@ static int old_codec4(SANMVideoContext *ctx, GetByteContext 
*gb, int top, int le
 }
 
 /* smooth top and left block borders with neighbours */
-if (((pxoff - p + k) < 0) || ((pxoff - p + k) >= maxpxo)
+if (((pxoff - p + 0) < 0) || ((pxoff - p + k) >= maxpxo)
 || ((pxoff + 3 * p) < 0) || ((pxoff + 3 * p) >= maxpxo)
 || (i == 0) || (j == 0))
 continue;
-- 
2.49.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] avcodec/ffv1enc_template: Fix remaining space check

2025-05-13 Thread Michael Niedermayer
Fixes: Assertion sc->slice_coding_mode == 0 failed at libavcodec/ffv1enc.c:1667
Fixes: 
408838118/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-6493138204295168

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/ffv1enc_template.c | 24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/libavcodec/ffv1enc_template.c b/libavcodec/ffv1enc_template.c
index 64f3c420c51..aaf82159eef 100644
--- a/libavcodec/ffv1enc_template.c
+++ b/libavcodec/ffv1enc_template.c
@@ -38,19 +38,13 @@ RENAME(encode_line)(FFV1Context *f, FFV1SliceContext *sc,
 if (bits == 0)
 return 0;
 
-if (ac != AC_GOLOMB_RICE) {
-if (c->bytestream_end - c->bytestream < w * 35) {
+if (sc->slice_coding_mode == 1) {
+av_assert0(ac != AC_GOLOMB_RICE);
+if (c->bytestream_end - c->bytestream < (w * bits + 7LL)>>3) {
 av_log(logctx, AV_LOG_ERROR, "encoded Range Coder frame too 
large\n");
 return AVERROR_INVALIDDATA;
 }
-} else {
-if (put_bytes_left(&sc->pb, 0) < w * 4) {
-av_log(logctx, AV_LOG_ERROR, "encoded Golomb Rice frame too 
large\n");
-return AVERROR_INVALIDDATA;
-}
-}
 
-if (sc->slice_coding_mode == 1) {
 for (x = 0; x < w; x++) {
 int i;
 int v = sample[0][x];
@@ -62,6 +56,18 @@ RENAME(encode_line)(FFV1Context *f, FFV1SliceContext *sc,
 return 0;
 }
 
+if (ac != AC_GOLOMB_RICE) {
+if (c->bytestream_end - c->bytestream < w * 35) {
+av_log(logctx, AV_LOG_ERROR, "encoded Range Coder frame too 
large\n");
+return AVERROR_INVALIDDATA;
+}
+} else {
+if (put_bytes_left(&sc->pb, 0) < w * 4) {
+av_log(logctx, AV_LOG_ERROR, "encoded Golomb Rice frame too 
large\n");
+return AVERROR_INVALIDDATA;
+}
+}
+
 for (x = 0; x < w; x++) {
 int diff, context;
 
-- 
2.49.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 1/2] Remove libpostproc

2025-05-13 Thread Andrew Randrianasulu
ср, 14 мая 2025 г., 03:55 Andrew Randrianasulu :

>
>
> вт, 6 мая 2025 г., 02:27 Michael Niedermayer :
>
>> This will be available in https://github.com/michaelni/libpostproc
>> either as a separate library or a ffmpeg source plugin whatever turns
>> out more convenient to maintain
>>
>
>
>
> Congratulations, you broke  building cinelerra-gg with ffmpeg.git despite
> our best efforts :/
>
> Why all this code movement?!
>
> For whom it "simple"?
>


For some reason this mail not arrived into my inbox (spam filter ate it?)

https://ffmpeg.org/pipermail/ffmpeg-devel/2025-May/343192.html

=

The idea of course here is to expand this to filters and other
things. Which again is trivial, nothing really is needed except
people simply following this style of a source plugin


=

I found this concerning. Because does this mean ffmpeg will be fragmented
like Python or Rust into million pieces users supposed to held together?



>> Sponsored-by: Sovereign Tech Fund
>> Signed-off-by: Michael Niedermayer 
>> ---
>>  LICENSE.md |2 -
>>  MAINTAINERS|2 -
>>  configure  |   13 +-
>>  doc/filters.texi   |  175 --
>>  fftools/ffprobe.c  |3 -
>>  fftools/opt_common.c   |3 -
>>  libavfilter/Makefile   |1 -
>>  libavfilter/allfilters.c   |1 -
>>  libavfilter/vf_pp.c|  191 --
>>  libavutil/avutil.h |1 -
>>  libpostproc/Makefile   |   23 -
>>  libpostproc/libpostproc.v  |7 -
>>  libpostproc/postprocess.c  |  992 --
>>  libpostproc/postprocess.h  |  109 -
>>  libpostproc/postprocess_altivec_template.c | 1214 
>>  libpostproc/postprocess_internal.h |  185 --
>>  libpostproc/postprocess_template.c | 3293 
>>  libpostproc/postprocres.rc |   55 -
>>  libpostproc/tests/.gitignore   |3 -
>>  libpostproc/tests/blocktest.c  |  113 -
>>  libpostproc/tests/stripetest.c |  115 -
>>  libpostproc/tests/temptest.c   |  106 -
>>  libpostproc/tests/test_utils.c |   38 -
>>  libpostproc/tests/test_utils.h |   27 -
>>  libpostproc/version.c  |   45 -
>>  libpostproc/version.h  |   48 -
>>  libpostproc/version_major.h|   33 -
>>  tests/Makefile |1 -
>>  tests/fate/filter-video.mak|   16 -
>>  tests/fate/libpostproc.mak |   14 -
>>  tests/ref/fate/blocktest   | 1800 ---
>>  tests/ref/fate/filter-pp   |   10 -
>>  tests/ref/fate/filter-pp1  |1 -
>>  tests/ref/fate/filter-pp2  |1 -
>>  tests/ref/fate/filter-pp3  |1 -
>>  tests/ref/fate/filter-pp4  |1 -
>>  tests/ref/fate/filter-pp5  |1 -
>>  tests/ref/fate/filter-pp6  |1 -
>>  tests/ref/fate/filter-qp   |1 -
>>  tests/ref/fate/stripetest  |  360 ---
>>  tests/ref/fate/temptest|  336 --
>>  tools/gen-rc   |1 -
>>  42 files changed, 1 insertion(+), 9342 deletions(-)
>>  delete mode 100644 libavfilter/vf_pp.c
>>  delete mode 100644 libpostproc/Makefile
>>  delete mode 100644 libpostproc/libpostproc.v
>>  delete mode 100644 libpostproc/postprocess.c
>>  delete mode 100644 libpostproc/postprocess.h
>>  delete mode 100644 libpostproc/postprocess_altivec_template.c
>>  delete mode 100644 libpostproc/postprocess_internal.h
>>  delete mode 100644 libpostproc/postprocess_template.c
>>  delete mode 100644 libpostproc/postprocres.rc
>>  delete mode 100644 libpostproc/tests/.gitignore
>>  delete mode 100644 libpostproc/tests/blocktest.c
>>  delete mode 100644 libpostproc/tests/stripetest.c
>>  delete mode 100644 libpostproc/tests/temptest.c
>>  delete mode 100644 libpostproc/tests/test_utils.c
>>  delete mode 100644 libpostproc/tests/test_utils.h
>>  delete mode 100644 libpostproc/version.c
>>  delete mode 100644 libpostproc/version.h
>>  delete mode 100644 libpostproc/version_major.h
>>  delete mode 100644 tests/fate/libpostproc.mak
>>  delete mode 100644 tests/ref/fate/blocktest
>>  delete mode 100644 tests/ref/fate/filter-pp
>>  delete mode 100644 tests/ref/fate/filter-pp1
>>  delete mode 100644 tests/ref/fate/filter-pp2
>>  delete mode 100644 tests/ref/fate/filter-pp3
>>  delete mode 100644 tests/ref/fate/filter-pp4
>>  delete mode 100644 tests/ref/fate/filter-pp5
>>  delete mode 100644 tests/ref/fate/filter-pp6
>>  delete mode 100644 tests/ref/fate/filter-qp
>>  delete mode 100644 tests/ref/fate/stripetest
>>  delete mode 100644 tests/ref/fate/temptest
>>
>> diff 

[FFmpeg-devel] Test email from Chitra - chitra....@microsoft.com

2025-05-13 Thread Chitra Dey Sarkar via ffmpeg-devel
This is a test email
___
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] Boost FPS and performance: Optimize vertical loop for cache-friendly access [libavcodec/jpeg2000dwt.c:dwt_decode97_float]

2025-05-13 Thread Chitra Dey Sarkar via ffmpeg-devel
Original Implementation:
-
In the original implementation, the "VER_SD" section processes image data 
stored in *data using strided memory access in a vertical fashion This leads to 
inefficient memory access patterns and cache thrashing due to non-sequential 
data access across multiple inner loops.

Proposed Refactor:
-
The proposed refactor replaces this  by allocating a cache-friendly 2D array 
buffer. This change eliminates strided memory access across the three inner 
loops, significantly improving cache locality and reducing cache thrashing.

Additionally, the data is transposed outside the lp loop, which allows for 
efficient per-line access and write-back to the l buffer, further optimizing 
performance.

Performance improvements
---
This change results in a substantial performance improvement  Sharing the FPS 
data benchmarked on our end for the file 'Tears of Steel' using HandBrake

Device / CPU ModelOfficial FPS   
Optimized FPS   % Improvement
Surface Laptop 11 (10-core X1P64100, L2: 36MB)  3.18   
6.15  +93%
Surface Laptop 11(10-core X1P64100, L2: 36MB) 5.16   7.31   
   +41%
Surface Laptop 11 (10-core X1P64100, L2: 36MB)  5.57   
9.21  +65%
AMD Ryzen + NVIDIA RTX 4060 Laptop (12C/24T)9.97 
11.22   +12%
Mac Mini Apple M4 Chip   9.00  12.00
   +30%

---
---
 libavcodec/jpeg2000dwt.c | 72 +++-
 1 file changed, 57 insertions(+), 15 deletions(-)

diff --git a/libavcodec/jpeg2000dwt.c b/libavcodec/jpeg2000dwt.c index 
9ee8122658..45d7897893 100644
--- a/libavcodec/jpeg2000dwt.c
+++ b/libavcodec/jpeg2000dwt.c
@@ -409,6 +409,15 @@ static void dwt_decode97_float(DWTContext *s, float *t)
 /* position at index O of line range [0-5,w+5] cf. extend function */
 line += 5;

+/* Find the largest lv and lv to allocate a 2D Array*/
+int max_dim = 0;
+for (lev = 0; lev < s->ndeclevels; lev++) {
+if (s->linelen[lev][0]  > max_dim) max_dim = s->linelen[lev][0];
+if (s->linelen[lev][1] > max_dim) max_dim = s->linelen[lev][1];
+}
+float *array2DBlock = av_malloc(max_dim * max_dim * sizeof(float));
+int useFallback = !array2DBlock;
+
 for (lev = 0; lev < s->ndeclevels; lev++) {
 int lh = s->linelen[lev][0],
 lv = s->linelen[lev][1],
@@ -431,23 +440,56 @@ static void dwt_decode97_float(DWTContext *s, float *t)
 for (i = 0; i < lh; i++)
 data[w * lp + i] = l[i];
 }
-
-// VER_SD
-l = line + mv;
-for (lp = 0; lp < lh; lp++) {
-int i, j = 0;
-// copy with interleaving
-for (i = mv; i < lv; i += 2, j++)
-l[i] = data[w * j + lp];
-for (i = 1 - mv; i < lv; i += 2, j++)
-l[i] = data[w * j + lp];
-
-sr_1d97_float(line, mv, mv + lv);
-
-for (i = 0; i < lv; i++)
-data[w * i + lp] = l[i];
+
+if (useFallback) {
+// VER_SD
+l = line + mv;
+for (lp = 0; lp < lh; lp++) {
+int i, j = 0;
+// copy with interleaving
+for (i = mv; i < lv; i += 2, j++)
+l[i] = data[w * j + lp];
+for (i = 1 - mv; i < lv; i += 2, j++)
+l[i] = data[w * j + lp];
+
+sr_1d97_float(line, mv, mv + lv);
+
+for (i = 0; i < lv; i++)
+data[w * i + lp] = l[i];
+}
+  }
+else {
+/*
+ * This array alleviates cache thrashing caused by vertical 
strided access across 'data'.
+ * By transposing the data outside the 'lp' loop, the inner loops 
gain sequential access,
+ * leading to substantial performance improvements.
+*/
+for (int lp = 0; lp < lv; lp++)
+for (int j = 0; j < lh; j++)
+array2DBlock[j * lv + lp] = data[w * lp + j];
+
+l = line + mv;
+for (lp = 0; lp < lh; lp++) {
+int i, j = 0;
+for (i = mv; i < lv; i += 2, j++)
+l[i] = array2DBlock[lp * lv + j];
+for (i = 1 - mv; i < lv; i += 2, j++)
+l[i] = array2DBlock[lp * lv + j];
+
+sr_1d97_float(line, mv, mv + lv);
+
+for (i = 0; i < lv; i++)
+array2DBlock[lp * lv + i] = l[i];
+}
+
+for (int lp = 0; lp 

Re: [FFmpeg-devel] [PATCH] configure: identify loong64 for loongarch.

2025-05-13 Thread 金波
it's a good suggestion.


> -原始邮件-
> 发件人: "Brad Smith" 
> 发送时间:2025-05-14 09:06:31 (星期三)
> 收件人: "FFmpeg development discussions and patches" , 
> "Shiyou Yin" 
> 主题: Re: [FFmpeg-devel] [PATCH] configure: identify loong64 for loongarch.
> 
> On 2025-05-12 9:11 p.m., Shiyou Yin wrote:
> > dpkg-architecture set DEB_HOST_ARCH_CPU as loong64 on loongarch.
> > ---
> >   configure | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 2e69b3c56c..5f39050374 100755
> > --- a/configure
> > +++ b/configure
> > @@ -5290,7 +5290,7 @@ case "$arch" in
> >   arm*|iPad*|iPhone*)
> >   arch="arm"
> >   ;;
> > -loongarch*)
> > +loongarch*|loong64)
> >   arch="loongarch"
> >   ;;
> >   mips*|IP*)
> 
> It would be better to change this to just loong*
> 
> ___
> 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".


本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。
 
This email and its attachments contain confidential information from Loongson 
Technology , which is intended only for the person or entity whose address is 
listed above. Any use of the information contained herein in any way 
(including, but not limited to, total or partial disclosure, reproduction or 
dissemination) by persons other than the intended recipient(s) is prohibited. 
If you receive this email in error, please notify the sender by phone or email 
immediately and delete it. 


___
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 v5 3/3] lavc/dxvenc: improve compatibility with Resolume products

2025-05-13 Thread Emma Worley
Bumping this again. Would like to use it for some upcoming live events.
___
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] SCTE-35

2025-05-13 Thread ashish max
Is there any patch  or any development so that we can send scte 35 trigger .
regards
ashish
___
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".