[FFmpeg-devel] [PATCH] configure: Check for the header sys/mmap.h when checking for mmap

2024-01-11 Thread Martin Storsjö
Whenever mmap is used, we include sys/mmap.h unconditionally
within HAVE_MMAP ifdefs.

When building for a system (e.g. mingw) that normally lacks the
mmap function, but if building with profiling enabled, the
profiling runtime which gets linked in in each test executable,
can contain a function named mmap, causing stray detection of it.

This fixes an issue reported at
https://github.com/mstorsjo/llvm-mingw/issues/390.
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 0b5e83bd20..99fa5260a4 100755
--- a/configure
+++ b/configure
@@ -6457,7 +6457,7 @@ check_func  getrusage
 check_func  gettimeofday
 check_func  isatty
 check_func  mkstemp
-check_func  mmap
+check_func_headers sys/mman.h mmap
 check_func  mprotect
 # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
 check_func_headers time.h nanosleep || check_lib nanosleep time.h nanosleep 
-lrt
-- 
2.39.3 (Apple Git-145)

___
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: Check for the header sys/mmap.h when checking for mmap

2024-01-11 Thread 徐福隆 via ffmpeg-devel
There maybe a spelling mistake, which in "check_func_headers sys/mman.h mmap".
It looks like should be "sys/mmap.h"


Thanks
-- Original --
From:   
 "FFmpeg development discussions 
and patches"
https://github.com/mstorsjo/llvm-mingw/issues/390.
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 0b5e83bd20..99fa5260a4 100755
--- a/configure
+++ b/configure
@@ -6457,7 +6457,7 @@ check_func  getrusage
 check_func  gettimeofday
 check_func  isatty
 check_func  mkstemp
-check_func  mmap
+check_func_headers sys/mman.h mmap
 check_func  mprotect
 # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
 check_func_headers time.h nanosleep || check_lib nanosleep time.h 
nanosleep -lrt
-- 
2.39.3 (Apple Git-145)

___
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 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: Check for the header sys/mmap.h when checking for mmap

2024-01-11 Thread Martin Storsjö

On Thu, 11 Jan 2024, 徐福隆 wrote:


There maybe a spelling mistake, which in "check_func_headers sys/mman.h
mmap".
It looks like should be "sys/mmap.h"


No, this is not a mistake, this is the name of the header. Have a look at 
libavutil/file.c or libswscale/utils.c, both which have this:


#if HAVE_MMAP
#include 
...

// 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 4/4] fate: add raw IAMF tests

2024-01-11 Thread James Almer

On 1/11/2024 12:17 AM, Michael Niedermayer wrote:

On Wed, Jan 10, 2024 at 09:52:28AM -0300, James Almer wrote:

On 1/10/2024 12:05 AM, Michael Niedermayer wrote:

On Sun, Jan 07, 2024 at 06:31:00PM -0300, James Almer wrote:

Covers muxing from raw pcm audio input into FLAC, using several scalable 
layouts,
and demuxing the result.

Signed-off-by: James Almer 
---
   tests/Makefile |   7 +-
   tests/fate/iamf.mak|  31 ++
   tests/filtergraphs/iamf_5_1|   4 +
   tests/filtergraphs/iamf_5_1_2  |   5 +
   tests/filtergraphs/iamf_5_1_4  |   6 ++
   tests/filtergraphs/iamf_7_1_4  |   7 ++
   tests/ref/fate/iamf-5_1_4  |  98 ++
   tests/ref/fate/iamf-7_1_4  | 114 +
   tests/ref/fate/iamf-stereo |  18 
   tests/streamgroups/audio_element-5_1_4 |   7 ++
   tests/streamgroups/audio_element-7_1_4 |   6 ++
   tests/streamgroups/audio_element-stereo|   3 +
   tests/streamgroups/mix_presentation-5_1_4  |   2 +
   tests/streamgroups/mix_presentation-7_1_4  |   2 +
   tests/streamgroups/mix_presentation-stereo |   3 +
   15 files changed, 312 insertions(+), 1 deletion(-)
   create mode 100644 tests/fate/iamf.mak
   create mode 100644 tests/filtergraphs/iamf_5_1
   create mode 100644 tests/filtergraphs/iamf_5_1_2
   create mode 100644 tests/filtergraphs/iamf_5_1_4
   create mode 100644 tests/filtergraphs/iamf_7_1_4
   create mode 100644 tests/ref/fate/iamf-5_1_4
   create mode 100644 tests/ref/fate/iamf-7_1_4
   create mode 100644 tests/ref/fate/iamf-stereo
   create mode 100644 tests/streamgroups/audio_element-5_1_4
   create mode 100644 tests/streamgroups/audio_element-7_1_4
   create mode 100644 tests/streamgroups/audio_element-stereo
   create mode 100644 tests/streamgroups/mix_presentation-5_1_4
   create mode 100644 tests/streamgroups/mix_presentation-7_1_4
   create mode 100644 tests/streamgroups/mix_presentation-stereo


Iam probably missing some dependancies but, reporting anyway
this fails fate:

[aist#0:0/pcm_s16le @ 0x5645f5820680] Guessed Channel Layout: stereo
Input #0, wav, from 'ffmpeg/tests/data/asynth-44100-2.wav':
Duration: 00:00:06.00, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 
channels, s16, 1411 kb/s
[in#0/wav @ 0x5645f5812400] Codec AVOption idct (select IDCT implementation) 
has not been used for any stream. The most likely reason is either wrong type 
(e.g. a video option with no video streams) or that it is a private option of 
some decoder which was not actually used for any stream.
[out#0/iamf @ 0x5645f585af80] Codec AVOption dct (DCT algorithm) has not been 
used for any stream. The most likely reason is either wrong type (e.g. a video 
option with no video streams) or that it is a private option of some encoder 
which was not actually used for any stream.
[out#0/iamf @ 0x5645f585af80] Codec AVOption idct (select IDCT implementation) 
has not been used for any stream. The most likely reason is either wrong type 
(e.g. a video option with no video streams) or that it is a private option of 
some encoder which was not actually used for any stream.
[out#0/iamf @ 0x5645f585af80] Invalid or missing stream group index in submix element 
specification 
"stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix"
Error opening output file ffmpeg/tests/data/fate/iamf-stereo.iamf.
Error opening output files: Invalid argument
threads=1
tests/Makefile:317: recipe for target 'fate-iamf-stereo' failed
make: *** [fate-iamf-stereo] Error 234

thx


I can't reproduce this. Tried with these four patches using current master
and it works.
Could it be strtoll misbehaving? Can you check what values are in idx,
oc->nb_stream_groups, and endptr?


didnt had time to look its 4am i need to eat and go to bed :)
but a quick test with this:
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
index 1b42ac9a1d7..224e9e8268e 100644
--- a/fftools/ffmpeg_mux_init.c
+++ b/fftools/ffmpeg_mux_init.c
@@ -2113,8 +2113,10 @@ static int of_parse_iamf_submixes(Muxer *mux, 
AVStreamGroup *stg, char *ptr)
  char *endptr = NULL;
  int64_t idx = -1;

-if (e = av_dict_get(dict, "stg", NULL, 0))
+if (e = av_dict_get(dict, "stg", NULL, 0)) {
  idx = strtoll(e->value, &endptr, 0);
+av_log(0,0, "B idx:%"PRId64" NSG:%d endptr: %p endptr:%s 
value:%s\n", idx, oc->nb_stream_groups, endptr, endptr, e->value);
+}
  av_dict_set(&dict, "stg", NULL, 0);


I guess this called before the checks is what's wrong.


  if (!endptr || *endptr || idx < 0 || idx >= 
oc->nb_stream_groups - 1 ||
  oc->stream_groups[idx]->type != 
AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT) {
@@ -2245,6 +2247,

Re: [FFmpeg-devel] [PATCH v2] checkasm: Generalize crash handling

2024-01-11 Thread Martin Storsjö

On Wed, 10 Jan 2024, Rémi Denis-Courmont wrote:


Looks OK (not tested).


Thanks, pushed now.

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


[FFmpeg-devel] [PATCH] checkasm: Test whether direct cycle counter access works

2024-01-11 Thread Martin Storsjö
This should print a nicer error message than crashing due to
an illegal instruction, if direct cycle counter access isn't
allowed.

This matches the dav1d checkasm commit
95a192549a448b70d9542e840c4e34b60d09b093.
---
 tests/checkasm/checkasm.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index 994d64e96b..9c5abb53dc 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -754,6 +754,14 @@ static int bench_init_kperf(void)
 static int bench_init_ffmpeg(void)
 {
 #ifdef AV_READ_TIME
+if (!checkasm_save_context()) {
+checkasm_set_signal_handler_state(1);
+AV_READ_TIME();
+checkasm_set_signal_handler_state(0);
+} else {
+fprintf(stderr, "checkasm: unable to access cycle counter\n");
+return -1;
+}
 printf("benchmarking with native FFmpeg timers\n");
 return 0;
 #else
@@ -927,7 +935,9 @@ int checkasm_bench_func(void)
 /* Indicate that the current test has failed */
 void checkasm_fail_func(const char *msg, ...)
 {
-if (state.current_func_ver->cpu && state.current_func_ver->ok) {
+if (state.current_func_ver && state.current_func_ver->cpu &&
+state.current_func_ver->ok)
+{
 va_list arg;
 
 print_cpu_name();
-- 
2.39.3 (Apple Git-145)

___
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/4] avformat/psxstr: fix demuxing I/O error at EOF

2024-01-11 Thread Michael Niedermayer
On Tue, Jan 02, 2024 at 02:52:11AM +, aybe aybe wrote:
> This second patch fixes the following error at the end of a .STR stream 
> conversion:
> 
> [in#0/psxstr @ 00681e80] Error during demuxing: I/O error
> 
> It's been a bit of trial and error as I've never used ffmpeg, but returning 
> AVERROR_EOF appears to be the way to go (doesn't complain anymore).
> 
> Signed-off-by: aybe 
> ---
>   libavformat/psxstr.c | 6 +-
>   1 file changed, 5 insertions(+), 1 deletion(-)

will apply

thx

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

If a bugfix only changes things apparently unrelated to the bug with no
further explanation, that is a good sign that the bugfix is wrong.


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 3/4] avformat/psxstr: fix unknown sector type 00/80

2024-01-11 Thread Michael Niedermayer
On Tue, Jan 02, 2024 at 02:57:18AM +, aybe aybe wrote:
> This third patch fixes warnings that are false positives (still on STRv1).
> 
> That's because these sectors are simply empty ones as can be read in "System 
> Description CD-ROM XA, May 1991,
> 4.3.2.3".
> 
> Haven't attempted significant refactoring as it just works, left a comment 
> instead about the situation.
> 
> The result is that there are no more false warnings when converting.
> 
> Signed-off-by: aybe 
> ---
>   libavformat/psxstr.c | 7 +++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/libavformat/psxstr.c b/libavformat/psxstr.c
> index 72d14b9792..306a690f52 100644
> --- a/libavformat/psxstr.c
> +++ b/libavformat/psxstr.c
> @@ -48,6 +48,7 @@
>   #define CDXA_TYPE_DATA 0x08
>   #define CDXA_TYPE_AUDIO0x04
>   #define CDXA_TYPE_VIDEO0x02
> +#define CDXA_TYPE_EMPTY0x00
> 
>   #define STR_MAGIC (0x80010160)
> 
> @@ -274,6 +275,12 @@ static int str_read_packet(AVFormatContext *s,
>   str->channels[channel].audio_stream_index;
>   pkt->duration = 1;
>   return 0;
> +case CDXA_TYPE_EMPTY: /* CD-ROM XA, May 1991, 4.3.2.3 */
> +{
> +/* NOTE this also catches 0x80 (EOF bit) because of 
> CDXA_TYPE_MASK */
> +/* TODO consider refactoring so as to explicitly handle each 
> case? */
> +break;
> +}

will apply without unneeded {}

thx

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

If you think the mosad wants you dead since a long time then you are either
wrong or dead since a long time.


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] checkasm: Test whether direct cycle counter access works

2024-01-11 Thread Rémi Denis-Courmont
Le torstaina 11. tammikuuta 2024, 14.53.05 EET Martin Storsjö a écrit :
> This should print a nicer error message than crashing due to
> an illegal instruction, if direct cycle counter access isn't
> allowed.
> 
> This matches the dav1d checkasm commit
> 95a192549a448b70d9542e840c4e34b60d09b093.
> ---
>  tests/checkasm/checkasm.c | 12 +++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
> index 994d64e96b..9c5abb53dc 100644
> --- a/tests/checkasm/checkasm.c
> +++ b/tests/checkasm/checkasm.c
> @@ -754,6 +754,14 @@ static int bench_init_kperf(void)
>  static int bench_init_ffmpeg(void)
>  {
>  #ifdef AV_READ_TIME
> +if (!checkasm_save_context()) {
> +checkasm_set_signal_handler_state(1);
> +AV_READ_TIME();
> +checkasm_set_signal_handler_state(0);
> +} else {
> +fprintf(stderr, "checkasm: unable to access cycle counter\n");

AV_READ_TIME() reads time, not cycles. If we want cycle count, then we should 
add a separate macro, as the two are different performance counters at least on 
RISC-V. As things stand, this code won't do anything on RISC-V, sinec 
AV_READ_TIME() actually reads, well, time, not cycles.

> +return -1;
> +}
>  printf("benchmarking with native FFmpeg timers\n");
>  return 0;
>  #else
> @@ -927,7 +935,9 @@ int checkasm_bench_func(void)
>  /* Indicate that the current test has failed */
>  void checkasm_fail_func(const char *msg, ...)
>  {
> -if (state.current_func_ver->cpu && state.current_func_ver->ok) {
> +if (state.current_func_ver && state.current_func_ver->cpu &&
> +state.current_func_ver->ok)
> +{
>  va_list arg;
> 
>  print_cpu_name();


-- 
雷米‧德尼-库尔蒙
http://www.remlab.net/



___
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: Test whether direct cycle counter access works

2024-01-11 Thread Martin Storsjö

On Thu, 11 Jan 2024, Rémi Denis-Courmont wrote:


Le torstaina 11. tammikuuta 2024, 14.53.05 EET Martin Storsjö a écrit :

This should print a nicer error message than crashing due to
an illegal instruction, if direct cycle counter access isn't
allowed.

This matches the dav1d checkasm commit
95a192549a448b70d9542e840c4e34b60d09b093.
---
 tests/checkasm/checkasm.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index 994d64e96b..9c5abb53dc 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -754,6 +754,14 @@ static int bench_init_kperf(void)
 static int bench_init_ffmpeg(void)
 {
 #ifdef AV_READ_TIME
+if (!checkasm_save_context()) {
+checkasm_set_signal_handler_state(1);
+AV_READ_TIME();
+checkasm_set_signal_handler_state(0);
+} else {
+fprintf(stderr, "checkasm: unable to access cycle counter\n");


AV_READ_TIME() reads time, not cycles.


Right, I can adjust the wording. Exactly what kind of measurement 
AV_READ_TIME returns varies between architectures and environments indeed.


What about:

checkasm: unable to execute platform specific timer

If we want cycle count, then we should add a separate macro, as the two 
are different performance counters at least on RISC-V.


That's not what I try to do here, I just want to test whether the timer, 
whatever we have in AV_READ_TIME, is usable.


As things stand, this code won't do anything on RISC-V, sinec 
AV_READ_TIME() actually reads, well, time, not cycles.


Should I interpret this, as, the current AV_READ_TIME implementation on 
RISC-V always succeeds, contrary to the previous implementation (with 
rdcycle) which is unavailable on some systems, referencing 
05115a77e012331b6ff5e24bab40e75848447c62?


In that case - sure, this would be mostly a no-op for RISC-V, just like it 
is for x86, but for ARM/AArch64 it would provide a nicer error message if 
access to the relevant registers hasn't been configured.


// 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] checkasm: Test whether direct cycle counter access works

2024-01-11 Thread Rémi Denis-Courmont
Le torstaina 11. tammikuuta 2024, 16.15.29 EET Martin Storsjö a écrit :
> > AV_READ_TIME() reads time, not cycles.
> 
> Right, I can adjust the wording. Exactly what kind of measurement
> AV_READ_TIME returns varies between architectures and environments indeed.

In practice, yes, but I would argue that it's a bug if it does not measure 
time. At the very least because, the name is extremely misleading.

> What about:
> 
>  checkasm: unable to execute platform specific timer
> 
> > If we want cycle count, then we should add a separate macro, as the two
> > are different performance counters at least on RISC-V.
> 
> That's not what I try to do here, I just want to test whether the timer,
> whatever we have in AV_READ_TIME, is usable.

Sure, I can live with that, but I thought that checkasm actually prefered to 
measure cycles than time periods.

> > As things stand, this code won't do anything on RISC-V, sinec
> > AV_READ_TIME() actually reads, well, time, not cycles.
> 
> Should I interpret this, as, the current AV_READ_TIME implementation on
> RISC-V always succeeds, contrary to the previous implementation (with
> rdcycle) which is unavailable on some systems, referencing
> 05115a77e012331b6ff5e24bab40e75848447c62?

Yes.

-- 
雷米‧德尼-库尔蒙
http://www.remlab.net/



___
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 4/4] vvcdec: reuse h26x/h2656_deblock_template.c

2024-01-11 Thread Nuo Mi
>
>
>
> > Yes. After we merge this, we will send out the mc x86 asm code for
> review.
> > It will share the same binary with HEVC.
> > For SAO/Deblock, we will follow a similar approach, but it needs to be a
> > little later than mc.
> > For C code, we can share the binary as well, but it involves some
> interface
> > changes, better to do it after all asm is ready.
> >
>
> OK, that sounds reasonable to me.
>
Thank you, Ronald.
Pushed.

>
> Ronald
> ___
> 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 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 v3 1/2] avformat/flvdec: support enhanced flv PacketTypeMetadata

2024-01-11 Thread zhupengfei via ffmpeg-devel
From: Zhu Pengfei <411294...@qq.com>

Signed-off-by: Zhu Pengfei <411294...@qq.com>
---
 libavformat/flvdec.c | 178 ++-
 1 file changed, 177 insertions(+), 1 deletion(-)

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index e25b5bd163..65815e51f9 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -34,6 +34,7 @@
 #include "libavutil/intfloat.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mathematics.h"
+#include "libavutil/mastering_display_metadata.h"
 #include "avformat.h"
 #include "demux.h"
 #include "internal.h"
@@ -45,6 +46,28 @@
 
 #define MAX_DEPTH 16  ///< arbitrary limit to prevent unbounded recursion
 
+typedef struct FLVMasteringMeta {
+double r_x;
+double r_y;
+double g_x;
+double g_y;
+double b_x;
+double b_y;
+double white_x;
+double white_y;
+double max_luminance;
+double min_luminance;
+} FLVMasteringMeta;
+
+typedef struct FLVMetaVideoColor {
+uint64_t matrix_coefficients;
+uint64_t transfer_characteristics;
+uint64_t primaries;
+uint64_t max_cll;
+uint64_t max_fall;
+FLVMasteringMeta mastering_meta;
+} FLVMetaVideoColor;
+
 typedef struct FLVContext {
 const AVClass *class; ///< Class for private options.
 int trust_metadata;   ///< configure streams according onMetaData
@@ -80,6 +103,8 @@ typedef struct FLVContext {
 int64_t time_offset;
 int64_t time_pos;
 
+FLVMetaVideoColor *metaVideoColor;
+int meta_color_info_flag;
 } FLVContext;
 
 /* AMF date type */
@@ -524,6 +549,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream 
*astream,
 FLVContext *flv = s->priv_data;
 AVIOContext *ioc;
 AMFDataType amf_type;
+FLVMetaVideoColor *meta_video_color = flv->metaVideoColor;
 char str_val[1024];
 double num_val;
 amf_date date;
@@ -672,6 +698,43 @@ static int amf_parse_object(AVFormatContext *s, AVStream 
*astream,
 }
 }
 
+if (meta_video_color) {
+if (amf_type == AMF_DATA_TYPE_NUMBER ||
+amf_type == AMF_DATA_TYPE_BOOL) {
+if (!strcmp(key, "colorPrimaries")) {
+meta_video_color->primaries = num_val;
+} else if (!strcmp(key, "transferCharacteristics")) {
+meta_video_color->transfer_characteristics = num_val;
+} else if (!strcmp(key, "matrixCoefficients")) {
+meta_video_color->matrix_coefficients = num_val;
+} else if (!strcmp(key, "maxFall")) {
+meta_video_color->max_fall = num_val;
+} else if (!strcmp(key, "maxCLL")) {
+meta_video_color->max_cll = num_val;
+} else if (!strcmp(key, "redX")) {
+meta_video_color->mastering_meta.r_x = num_val;
+} else if (!strcmp(key, "redY")) {
+meta_video_color->mastering_meta.r_y = num_val;
+} else if (!strcmp(key, "greenX")) {
+meta_video_color->mastering_meta.g_x = num_val;
+} else if (!strcmp(key, "greenY")) {
+meta_video_color->mastering_meta.g_y = num_val;
+} else if (!strcmp(key, "blueX")) {
+meta_video_color->mastering_meta.b_x = num_val;
+} else if (!strcmp(key, "blueY")) {
+meta_video_color->mastering_meta.b_y = num_val;
+} else if (!strcmp(key, "whitePointX")) {
+meta_video_color->mastering_meta.white_x = num_val;
+} else if (!strcmp(key, "whitePointY")) {
+meta_video_color->mastering_meta.white_y = num_val;
+} else if (!strcmp(key, "maxLuminance")) {
+meta_video_color->mastering_meta.max_luminance = num_val;
+} else if (!strcmp(key, "minLuminance")) {
+meta_video_color->mastering_meta.min_luminance = num_val;
+}
+}
+}
+
 if (amf_type == AMF_DATA_TYPE_OBJECT && s->nb_streams == 1 &&
((!apar && !strcmp(key, "audiocodecid")) ||
 (!vpar && !strcmp(key, "videocodecid"
@@ -824,6 +887,7 @@ static int flv_read_close(AVFormatContext *s)
 av_freep(&flv->new_extradata[i]);
 av_freep(&flv->keyframe_times);
 av_freep(&flv->keyframe_filepositions);
+av_freep(&flv->metaVideoColor);
 return 0;
 }
 
@@ -1028,6 +1092,104 @@ static int resync(AVFormatContext *s)
 return AVERROR_EOF;
 }
 
+static int flv_parse_video_color_info(AVFormatContext *s, AVStream *st, 
int64_t next_pos)
+{
+FLVContext *flv = s->priv_data;
+AMFDataType type;
+AVIOContext *ioc;
+char buffer[32];
+ioc = s->pb;
+
+// first object needs to be "colorInfo" string
+type = avio_r8(ioc);
+if (type != AMF_DATA_TYPE_STRING ||
+amf_get_string(ioc, buffer, sizeof(buffer)) < 0)
+

[FFmpeg-devel] [PATCH v3 2/2] avformat/flvenc: support enhanced flv PacketTypeMetadata

2024-01-11 Thread zhupengfei via ffmpeg-devel
From: Zhu Pengfei <411294...@qq.com>

Signed-off-by: Zhu Pengfei <411294...@qq.com>
---
 libavformat/flvenc.c | 133 +++
 1 file changed, 133 insertions(+)

diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index f6d10f331c..4485aba03c 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -24,6 +24,7 @@
 #include "libavutil/intfloat.h"
 #include "libavutil/avassert.h"
 #include "libavutil/mathematics.h"
+#include "libavutil/mastering_display_metadata.h"
 #include "libavcodec/codec_desc.h"
 #include "libavcodec/mpeg4audio.h"
 #include "avio.h"
@@ -124,6 +125,7 @@ typedef struct FLVContext {
 
 int flags;
 int64_t last_ts[FLV_STREAM_TYPE_NB];
+int write_metadata_pkt;
 } FLVContext;
 
 static int get_audio_flags(AVFormatContext *s, AVCodecParameters *par)
@@ -478,6 +480,136 @@ static void write_metadata(AVFormatContext *s, unsigned 
int ts)
 avio_wb32(pb, flv->metadata_totalsize + 11);
 }
 
+static void flv_write_metadata_packet(AVFormatContext *s, AVCodecParameters 
*par, unsigned int ts)
+{
+AVIOContext *pb = s->pb;
+FLVContext *flv = s->priv_data;
+AVContentLightMetadata *lightMetadata = NULL;
+AVMasteringDisplayMetadata *displayMetadata = NULL;
+const int flags_size = 5;
+int64_t metadata_size_pos = 0;
+int64_t total_size = 0;
+const AVPacketSideData *side_data = NULL;
+
+if (par->codec_id == AV_CODEC_ID_HEVC || par->codec_id == AV_CODEC_ID_AV1 
||
+par->codec_id == AV_CODEC_ID_VP9) {
+if (flv->write_metadata_pkt) return;
+
+side_data = av_packet_side_data_get(par->coded_side_data, 
par->nb_coded_side_data,
+AV_PKT_DATA_CONTENT_LIGHT_LEVEL);
+if (side_data)
+lightMetadata = (AVContentLightMetadata *)side_data->data;
+
+side_data = av_packet_side_data_get(par->coded_side_data, 
par->nb_coded_side_data,
+
AV_PKT_DATA_MASTERING_DISPLAY_METADATA);
+if (side_data)
+displayMetadata = (AVMasteringDisplayMetadata *)side_data->data;
+
+/*
+* Reference Enhancing FLV
+* https://github.com/veovera/enhanced-rtmp/blob/main/enhanced-rtmp.pdf
+* */
+avio_w8(pb, FLV_TAG_TYPE_VIDEO); //write video tag type
+metadata_size_pos = avio_tell(pb);
+avio_wb24(pb, 0 + flags_size);
+put_timestamp(pb, ts); //ts = pkt->dts, gen
+avio_wb24(pb, flv->reserved);
+
+if (par->codec_id == AV_CODEC_ID_HEVC) {
+avio_w8(pb, FLV_IS_EX_HEADER | PacketTypeMetadata| 
FLV_FRAME_VIDEO_INFO_CMD); // ExVideoTagHeader mode with PacketTypeMetadata
+avio_write(pb, "hvc1", 4);
+} else if (par->codec_id == AV_CODEC_ID_AV1 || par->codec_id == 
AV_CODEC_ID_VP9) {
+avio_w8(pb, FLV_IS_EX_HEADER | PacketTypeMetadata| 
FLV_FRAME_VIDEO_INFO_CMD);
+avio_write(pb, par->codec_id == AV_CODEC_ID_AV1 ? "av01" : "vp09", 
4);
+}
+
+avio_w8(pb, AMF_DATA_TYPE_STRING);
+put_amf_string(pb, "colorInfo");
+
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "colorConfig");  // colorConfig
+
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "transferCharacteristics");  // color_trc
+put_amf_double(pb, par->color_trc);
+
+put_amf_string(pb, "matrixCoefficients"); // colorspace
+put_amf_double(pb, par->color_space);
+
+put_amf_string(pb, "colorPrimaries"); // color_primaries
+put_amf_double(pb, par->color_primaries);
+
+put_amf_string(pb, "");
+avio_w8(pb, AMF_END_OF_OBJECT);
+
+if (lightMetadata) {
+put_amf_string(pb, "hdrCll");
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "maxFall");
+put_amf_double(pb, lightMetadata->MaxFALL);
+
+put_amf_string(pb, "maxCLL");
+put_amf_double(pb, lightMetadata->MaxCLL);
+
+put_amf_string(pb, "");
+avio_w8(pb, AMF_END_OF_OBJECT);
+}
+
+if (displayMetadata && (displayMetadata->has_primaries || 
displayMetadata->has_luminance)) {
+put_amf_string(pb, "hdrMdcv");
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+if (displayMetadata->has_primaries) {
+put_amf_string(pb, "redX");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[0][0]));
+
+put_amf_string(pb, "redY");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[0][1]));
+
+put_amf_string(pb, "greenX");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[1][0]));
+
+put_amf_string(pb, "greenY");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[1][1]));
+
+put_amf_string(pb, "blueX");
+put_amf_double(pb, 
av_q2d(disp

[FFmpeg-devel] [PATCH v3 2/2] avformat/flvenc: support enhanced flv PacketTypeMetadata

2024-01-11 Thread zhupengfei via ffmpeg-devel
From: Zhu Pengfei <411294...@qq.com>

Signed-off-by: Zhu Pengfei <411294...@qq.com>
---
 libavformat/flvenc.c | 133 +++
 1 file changed, 133 insertions(+)

diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index f6d10f331c..4485aba03c 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -24,6 +24,7 @@
 #include "libavutil/intfloat.h"
 #include "libavutil/avassert.h"
 #include "libavutil/mathematics.h"
+#include "libavutil/mastering_display_metadata.h"
 #include "libavcodec/codec_desc.h"
 #include "libavcodec/mpeg4audio.h"
 #include "avio.h"
@@ -124,6 +125,7 @@ typedef struct FLVContext {
 
 int flags;
 int64_t last_ts[FLV_STREAM_TYPE_NB];
+int write_metadata_pkt;
 } FLVContext;
 
 static int get_audio_flags(AVFormatContext *s, AVCodecParameters *par)
@@ -478,6 +480,136 @@ static void write_metadata(AVFormatContext *s, unsigned 
int ts)
 avio_wb32(pb, flv->metadata_totalsize + 11);
 }
 
+static void flv_write_metadata_packet(AVFormatContext *s, AVCodecParameters 
*par, unsigned int ts)
+{
+AVIOContext *pb = s->pb;
+FLVContext *flv = s->priv_data;
+AVContentLightMetadata *lightMetadata = NULL;
+AVMasteringDisplayMetadata *displayMetadata = NULL;
+const int flags_size = 5;
+int64_t metadata_size_pos = 0;
+int64_t total_size = 0;
+const AVPacketSideData *side_data = NULL;
+
+if (par->codec_id == AV_CODEC_ID_HEVC || par->codec_id == AV_CODEC_ID_AV1 
||
+par->codec_id == AV_CODEC_ID_VP9) {
+if (flv->write_metadata_pkt) return;
+
+side_data = av_packet_side_data_get(par->coded_side_data, 
par->nb_coded_side_data,
+AV_PKT_DATA_CONTENT_LIGHT_LEVEL);
+if (side_data)
+lightMetadata = (AVContentLightMetadata *)side_data->data;
+
+side_data = av_packet_side_data_get(par->coded_side_data, 
par->nb_coded_side_data,
+
AV_PKT_DATA_MASTERING_DISPLAY_METADATA);
+if (side_data)
+displayMetadata = (AVMasteringDisplayMetadata *)side_data->data;
+
+/*
+* Reference Enhancing FLV
+* https://github.com/veovera/enhanced-rtmp/blob/main/enhanced-rtmp.pdf
+* */
+avio_w8(pb, FLV_TAG_TYPE_VIDEO); //write video tag type
+metadata_size_pos = avio_tell(pb);
+avio_wb24(pb, 0 + flags_size);
+put_timestamp(pb, ts); //ts = pkt->dts, gen
+avio_wb24(pb, flv->reserved);
+
+if (par->codec_id == AV_CODEC_ID_HEVC) {
+avio_w8(pb, FLV_IS_EX_HEADER | PacketTypeMetadata| 
FLV_FRAME_VIDEO_INFO_CMD); // ExVideoTagHeader mode with PacketTypeMetadata
+avio_write(pb, "hvc1", 4);
+} else if (par->codec_id == AV_CODEC_ID_AV1 || par->codec_id == 
AV_CODEC_ID_VP9) {
+avio_w8(pb, FLV_IS_EX_HEADER | PacketTypeMetadata| 
FLV_FRAME_VIDEO_INFO_CMD);
+avio_write(pb, par->codec_id == AV_CODEC_ID_AV1 ? "av01" : "vp09", 
4);
+}
+
+avio_w8(pb, AMF_DATA_TYPE_STRING);
+put_amf_string(pb, "colorInfo");
+
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "colorConfig");  // colorConfig
+
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "transferCharacteristics");  // color_trc
+put_amf_double(pb, par->color_trc);
+
+put_amf_string(pb, "matrixCoefficients"); // colorspace
+put_amf_double(pb, par->color_space);
+
+put_amf_string(pb, "colorPrimaries"); // color_primaries
+put_amf_double(pb, par->color_primaries);
+
+put_amf_string(pb, "");
+avio_w8(pb, AMF_END_OF_OBJECT);
+
+if (lightMetadata) {
+put_amf_string(pb, "hdrCll");
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+
+put_amf_string(pb, "maxFall");
+put_amf_double(pb, lightMetadata->MaxFALL);
+
+put_amf_string(pb, "maxCLL");
+put_amf_double(pb, lightMetadata->MaxCLL);
+
+put_amf_string(pb, "");
+avio_w8(pb, AMF_END_OF_OBJECT);
+}
+
+if (displayMetadata && (displayMetadata->has_primaries || 
displayMetadata->has_luminance)) {
+put_amf_string(pb, "hdrMdcv");
+avio_w8(pb, AMF_DATA_TYPE_OBJECT);
+if (displayMetadata->has_primaries) {
+put_amf_string(pb, "redX");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[0][0]));
+
+put_amf_string(pb, "redY");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[0][1]));
+
+put_amf_string(pb, "greenX");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[1][0]));
+
+put_amf_string(pb, "greenY");
+put_amf_double(pb, 
av_q2d(displayMetadata->display_primaries[1][1]));
+
+put_amf_string(pb, "blueX");
+put_amf_double(pb, 
av_q2d(disp

Re: [FFmpeg-devel] [PATCH 3/3] lavc/h264dsp: R-V V h264_add_pixels8_clear

2024-01-11 Thread flow gg
ping

flow gg  于2023年12月25日周一 12:01写道:

> C908
> h264_add_pixels8_clear_c: 262.0
> h264_add_pixels8_clear_rvv_i64: 59.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 v2] checkasm: Test whether the native FFmpeg timers work

2024-01-11 Thread Martin Storsjö
On some platforms (in particular, ARM/AArch64), the implementation
of AV_READ_TIME() may use a privileged instruction - in such
cases, benchmarking just fails with a SIGILL.

Instead of crashing, try executing AV_READ_TIME() once within
a region with the signal handler active, to allow gracefully
informing the user about the issue.

This matches the dav1d checkasm commit
95a192549a448b70d9542e840c4e34b60d09b093.
---
Reworded the commit message and the printed warning message, as
the actual type of the timer is undefined and varies across
platforms.
---
 tests/checkasm/checkasm.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index 994d64e96b..05f23898d3 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -754,6 +754,14 @@ static int bench_init_kperf(void)
 static int bench_init_ffmpeg(void)
 {
 #ifdef AV_READ_TIME
+if (!checkasm_save_context()) {
+checkasm_set_signal_handler_state(1);
+AV_READ_TIME();
+checkasm_set_signal_handler_state(0);
+} else {
+fprintf(stderr, "checkasm: unable to execute platform specific 
timer\n");
+return -1;
+}
 printf("benchmarking with native FFmpeg timers\n");
 return 0;
 #else
@@ -927,7 +935,9 @@ int checkasm_bench_func(void)
 /* Indicate that the current test has failed */
 void checkasm_fail_func(const char *msg, ...)
 {
-if (state.current_func_ver->cpu && state.current_func_ver->ok) {
+if (state.current_func_ver && state.current_func_ver->cpu &&
+state.current_func_ver->ok)
+{
 va_list arg;
 
 print_cpu_name();
-- 
2.39.3 (Apple Git-145)

___
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] libavformat/adxdec: remove erroneous whitespace

2024-01-11 Thread Marth64
25th anniversary of the Dreamcast this year. Will follow up with FATE test.

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

diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c
index b6bd3303a7..55eabceef0 100644
--- a/libavformat/adxdec.c
+++ b/libavformat/adxdec.c
@@ -105,7 +105,7 @@ static int adx_read_header(AVFormatContext *s)
 av_log(s, AV_LOG_ERROR, "Invalid extradata size.\n");
 return AVERROR_INVALIDDATA;
 }
-channels = AV_RB8 (par->extradata + 7);
+channels = AV_RB8(par->extradata + 7);
 par->sample_rate = AV_RB32(par->extradata + 8);
 
 if (channels <= 0) {
-- 
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] fate/audio: add ADX demux and decode test

2024-01-11 Thread Marth64
Necessary samples to fate-samples/adx :
https://ufile.io/f/v306q

Samples are re-encodes of luckynight from FATE suite.
d3a67e1d21bbaa7afc8e3bd089545ad44685e0c7a4212a75f7d115b0b8d656eb  luckynight.adx
f994367773da8cadc5a41d7eab680a3f24685211d3564d8a806857cab47bdf25  luckynight.pcm

Signed-off-by: Marth64 
---
 tests/fate/audio.mak | 5 +
 1 file changed, 5 insertions(+)

diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak
index 65317c8d45..1c0f48ae0d 100644
--- a/tests/fate/audio.mak
+++ b/tests/fate/audio.mak
@@ -1,3 +1,8 @@
+FATE_SAMPLES_AUDIO-$(call DEMDEC, ADX, ADPCM_ADX) += fate-adx
+fate-adx: CMD = pcm -i $(TARGET_SAMPLES)/adx/luckynight.adx
+fate-adx: CMP = oneoff
+fate-adx: REF = $(SAMPLES)/adx/luckynight.pcm
+
 FATE_SAMPLES_AUDIO-$(call TRANSCODE, APTX, APTX, WAV_DEMUXER PCM_S16LE_DECODER 
ARESAMPLE_FILTER) += fate-aptx
 fate-aptx: CMD = transcode wav 
$(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav aptx "-af 
aresample -c aptx" "-af aresample -c:a pcm_s16le -t 0.25" "" "" "-f aptx 
-sample_rate 44100"
 
-- 
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] libavformat/hls: use avio_flush() to clear playlist buffer

2024-01-11 Thread Marth64
Felt that this could be handled by avio_flush(). Traced the code and it seems 
logical. Seems to work fine for the only sample I have right now. But curious 
to others opinion.

Signed-off-by: Marth64 
---
 libavformat/hls.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/libavformat/hls.c b/libavformat/hls.c
index a69430a457..8dabe86fb8 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -2495,9 +2495,7 @@ static int hls_read_seek(AVFormatContext *s, int 
stream_index,
 av_packet_unref(pls->pkt);
 pb->eof_reached = 0;
 /* Clear any buffered data */
-pb->buf_end = pb->buf_ptr = pb->buffer;
-/* Reset the pos, to let the mpegts demuxer know we've seeked. */
-pb->pos = 0;
+avio_flush(pb);
 /* Flush the packet queue of the subdemuxer. */
 ff_read_frame_flush(pls->ctx);
 
-- 
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] configure: remove Bitrig OS

2024-01-11 Thread Brad Smith

On 2023-12-31 2:23 a.m., Brad Smith wrote:

configure: remove Bitrig OS

Bitrig has been defunct for 7 years.

Signed-off-by: Brad Smith 
---
  configure | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 42786719e9..d96b47ebe5 100755
--- a/configure
+++ b/configure
@@ -5625,7 +5625,7 @@ case $target_os in
  oss_outdev_extralibs="-lossaudio"
  enabled gcc || check_ldflags -Wl,-zmuldefs
  ;;
-openbsd|bitrig)
+openbsd)
  disable symver
  enable section_data_rel_ro
  striptype=""


ping.
___
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: remove Bitrig OS

2024-01-11 Thread Zhao Zhili



> On Jan 12, 2024, at 08:56, Brad Smith  wrote:
> 
> On 2023-12-31 2:23 a.m., Brad Smith wrote:
>> configure: remove Bitrig OS
>> 
>> Bitrig has been defunct for 7 years.
>> 
>> Signed-off-by: Brad Smith 
>> ---
>>  configure | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/configure b/configure
>> index 42786719e9..d96b47ebe5 100755
>> --- a/configure
>> +++ b/configure
>> @@ -5625,7 +5625,7 @@ case $target_os in
>>  oss_outdev_extralibs="-lossaudio"
>>  enabled gcc || check_ldflags -Wl,-zmuldefs
>>  ;;
>> -openbsd|bitrig)
>> +openbsd)
>>  disable symver
>>  enable section_data_rel_ro
>>  striptype=""
> 
> ping.

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

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