Re: [FFmpeg-devel] [PATCH v2] lavu/thread: add support for setting thread name on *bsd and solaris

2024-01-15 Thread Brad Smith

On 2024-01-07 12:55 a.m., Brad Smith wrote:

lavu/thread: add support for setting thread name on *bsd and solaris

FreeBSD/DragonFly/Solaris use pthread_setname_np(). OpenBSD uses 
pthread_set_name_np().

Signed-off-by: Brad Smith
---
  configure  | 10 ++
  libavutil/thread.h | 14 --
  2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 0b5e83bd20..67660b6292 100755
--- a/configure
+++ b/configure
@@ -2239,6 +2239,7 @@ HEADERS_LIST="
  opencv2_core_core_c_h
  OpenGL_gl3_h
  poll_h
+pthread_np_h
  sys_param_h
  sys_resource_h
  sys_select_h
@@ -2341,6 +2342,8 @@ SYSTEM_FUNCS="
  posix_memalign
  prctl
  pthread_cancel
+pthread_set_name_np
+pthread_setname_np
  sched_getaffinity
  SecItemImport
  SetConsoleTextAttribute
@@ -6523,6 +6526,7 @@ check_headers malloc.h
  check_headers mftransform.h
  check_headers net/udplite.h
  check_headers poll.h
+check_headers pthread_np.h
  check_headers sys/param.h
  check_headers sys/resource.h
  check_headers sys/select.h
@@ -6691,6 +6695,12 @@ if ! disabled pthreads && ! enabled w32threads && ! 
enabled os2threads; then
  if enabled pthreads; then
  check_builtin sem_timedwait semaphore.h "sem_t *s; sem_init(s,0,0); 
sem_timedwait(s,0); sem_destroy(s)" $pthreads_extralibs
  check_func pthread_cancel $pthreads_extralibs
+hdrs=pthread.h
+if enabled pthread_np_h; then
+hdrs="$hdrs pthread_np.h"
+fi
+check_lib pthread_set_name_np "$hdrs" pthread_set_name_np -lpthread
+check_lib pthread_setname_np "$hdrs" pthread_setname_np -lpthread
  fi
  fi
  
diff --git a/libavutil/thread.h b/libavutil/thread.h

index 2ded498c89..fa74dd2ea7 100644
--- a/libavutil/thread.h
+++ b/libavutil/thread.h
@@ -26,6 +26,8 @@
  
  #if HAVE_PRCTL

  #include 
+#elif (HAVE_PTHREAD_SETNAME_NP || HAVE_PTHREAD_SET_NAME_NP) && 
HAVE_PTHREAD_NP_H
+#include 
  #endif
  
  #include "error.h"

@@ -213,11 +215,19 @@ static inline int ff_thread_once(char *control, void 
(*routine)(void))
  
  static inline int ff_thread_setname(const char *name)

  {
+int ret = 0;
+
  #if HAVE_PRCTL
-return AVERROR(prctl(PR_SET_NAME, name));
+ret = AVERROR(prctl(PR_SET_NAME, name));
+#elif HAVE_PTHREAD_SETNAME_NP
+ret = AVERROR(pthread_setname_np(pthread_self(), name));
+#elif HAVE_PTHREAD_SET_NAME_NP
+pthread_set_name_np(pthread_self(), name);
+#else
+ret = AVERROR(ENOSYS);
  #endif
  
-return AVERROR(ENOSYS);

+return ret;
  }
  
  #endif /* AVUTIL_THREAD_H */



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 v2 2/2] doc/ffmpeg: update the documentation about vaapi device creation

2024-01-15 Thread Xiang, Haihao
On Sa, 2024-01-06 at 11:54 +0100, Stefano Sabatini wrote:
> On date Friday 2024-01-05 10:33:52 +0800, Xiang, Haihao wrote:
> > From: Haihao Xiang 
> > 
> > Signed-off-by: Haihao Xiang 
> > ---
> >  doc/ffmpeg.texi | 23 +++
> >  1 file changed, 23 insertions(+)
> > 
> > diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> > index f095f402bd..8fb165c5df 100644
> > --- a/doc/ffmpeg.texi
> > +++ b/doc/ffmpeg.texi
> > @@ -1385,6 +1385,29 @@ If not specified, it will attempt to open the default
> > X11 display (@emph{$DISPLA
> >  and then the first DRM render node (@emph{/dev/dri/renderD128}), or the
> > default
> >  DirectX adapter on Windows.
> >  
> > +The following options are recognized:
> > +@table @option
> > +@item kernel_driver
> > +When @var{device} is not specified, use this option to specify the name of
> > the kernel
> 
> > +driver associated with the desired device. This option is only available
> > when
> > +@emph{libdrm} works on Linux.
> 
> Optional: might be good to specify a method to verify this condition.
> 
> > +@end table
> > +
> > +Examples:
> > +@table @emph
> > +@item -init_hw_device vaapi
> > +Create a vaapi device on the default device
> 
> missing final dot here and below
> 
> > +
> > +@item -init_hw_device vaapi:/dev/dri/renderD129
> > +Create a vaapi device on DRM render node /dev/dri/renderD129
> > +
> > +@item -init_hw_device vaapi:1
> > +Create a vaapi device on DirectX adapter 1
> > +
> > +@item -init_hw_device vaapi:,kernel_driver=i915
> > +Create a vaapi device on a device associated with kernel driver @samp{i915}
> > +@end table
> > +
> 
> Looks good otherwise (but again, since hwaccels are probably
> independent from ffmpeg they should be probably moved to a dedicated
> manual).
> 

Thanks for your comment, I updated this patch in v3
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-January/319689.html 

BRs
Haihao

___
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] doc/ffmpeg: update the documentation about qsv device creation

2024-01-15 Thread Xiang, Haihao
On Sa, 2024-01-06 at 11:51 +0100, Stefano Sabatini wrote:
> On date Friday 2024-01-05 10:33:51 +0800, Xiang, Haihao wrote:
> > From: Haihao Xiang 
> > 
> > Signed-off-by: Haihao Xiang 
> > ---
> >  doc/ffmpeg.texi | 26 --
> >  1 file changed, 24 insertions(+), 2 deletions(-)
> > 
> > diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> > index 7246a46d2f..f095f402bd 100644
> > --- a/doc/ffmpeg.texi
> > +++ b/doc/ffmpeg.texi
> > @@ -1406,16 +1406,38 @@ If not specified, @samp{auto_any} is used.
> >  platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or
> > @samp{vaapi}) and then deriving a
> >  QSV device from that.)
> >  
> > -Alternatively, @samp{child_device_type} helps to choose platform-
> > appropriate subdevice type.
> > -On Windows @samp{d3d11va} is used as default subdevice type.
> > +The following options are recognized:
> > +@table @option
> 
> > +@item child_device
> > +Specify a DRM render node on Linux or DirectX adapter on Windows
> 
> missing dot at the end of complete sentence, here and below
> 
> > +@item child_device_type
> > +Choose platform-appropriate subdevice type. On Windows @samp{d3d11va} is
> > used
> > +as default subdevice type.
> 
> Is this needed for non-Windows platforms?
> 
> > +@end table
> >  
> >  Examples:
> >  @table @emph
> > +@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
> 
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node
> > /dev/dri/renderD129
> 
> You can quote the device with @file{/dev/dri/renderD129}.
> 
> > +
> > +@item -init_hw_device qsv:hw,child_device=1
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1. The
> > subdevice
> > +type is @samp{d3d11va} if @code{--enable-libvpl} is specified at
> > configuration time, the
> > +subdevice type is @samp{dxva2} if @code{--enable-libmfx} is specified at
> > configuration time.
> > +
> >  @item -init_hw_device qsv:hw,child_device_type=d3d11va
> >  Choose the GPU subdevice with type @samp{d3d11va} and create QSV device
> > with @samp{MFX_IMPL_HARDWARE}.
> >  
> >  @item -init_hw_device qsv:hw,child_device_type=dxva2
> >  Choose the GPU subdevice with type @samp{dxva2} and create QSV device with
> > @samp{MFX_IMPL_HARDWARE}.
> > +
> > +@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
> > +Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1 with
> > subdevice type @samp{d3d11va}
> > +
> > +@item -init_hw_device vaapi=va:/dev/dri/renderD129 -init_hw_device
> > qsv=hw1@va
> > +Create a VAAPI device called @samp{va} on /dev/dri/renderD129, then derive
> > a QSV device called @samp{hw1}
> > +from device @samp{va}
> 
> Looks good otherwise.
> 
> BTW, do you know why all hwaccels are not documented in a dedicated
> file (hwaccels.texi or something)?

Thanks for your comment, I updated the patch in v3
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-January/319688.html  .

BTW I don't know why there isn't a dedicated file for hwaccels. 

Thanks
Haihao

___
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 2/2] doc/ffmpeg: update the documentation about vaapi device creation

2024-01-15 Thread Xiang, Haihao
From: Haihao Xiang 

Signed-off-by: Haihao Xiang 
---
 doc/ffmpeg.texi | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index d086d2e554..bfb3772654 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1385,6 +1385,29 @@ If not specified, it will attempt to open the default 
X11 display (@emph{$DISPLA
 and then the first DRM render node (@emph{/dev/dri/renderD128}), or the default
 DirectX adapter on Windows.
 
+The following options are recognized:
+@table @option
+@item kernel_driver
+When @var{device} is not specified, use this option to specify the name of the 
kernel
+driver associated with the desired device. This option is available only when
+the hardware acceleration method @emph{drm} and @emph{vaapi} are enabled.
+@end table
+
+Examples:
+@table @emph
+@item -init_hw_device vaapi
+Create a vaapi device on the default device.
+
+@item -init_hw_device vaapi:/dev/dri/renderD129
+Create a vaapi device on DRM render node @file{/dev/dri/renderD129}.
+
+@item -init_hw_device vaapi:1
+Create a vaapi device on DirectX adapter 1.
+
+@item -init_hw_device vaapi:,kernel_driver=i915
+Create a vaapi device on a device associated with kernel driver @samp{i915}.
+@end table
+
 @item vdpau
 @var{device} is an X11 display name.
 If not specified, it will attempt to open the default X11 display 
(@emph{$DISPLAY}).
-- 
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 v3 1/2] doc/ffmpeg: update the documentation about qsv device creation

2024-01-15 Thread Xiang, Haihao
From: Haihao Xiang 

Signed-off-by: Haihao Xiang 
---
 doc/ffmpeg.texi | 26 --
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index 7246a46d2f..d086d2e554 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1406,16 +1406,38 @@ If not specified, @samp{auto_any} is used.
 platform-appropriate subdevice (@samp{dxva2} or @samp{d3d11va} or 
@samp{vaapi}) and then deriving a
 QSV device from that.)
 
-Alternatively, @samp{child_device_type} helps to choose platform-appropriate 
subdevice type.
-On Windows @samp{d3d11va} is used as default subdevice type.
+The following options are recognized:
+@table @option
+@item child_device
+Specify a DRM render node on Linux or DirectX adapter on Windows.
+@item child_device_type
+Choose platform-appropriate subdevice type. On Windows @samp{d3d11va} is used
+as default subdevice type when @code{--enable-libvpl} is specified at 
configuration time,
+@samp{dxva2} is used as default subdevice type when @code{--enable-libmfx} is 
specified at
+configuration time. On Linux user can use @samp{vaapi} only as subdevice type.
+@end table
 
 Examples:
 @table @emph
+@item -init_hw_device qsv:hw,child_device=/dev/dri/renderD129
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DRM render node 
@file{/dev/dri/renderD129}.
+
+@item -init_hw_device qsv:hw,child_device=1
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1.
+
 @item -init_hw_device qsv:hw,child_device_type=d3d11va
 Choose the GPU subdevice with type @samp{d3d11va} and create QSV device with 
@samp{MFX_IMPL_HARDWARE}.
 
 @item -init_hw_device qsv:hw,child_device_type=dxva2
 Choose the GPU subdevice with type @samp{dxva2} and create QSV device with 
@samp{MFX_IMPL_HARDWARE}.
+
+@item -init_hw_device qsv:hw,child_device=1,child_device_type=d3d11va
+Create a QSV device with @samp{MFX_IMPL_HARDWARE} on DirectX adapter 1 with 
subdevice type @samp{d3d11va}.
+
+@item -init_hw_device vaapi=va:/dev/dri/renderD129 -init_hw_device 
qsv=hw1@@@var{va}
+Create a VAAPI device called @samp{va} on @file{/dev/dri/renderD129}, then 
derive a QSV device called @samp{hw1}
+from device @samp{va}.
+
 @end table
 
 @item opencl
-- 
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] avformat: move internal stream related functions and structs to a separate header

2024-01-15 Thread James Almer
Signed-off-by: James Almer 
---
 libavformat/Makefile  |   1 +
 libavformat/avformat.c| 171 
 libavformat/demux.h   |  29 ---
 libavformat/internal.h| 319 +---
 libavformat/stream.c  | 196 ++
 libavformat/stream_internal.h | 376 ++
 6 files changed, 574 insertions(+), 518 deletions(-)
 create mode 100644 libavformat/stream.c
 create mode 100644 libavformat/stream_internal.h

diff --git a/libavformat/Makefile b/libavformat/Makefile
index dcc99eeac4..6dd9b10e6b 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -27,6 +27,7 @@ OBJS = allformats.o \
riff.o   \
sdp.o\
seek.o   \
+   stream.o \
url.o\
utils.o  \
version.o\
diff --git a/libavformat/avformat.c b/libavformat/avformat.c
index 882927f7b1..596d1dfb92 100644
--- a/libavformat/avformat.c
+++ b/libavformat/avformat.c
@@ -24,7 +24,6 @@
 #include "libavutil/avstring.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/frame.h"
-#include "libavutil/iamf.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mem.h"
 #include "libavutil/opt.h"
@@ -32,89 +31,13 @@
 #include "libavutil/samplefmt.h"
 #include "libavcodec/avcodec.h"
 #include "libavcodec/codec.h"
-#include "libavcodec/bsf.h"
 #include "libavcodec/codec_desc.h"
-#include "libavcodec/packet_internal.h"
 #include "avformat.h"
 #include "avio.h"
 #include "demux.h"
 #include "mux.h"
 #include "internal.h"
 
-void ff_free_stream(AVStream **pst)
-{
-AVStream *st = *pst;
-FFStream *const sti = ffstream(st);
-
-if (!st)
-return;
-
-#if FF_API_AVSTREAM_SIDE_DATA
-FF_DISABLE_DEPRECATION_WARNINGS
-for (int i = 0; i < st->nb_side_data; i++)
-av_freep(>side_data[i].data);
-av_freep(>side_data);
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
-
-if (st->attached_pic.data)
-av_packet_unref(>attached_pic);
-
-av_parser_close(sti->parser);
-avcodec_free_context(>avctx);
-av_bsf_free(>bsfc);
-av_freep(>priv_pts);
-av_freep(>index_entries);
-av_freep(>probe_data.buf);
-
-av_bsf_free(>extract_extradata.bsf);
-
-if (sti->info) {
-av_freep(>info->duration_error);
-av_freep(>info);
-}
-
-av_dict_free(>metadata);
-avcodec_parameters_free(>codecpar);
-av_freep(>priv_data);
-
-av_freep(pst);
-}
-
-void ff_free_stream_group(AVStreamGroup **pstg)
-{
-AVStreamGroup *stg = *pstg;
-
-if (!stg)
-return;
-
-av_freep(>streams);
-av_dict_free(>metadata);
-av_freep(>priv_data);
-switch (stg->type) {
-case AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: {
-av_iamf_audio_element_free(>params.iamf_audio_element);
-break;
-}
-case AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION: {
-av_iamf_mix_presentation_free(>params.iamf_mix_presentation);
-break;
-}
-default:
-break;
-}
-
-av_freep(pstg);
-}
-
-void ff_remove_stream(AVFormatContext *s, AVStream *st)
-{
-av_assert0(s->nb_streams>0);
-av_assert0(s->streams[ s->nb_streams - 1 ] == st);
-
-ff_free_stream(>streams[ --s->nb_streams ]);
-}
-
 /* XXX: suppress the packet queue */
 void ff_flush_packet_queue(AVFormatContext *s)
 {
@@ -247,68 +170,6 @@ uint8_t *av_stream_new_side_data(AVStream *st, enum 
AVPacketSideDataType type,
 FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 
-/**
- * Copy all stream parameters from source to destination stream, with the
- * exception of the index field, which is usually set by avformat_new_stream().
- *
- * @param dst pointer to destination AVStream
- * @param src pointer to source AVStream
- * @return >=0 on success, AVERROR code on error
- */
-static int stream_params_copy(AVStream *dst, const AVStream *src)
-{
-int ret;
-
-dst->id  = src->id;
-dst->time_base   = src->time_base;
-dst->start_time  = src->start_time;
-dst->duration= src->duration;
-dst->nb_frames   = src->nb_frames;
-dst->disposition = src->disposition;
-dst->discard = src->discard;
-dst->sample_aspect_ratio = src->sample_aspect_ratio;
-dst->avg_frame_rate  = src->avg_frame_rate;
-dst->event_flags = src->event_flags;
-dst->r_frame_rate= src->r_frame_rate;
-dst->pts_wrap_bits   = src->pts_wrap_bits;
-
-av_dict_free(>metadata);
-ret = av_dict_copy(>metadata, src->metadata, 0);
-if (ret < 0)
-return ret;
-
-ret = avcodec_parameters_copy(dst->codecpar, src->codecpar);
-if (ret < 0)
-return ret;
-
-av_packet_unref(>attached_pic);
-if (src->attached_pic.data) {
-ret = av_packet_ref(>attached_pic, >attached_pic);
-if (ret < 0)
-return ret;
-}
-
-return 0;
-}
-

Re: [FFmpeg-devel] [PATCH] avutil/eval: Use even better PRNG

2024-01-15 Thread Michael Niedermayer
On Sun, Jan 14, 2024 at 03:14:23PM +0100, Stefano Sabatini wrote:
> On date Saturday 2024-01-13 04:51:06 +0100, Michael Niedermayer wrote:
> > This is the 64bit version of Chris Doty-Humphreys SFC64
> > 
> > Compared to the LCGs these produce much better quality numbers.
> > Compared to LFGs this needs less state. (our LFG has 224 byte
> > state for its 32bit version) this has 32byte state
> > Also the initialization for our LFG is slower.
> > This is also much faster than KISS or PCG.
> > 
> > This commit replaces the broken LCG used before.
> > (broken as it had only a period ~200M due to being put in a double)
> > 
> > This changes the output from random() which is why libswresample.mak
> > is updated, update was done using the command in libswresample.mak
> > 
> > Signed-off-by: Michael Niedermayer 
> > ---
> >  libavutil/eval.c |  24 +++-
> >  libavutil/sfc64.h|  85 ++
> >  tests/fate/libswresample.mak | 208 +--
> >  tests/ref/fate/eval  |   2 +-
> >  4 files changed, 210 insertions(+), 109 deletions(-)
> >  create mode 100644 libavutil/sfc64.h
> > 
> > diff --git a/libavutil/eval.c b/libavutil/eval.c
> > index dc6b3697bc2..349015d4fa3 100644
> > --- a/libavutil/eval.c
> > +++ b/libavutil/eval.c
> > @@ -35,6 +35,7 @@
> >  #include "internal.h"
> >  #include "log.h"
> >  #include "mathematics.h"
> > +#include "sfc64.h"
> >  #include "time.h"
> >  #include "avstring.h"
> >  #include "timer.h"
> > @@ -55,6 +56,7 @@ typedef struct Parser {
> >  void *log_ctx;
> >  #define VARS 10
> >  double *var;
> > +FFSFC64 *prng_state;
> >  } Parser;
> >  
> >  static const AVClass eval_class = {
> > @@ -173,6 +175,7 @@ struct AVExpr {
> >  } a;
> >  struct AVExpr *param[3];
> >  double *var;
> > +FFSFC64 *prng_state;
> >  };
> >  
> >  static double etime(double v)
> > @@ -231,8 +234,14 @@ static double eval_expr(Parser *p, AVExpr *e)
> >  
> >  #define COMPUTE_NEXT_RANDOM()\
> >  int idx = av_clip(eval_expr(p, e->param[0]), 0, VARS-1); \
> > -uint64_t r = isnan(p->var[idx]) ? 0 : p->var[idx];   \
> > -r = r * 1664525 + 1013904223;\
> > +FFSFC64 *s = p->prng_state + idx;\
> > +uint64_t r;  \
> > + \
> > +if (!s->counter) {   \
> > +r = isnan(p->var[idx]) ? 0 : p->var[idx];\
> > +ff_sfc64_init(s, r, r, r, 12);   \
> > +}\
> > +r = ff_sfc64_get(s); \
> >  p->var[idx] = r; \
> >  
> >  case e_random: {
> > @@ -329,7 +338,11 @@ static double eval_expr(Parser *p, AVExpr *e)
> >  case e_div: return e->value * (d2 ? (d / d2) : d * 
> > INFINITY);
> >  case e_add: return e->value * (d + d2);
> >  case e_last:return e->value * d2;
> > -case e_st : return e->value * (p->var[av_clip(d, 0, 
> > VARS-1)]= d2);
> > +case e_st :  {
> > +int index = av_clip(d, 0, VARS-1);
> > +p->prng_state[index].counter = 0;
> > +return e->value * (p->var[index]= d2);
> > +}
> >  case e_hypot:return e->value * hypot(d, d2);
> >  case e_atan2:return e->value * atan2(d, d2);
> >  case e_bitand: return isnan(d) || isnan(d2) ? NAN : 
> > e->value * ((long int)d & (long int)d2);
> > @@ -349,6 +362,7 @@ void av_expr_free(AVExpr *e)
> >  av_expr_free(e->param[1]);
> >  av_expr_free(e->param[2]);
> >  av_freep(>var);
> > +av_freep(>prng_state);
> >  av_freep();
> >  }
> >  
> > @@ -736,7 +750,8 @@ int av_expr_parse(AVExpr **expr, const char *s,
> >  goto end;
> >  }
> >  e->var= av_mallocz(sizeof(double) *VARS);
> > -if (!e->var) {
> > +e->prng_state = av_mallocz(sizeof(*e->prng_state) *VARS);
> > +if (!e->var || !e->prng_state) {
> >  ret = AVERROR(ENOMEM);
> >  goto end;
> >  }
> > @@ -778,6 +793,7 @@ double av_expr_eval(AVExpr *e, const double 
> > *const_values, void *opaque)
> >  {
> >  Parser p = { 0 };
> >  p.var= e->var;
> > +p.prng_state= e->prng_state;
> >  
> >  p.const_values = const_values;
> >  p.opaque = opaque;
> > diff --git a/libavutil/sfc64.h b/libavutil/sfc64.h
> > new file mode 100644
> > index 000..05f1e84cc68
> > --- /dev/null
> > +++ b/libavutil/sfc64.h
> > @@ -0,0 +1,85 @@
> > +/*
> > + * Copyright (c) 2024 Michael Niedermayer 
> > + *
> > + * This file is part of FFmpeg.
> > + *
> > 

Re: [FFmpeg-devel] [PATCH v2 2/2] avformat/rtsp: Send mode=record instead of mode=receive in Transport header

2024-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2024 at 10:37:25PM +0200, Paul Orlyk wrote:
> Fixes server compatibility issues with rtspclientsink GStreamer plugin.
> 
> > From specification:
> RFC 7826 "Real-Time Streaming Protocol Version 2.0" 
> (https://datatracker.ietf.org/doc/html/rfc7826), section 18.54:
>mode: The mode parameter indicates the methods to be supported for
>  this session.  The currently defined valid value is "PLAY".  If
>  not provided, the default is "PLAY".  The "RECORD" value was
>  defined in RFC 2326; in this specification, it is unspecified
>  but reserved.  RECORD and other values may be specified in the
>  future.
> RFC 2326 "Real Time Streaming Protocol (RTSP)" 
> (https://datatracker.ietf.org/doc/html/rfc2326), section 12.39:
>mode:
>   The mode parameter indicates the methods to be supported for
>   this session. Valid values are PLAY and RECORD. If not
>   provided, the default is PLAY.
> 
> mode=receive was always like this, from the initial commit 'a8ad6ffa rtsp: 
> Add listen mode'.
> 
> For comparison, Wowza was used to push RTSP stream to. Both GStreamer and 
> FFmpeg had no issues.
> Here is the capture of Wowza responding to SETUP request:
> 200 OK
> CSeq: 3
> Server: Wowza Streaming Engine 4.8.26+4 build20231212155517
> Cache-Control: no-cache
> Expires: Mon, 15 Jan 2024 19:40:31 GMT
> Transport: 
> RTP/AVP/UDP;unicast;client_port=11640-11641;mode=record;source=172.17.0.2;server_port=6976-6977
> Date: Mon, 15 Jan 2024 19:40:31 GMT
> Session: 1401457689;timeout=60
> 
> Test setup:
> Server: ffmpeg -loglevel trace -y -rtsp_flags listen -i 
> rtsp://0.0.0.0:30800/live.stream t.mp4
> FFmpeg client: ffmpeg -re -i "Big Buck Bunny - FULL HD 30FPS.mp4" -c:v 
> libx264 -f rtsp rtsp://127.0.0.1:30800/live.stream
> GStreamer client: gst-launch-1.0 videotestsrc is-live=true pattern=smpte 
> ! queue ! videorate ! videoscale ! 
> video/x-raw,width=640,height=360,framerate=60/1 ! timeoverlay 
> font-desc="Sans, 84" halignment=center valignment=center ! queue ! 
> videoconvert ! tee name=t t. ! x264enc bitrate=9000 pass=cbr 
> speed-preset=ultrafast byte-stream=false key-int-max=15 threads=1 ! 
> video/x-h264,profile=baseline ! queue ! rsink. audiotestsrc ! voaacenc ! 
> queue ! rsink. t. ! queue ! autovideosink rtspclientsink name=rsink 
> location=rtsp://localhost:30800/live.stream
> 
> Test results:
> modified FFmpeg client -> stock server: ok
> stock FFmpeg client-> modified server : ok
> modified FFmpeg client -> modified server : ok
> GStreamer client   -> modified server : ok
> 
> Signed-off-by: Paul Orlyk 
> ---
>  libavformat/rtspdec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Thats a nice commit message
will apply

thx

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

Whats the most studid thing your enemy could do ? Blow himself up
Whats the most studid thing you could do ? Give up your rights and
freedom because your enemy blew himself up.



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] doc/utils: fix atan2 parameter order

2024-01-15 Thread Stefano Sabatini
On date Sunday 2024-01-14 19:40:48 +, ffmpeg-devel Mailing List wrote:
> The C library function double atan2(double y, double x) takes y as the first
> parameter and x as the second parameter.
> 
> Signed-off-by: Haixia Shi 
> ---
>  doc/utils.texi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/doc/utils.texi b/doc/utils.texi
> index 0c4f146f4f..76e704fc3c 100644
> --- a/doc/utils.texi
> +++ b/doc/utils.texi
> @@ -815,7 +815,7 @@ Compute arcsine of @var{x}.
>  @item atan(x)
>  Compute arctangent of @var{x}.
> 
> -@item atan2(x, y)
> +@item atan2(y, x)
>  Compute principal value of the arc tangent of @var{y}/@var{x}.

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

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


Re: [FFmpeg-devel] [PATCH v2 1/2] avformat/rtsp: Support mode field of Transport header being sent in upper case

2024-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2024 at 10:37:09PM +0200, Paul Orlyk wrote:
> Fixes server compatibility issues with rtspclientsink GStreamer plugin
> 
> Signed-off-by: Paul Orlyk 
> ---
>  libavformat/rtsp.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

will apply

thx

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

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 


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 v2] avutil/pixfmt: fix AV_PIX_FMT_RGB8 description

2024-01-15 Thread Michael Niedermayer
On Sun, Jan 14, 2024 at 09:58:52PM +0100, Diederick C. Niehorster wrote:
> On Sun, Jan 14, 2024 at 4:15 PM Jeffrey Knockel  
> wrote:
> >
> > Previously AV_PIX_FMT_RGB8 was documented as "RGB 3:3:2,
> > (msb)2R 3G 3B(lsb)".  While the RGB 3:3:2 part is correct, the latter
> > part should be: (msb)3R 3G 2B(lsb).  This commit also updates the
> > format's pixdesc description to be (msb)3R 3G 2B(lsb).
> >
> > Signed-off-by: Jeffrey Knockel 
> > ---
> >  libavutil/pixdesc.c | 6 +++---
> >  libavutil/pixfmt.h  | 2 +-
> >  2 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> > index 0db4167934..f6d4d01460 100644
> > --- a/libavutil/pixdesc.c
> > +++ b/libavutil/pixdesc.c
> > @@ -530,9 +530,9 @@ static const AVPixFmtDescriptor 
> > av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
> >  .log2_chroma_w = 0,
> >  .log2_chroma_h = 0,
> >  .comp = {
> > -{ 0, 1, 0, 6, 2 },/* R */
> > -{ 0, 1, 0, 3, 3 },/* G */
> > -{ 0, 1, 0, 0, 3 },/* B */
> > +{ 0, 1, 0, 5, 3 },/* R */
> > +{ 0, 1, 0, 2, 3 },/* G */
> > +{ 0, 1, 0, 0, 2 },/* B */
> >  },
> >  .flags = AV_PIX_FMT_FLAG_RGB,
> >  },
> > diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> > index 58f9ad28bd..9c87571f49 100644
> > --- a/libavutil/pixfmt.h
> > +++ b/libavutil/pixfmt.h
> > @@ -83,7 +83,7 @@ enum AVPixelFormat {
> >  AV_PIX_FMT_BGR8,  ///< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
> >  AV_PIX_FMT_BGR4,  ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1B 
> > 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the 
> > one composed by the 4 msb bits
> >  AV_PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
> > -AV_PIX_FMT_RGB8,  ///< packed RGB 3:3:2,  8bpp, (msb)2R 3G 3B(lsb)
> > +AV_PIX_FMT_RGB8,  ///< packed RGB 3:3:2,  8bpp, (msb)3R 3G 2B(lsb)
> >  AV_PIX_FMT_RGB4,  ///< packed RGB 1:2:1 bitstream,  4bpp, (msb)1R 
> > 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the 
> > one composed by the 4 msb bits
> >  AV_PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)
> >  AV_PIX_FMT_NV12,  ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 
> > 1 plane for the UV components, which are interleaved (first byte U and the 
> > following byte V)
> > --
> > 2.34.1
> 
> LGTM.
> Tested. Without this patch, the output of avutil av_read_image_line2()
> is all wrong, with it applied it is correct.

will apply

thx

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

Opposition brings concord. Out of discord comes the fairest harmony.
-- Heraclitus


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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Lynne
Jan 15, 2024, 19:51 by kier...@obe.tv:

>>
>> If you think it's reasonable, you shouldn't block it.
>> If you have conditions, you should concisely state them.
>> If you think this is entirely unreasonable and falls outside of the scope
>> of
>> the project's donation funds, then I would expect you to apply the
>> same pragmatic standards when it comes to future refund requests,
>> be it personal choices such as parking and travel expenses.
>>
>
> Your laptop choice is one of the most expensive in the market and likely
> much more expensive than the laptop the majority of developers use.
> Buy an 11th Gen Intel NUC and a cheap laptop and access it remotely.
>

Would you accept jamrial's proposal? It's around a thousand EUR,
and it's essentially got the features of both.


> By your own analogy you want SPI to pay for your First Class ticket from
> London to New York when there are cheaper alternatives.
>

A ticket doesn't have durability.
___
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] fftools/opt_common: show if muxer is device

2024-01-15 Thread Stefano Sabatini
---
 fftools/opt_common.c | 28 +---
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/fftools/opt_common.c b/fftools/opt_common.c
index f5b73c9f2f..e263a5297e 100644
--- a/fftools/opt_common.c
+++ b/fftools/opt_common.c
@@ -853,14 +853,23 @@ static int show_formats_devices(void *optctx, const char 
*opt, const char *arg,
 const char *last_name;
 int is_dev;
 
-printf("%s\n"
-   " D. = Demuxing supported\n"
-   " .E = Muxing supported\n"
-   " --\n", device_only ? "Devices:" : "File formats:");
+if (device_only) {
+printf("Devices:\n"
+   " D. = Demuxing supported\n"
+   " .E = Muxing supported\n"
+   " --\n");
+} else {
+printf("Formats:\n"
+   " D.. = Demuxing supported\n"
+   " .E. = Muxing supported\n"
+   " ..d = Is a device\n"
+   " ---\n");
+}
 last_name = "000";
 for (;;) {
 int decode = 0;
 int encode = 0;
+int device = 0;
 const char *name  = NULL;
 const char *long_name = NULL;
 
@@ -875,6 +884,7 @@ static int show_formats_devices(void *optctx, const char 
*opt, const char *arg,
 name  = ofmt->name;
 long_name = ofmt->long_name;
 encode= 1;
+device= is_dev;
 }
 }
 }
@@ -889,20 +899,24 @@ static int show_formats_devices(void *optctx, const char 
*opt, const char *arg,
 name  = ifmt->name;
 long_name = ifmt->long_name;
 encode= 0;
+device= is_dev;
 }
-if (name && strcmp(ifmt->name, name) == 0)
+if (name && strcmp(ifmt->name, name) == 0) {
 decode = 1;
+device = is_dev;
+}
 }
 }
 if (!name)
 break;
 last_name = name;
 
-printf(" %c%c %-15s %s\n",
+printf(" %c%c%s %-15s %s\n",
decode ? 'D' : ' ',
encode ? 'E' : ' ',
+   device_only ? "" : (device ? "d" : " "),
name,
-long_name ? long_name:" ");
+long_name ? long_name : " ");
 }
 return 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 3/3] doc/muxers/chromaprint: review and extend

2024-01-15 Thread Stefano Sabatini
In particular, apply formatting and consistency fixes and sort options
by name.
---
 doc/muxers.texi | 45 -
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index eadcba690c..5e4ee40db4 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -889,41 +889,44 @@ It accepts a single codec2 audio stream.
 
 @anchor{chromaprint}
 @section chromaprint
+Chromaprint fingerprinter muxers.
 
-Chromaprint fingerprinter.
+To enable compilation of this filter you need to configure FFmpeg with
+@code{--enable-chromaprint}.
 
-This muxer feeds audio data to the Chromaprint library,
-which generates a fingerprint for the provided audio data. See 
@url{https://acoustid.org/chromaprint}
+This muxer feeds audio data to the Chromaprint library, which
+generates a fingerprint for the provided audio data. See:
+@url{https://acoustid.org/chromaprint}
 
-It takes a single signed native-endian 16-bit raw audio stream of at most 2 
channels.
+It takes a single signed native-endian 16-bit raw audio stream of at
+most 2 channels.
 
 @subsection Options
-
 @table @option
-@item silence_threshold
-Threshold for detecting silence. Range is from -1 to 32767, where -1 disables
-silence detection. Silence detection can only be used with version 3 of the
-algorithm.
-Silence detection must be disabled for use with the AcoustID service. Default 
is -1.
-
-@item algorithm
-Version of algorithm to fingerprint with. Range is 0 to 4.
-Version 3 enables silence detection. Default is 1.
+@item algorithm @var{version}
+Select version of algorithm to fingerprint with. Range is @code{0} to
+@code{4}. Version @code{3} enables silence detection. Default is @code{1}.
 
-@item fp_format
+@item fp_format @var{format}
 Format to output the fingerprint as. Accepts the following options:
-@table @samp
-@item raw
-Binary raw fingerprint
+@item base64
+Base64 compressed fingerprint @emph{(default)}
 
 @item compressed
 Binary compressed fingerprint
 
-@item base64
-Base64 compressed fingerprint @emph{(default)}
-
+@table @samp
+@item raw
+Binary raw fingerprint
 @end table
 
+@item silence_threshold @var{threshold}
+Threshold for detecting silence. Range is from @code{-1} to
+@code{32767}, where @code{-1} disables silence detection. Silence
+detection can only be used with version @code{3} of the algorithm.
+
+Silence detection must be disabled for use with the AcoustID
+service. Default is @code{-1}.
 @end table
 
 @anchor{crc}
-- 
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 2/3] doc/muxers: add codec2

2024-01-15 Thread Stefano Sabatini
---
 doc/muxers.texi | 5 +
 1 file changed, 5 insertions(+)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index 1bdd7d34d5..eadcba690c 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -882,6 +882,11 @@ Apple CAF (Core Audio Format) muxer.
 
 It accepts a single audio stream.
 
+@section codec2
+Codec2 audio audio muxer.
+
+It accepts a single codec2 audio stream.
+
 @anchor{chromaprint}
 @section chromaprint
 
-- 
2.34.1

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

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


[FFmpeg-devel] [PATCH 1/3] doc/muxers: add caf

2024-01-15 Thread Stefano Sabatini
---
 doc/muxers.texi | 5 +
 1 file changed, 5 insertions(+)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index e91a4f8e45..1bdd7d34d5 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -877,6 +877,11 @@ G.729 (.bit) file format muxer.
 
 It accepts a single G.729 audio stream.
 
+@section caf
+Apple CAF (Core Audio Format) muxer.
+
+It accepts a single audio stream.
+
 @anchor{chromaprint}
 @section chromaprint
 
-- 
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] rcwtenc: add sub-rcwt fate test ref

2024-01-15 Thread Marth64
Looks like someone has pushed a simplified version of this patch, this is
not needed anymore. Thanks.

On Sun, Jan 14, 2024 at 11:20 PM Marth64  wrote:

> Great, thank you for the confirmation.
>
> On Sun, Jan 14, 2024 at 11:06 PM Xiang, Haihao 
> wrote:
>
>> On So, 2024-01-14 at 22:38 -0600, Marth64 wrote:
>> > Resolves the issue. Patch generated with git format-patch and validated
>> to
>> > apply.
>> > I reget any inconvenience this may have caused. Respectfully,
>> >
>> > Signed-off-by: Marth64 
>> > ---
>> >  tests/ref/fate/sub-rcwt | 1 +
>> >  1 file changed, 1 insertion(+)
>> >  create mode 100644 tests/ref/fate/sub-rcwt
>> >
>> > diff --git a/tests/ref/fate/sub-rcwt b/tests/ref/fate/sub-rcwt
>> > new file mode 100644
>> > index 00..722cbe1c5b
>> > --- /dev/null
>> > +++ b/tests/ref/fate/sub-rcwt
>> > @@ -0,0 +1 @@
>> > +d86f179094a5752d68aa97d82cf887b0
>>
>> Thanks for your quick fix, it works well for me.
>>
>> BRs
>> Haihao
>>
>>
___
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 v3] ffmpeg CLI multithreading

2024-01-15 Thread Marth64
Hello, I wanted to call out 2 issues that I think are bugs from this, and
that I was able to trace to the exact commit.

*#1: Concat filter issues: *A user from IRC support reported it, and I was
able to successfully reproduce it.
When using concat filter on multiple inputs alongside -ss (same file or
different file), it doesn't work correctly: output EOF after the first
segment.
https://trac.ffmpeg.org/ticket/10803

*#2 Wrong duration reported muxing graphical subtitles: *After
re-architecture, ffmpeg CLI is printing incorrect output time and/or N/A
after a job when muxing video with graphical subtitles (have reproduced
with DVD and DVB). Issue is exaggerated with subtitle streams that have
long gap like forced subs.
https://trac.ffmpeg.org/ticket/10792

Thank you for your time and this improvement.
Respectfully,


On Mon, Dec 11, 2023 at 3:06 AM Anton Khirnov  wrote:

> both should now be fixed in my tree
>
> --
> Anton Khirnov
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
>
___
ffmpeg-devel 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/4] avcodec/mdec: DC reading for STRv1 is like STRv2

2024-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2024 at 04:14:46PM +, aybe aybe wrote:
> Hi!
> 
> I just tried what you've suggested, using 150 and setting AVPacket->pts using 
> sector MSF as LBA.
> 
> The results are somewhat mixed:

> - NTSC video: A/V synchronized but is now seen as 120 FPS by VLC
> - PAL video: A/V not synchronized anymore but still seen as 25 FPS by VLC

can you send the patch for this plus links to one sample for both cases ?

id like to take a look

thx

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

The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates


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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2024 at 06:50:37PM +, Kieran Kunhya wrote:
> >
> > If you think it's reasonable, you shouldn't block it.
> > If you have conditions, you should concisely state them.
> > If you think this is entirely unreasonable and falls outside of the scope
> > of
> > the project's donation funds, then I would expect you to apply the
> > same pragmatic standards when it comes to future refund requests,
> > be it personal choices such as parking and travel expenses.
> >
> 
> Your laptop choice is one of the most expensive in the market and likely
> much more expensive than the laptop the majority of developers use.
> Buy an 11th Gen Intel NUC and a cheap laptop and access it remotely.
> 
> By your own analogy you want SPI to pay for your First Class ticket from
> London to New York when there are cheaper alternatives.

I think Lynnes first choice was a ASUS vivo book

what about this one ?

https://geizhals.eu/asus-vivobook-14-f415ea-eb269-slate-grey-90nb0tt2-m03310-a2557528.html?hloc=at=de

Its a small 14inch ASUS vivo book with 11th gen Intel, non glare IPS screen for 
349€
it has only 8gb which is non upgtadeable the disk iam sure can be upgraded if 
needed

or if you want a bigger notebook with upgradability to at least 16gb
check these
https://geizhals.de/?cmp=3061202=3025372=3009388=2894111=3083934=3027428=3081782=2986117=0
all below 500€
intel 11th gen or later, IPS screens

Thx

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

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle


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 2/2] avformat/rtsp: Send mode=record instead of mode=receive in Transport header

2024-01-15 Thread Paul Orlyk

Fixes server compatibility issues with rtspclientsink GStreamer plugin.


From specification:

RFC 7826 "Real-Time Streaming Protocol Version 2.0" 
(https://datatracker.ietf.org/doc/html/rfc7826), section 18.54:
   mode: The mode parameter indicates the methods to be supported for
 this session.  The currently defined valid value is "PLAY".  If
 not provided, the default is "PLAY".  The "RECORD" value was
 defined in RFC 2326; in this specification, it is unspecified
 but reserved.  RECORD and other values may be specified in the
 future.
RFC 2326 "Real Time Streaming Protocol (RTSP)" 
(https://datatracker.ietf.org/doc/html/rfc2326), section 12.39:
   mode:
  The mode parameter indicates the methods to be supported for
  this session. Valid values are PLAY and RECORD. If not
  provided, the default is PLAY.

mode=receive was always like this, from the initial commit 'a8ad6ffa rtsp: Add 
listen mode'.

For comparison, Wowza was used to push RTSP stream to. Both GStreamer and 
FFmpeg had no issues.
Here is the capture of Wowza responding to SETUP request:
200 OK
CSeq: 3
Server: Wowza Streaming Engine 4.8.26+4 build20231212155517
Cache-Control: no-cache
Expires: Mon, 15 Jan 2024 19:40:31 GMT
Transport: 
RTP/AVP/UDP;unicast;client_port=11640-11641;mode=record;source=172.17.0.2;server_port=6976-6977
Date: Mon, 15 Jan 2024 19:40:31 GMT
Session: 1401457689;timeout=60

Test setup:
Server: ffmpeg -loglevel trace -y -rtsp_flags listen -i 
rtsp://0.0.0.0:30800/live.stream t.mp4
FFmpeg client: ffmpeg -re -i "Big Buck Bunny - FULL HD 30FPS.mp4" -c:v 
libx264 -f rtsp rtsp://127.0.0.1:30800/live.stream
GStreamer client: gst-launch-1.0 videotestsrc is-live=true pattern=smpte ! queue ! 
videorate ! videoscale ! video/x-raw,width=640,height=360,framerate=60/1 ! timeoverlay 
font-desc="Sans, 84" halignment=center valignment=center ! queue ! videoconvert 
! tee name=t t. ! x264enc bitrate=9000 pass=cbr speed-preset=ultrafast byte-stream=false 
key-int-max=15 threads=1 ! video/x-h264,profile=baseline ! queue ! rsink. audiotestsrc ! 
voaacenc ! queue ! rsink. t. ! queue ! autovideosink rtspclientsink name=rsink 
location=rtsp://localhost:30800/live.stream

Test results:
modified FFmpeg client -> stock server: ok
stock FFmpeg client-> modified server : ok
modified FFmpeg client -> modified server : ok
GStreamer client   -> modified server : ok

Signed-off-by: Paul Orlyk 
---
 libavformat/rtspdec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index 39fd92fb66..d6a223cbc6 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -303,7 +303,7 @@ static int rtsp_read_setup(AVFormatContext *s, char* host, 
char *controlurl)
 rtsp_st->interleaved_min = request.transports[0].interleaved_min;
 rtsp_st->interleaved_max = request.transports[0].interleaved_max;
 snprintf(responseheaders, sizeof(responseheaders), "Transport: "
- "RTP/AVP/TCP;unicast;mode=receive;interleaved=%d-%d"
+ "RTP/AVP/TCP;unicast;mode=record;interleaved=%d-%d"
  "\r\n", request.transports[0].interleaved_min,
  request.transports[0].interleaved_max);
 } else {
@@ -333,7 +333,7 @@ static int rtsp_read_setup(AVFormatContext *s, char* host, 
char *controlurl)
 
 localport = ff_rtp_get_local_rtp_port(rtsp_st->rtp_handle);

 snprintf(responseheaders, sizeof(responseheaders), "Transport: "
- "RTP/AVP/UDP;unicast;mode=receive;source=%s;"
+ "RTP/AVP/UDP;unicast;mode=record;source=%s;"
  "client_port=%d-%d;server_port=%d-%d\r\n",
  host, request.transports[0].client_port_min,
  request.transports[0].client_port_max, localport,
--
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 v2 1/2] avformat/rtsp: Support mode field of Transport header being sent in upper case

2024-01-15 Thread Paul Orlyk

Fixes server compatibility issues with rtspclientsink GStreamer plugin

Signed-off-by: Paul Orlyk 
---
 libavformat/rtsp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 583f5338e8..61e24a5c7a 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1012,8 +1012,8 @@ static void rtsp_parse_transport(AVFormatContext *s,
 if (*p == '=') {
 p++;
 get_word_sep(buf, sizeof(buf), ";, ", );
-if (!strcmp(buf, "record") ||
-!strcmp(buf, "receive"))
+if (!av_strcasecmp(buf, "record") ||
+!av_strcasecmp(buf, "receive"))
 th->mode_record = 1;
 }
 }
--
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".


Re: [FFmpeg-devel] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Kieran Kunhya
>
> If you think it's reasonable, you shouldn't block it.
> If you have conditions, you should concisely state them.
> If you think this is entirely unreasonable and falls outside of the scope
> of
> the project's donation funds, then I would expect you to apply the
> same pragmatic standards when it comes to future refund requests,
> be it personal choices such as parking and travel expenses.
>

Your laptop choice is one of the most expensive in the market and likely
much more expensive than the laptop the majority of developers use.
Buy an 11th Gen Intel NUC and a cheap laptop and access it remotely.

By your own analogy you want SPI to pay for your First Class ticket from
London to New York when there are cheaper alternatives.

Kieran
___
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Lynne
Jan 15, 2024, 17:02 by r...@remlab.net:

> Le maanantaina 15. tammikuuta 2024, 16.59.40 EET Lynne a écrit :
>
>> I've been pinging this for a week now and he hasn't reiterated
>> his position again or made it clearer.
>>
>
> I think my position was clear. I don't see the point in rereiterating it 
> whilst we are evidently not going to reach an agreement. Besides, you have 
> previously complained that my explanations were unnecessarily long.
>
> But since you bring it up and to sum up, I find completely reasonable for 
> FFmpeg to provision hardware with the feature necessary to test your work, 
> such as AVX-512 and Vulkan video decoding. But:
> 1) You already have been provided such hardware in the form of a desktop 
> computer (and I am told that it was extremely expensive).
> 2) In general it makes more sense to get a desktop than a laptop for that 
> purpose.
>

I do not have AVX-512 capable system, and I iterated my concerns
with using a shared machine in another thread.


> Leaving aside those specific hardware requirements, I think it is completely 
> reasonable for you to have a laptop, as most of us probably do. But I also 
> think that it is not reasonable for the foundation to pay for personal 
> laptops.
>

It's a machine that I will use during travels too, specifically to do FFmpeg
development on.
We're not a foundation either, as far as I know - SPI manages the fund
completely, with only the liaison needing to make a request, provided
there's consensus.

If you think it's reasonable, you shouldn't block it.
If you have conditions, you should concisely state them.
If you think this is entirely unreasonable and falls outside of the scope of
the project's donation funds, then I would expect you to apply the
same pragmatic standards when it comes to future refund requests,
be it personal choices such as parking and travel expenses.
___
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Michael Niedermayer
On Mon, Jan 15, 2024 at 05:10:03PM +0100, Nicolas George wrote:
> Paul B Mahol (12024-01-15):
> > Business? Why is then this discussion public?
> 
> Face it, the FFmpeg Libre Software project that we loved contributing to
> because it offered a space of freedom for like-minded hackers no longer
> exists, this is now a shallow annex of the FFlabs company.

No, FFmpeg is controlled by the general assembly, that you are a member of
From the GA 6 people i would say are associated with FFlabs one of these 6
hates FFlabs as it is currently. 2 more i think got occasionally paid by
FFlabs. (that is AFAIK it)

OTOH 43 developers in the GA are unrelated to FFLabs

so teh statement "is now a shallow annex of the FFlabs company." iam
not sure what facts that would be based on ...

That said, my wish was and is that FFlabs or a successor to FFlabs
would pay all the major developers of FFmpeg more or less in the order of
"git shortlog -s -n" excluding people inactive by choice.
For what _they_ (the developers themselfs) would consider important
to work on.

This is not FFlabs today, for mainly 2 reasons.
1. Not enough money really to pay more people
2. To get money, FFlabs needs to work on what customers pay for.

Now about your complaint about FFmpeg not being what you want.
If you cannot find a consensus with others, there is the Technical
Committee. You did not contact the TC.

Also, iam not sure you are entirely correct with your memory
FFmpeg certainly was more accepting with experimental, cutting edge
and at the border of FFmpegs scope things.

But I do not remember FFmpeg was ever accepting every random thing.

What has changed is the size of the community, more people means there
is a higher changce someone will disagree.
If you have an idea that makes sense for FFmpeg please try contacting
the Technical Committee if you cannot find a consensus.
If that fails, then we can discuss further. But dont be so negative
We can create a seperate branch where people can commit whatever they
want or some other more accepting ruleset. But this makes no sense
before an issue has even been raised with the TC

Thanks

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin


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 2/2 v2] avformat/mov: improve HEIF parsing

2024-01-15 Thread James Almer

On 1/9/2024 10:27 PM, James Almer wrote:

Parse iprp and iinf boxes and children boxes to get the actual codec used
(AV1 for avif, HEVC for heic), and properly export extradata and other
properties in a generic way.
The reference files for the avif tests are updated as the extradata is now
exported.

Based on a patch by Swaraj Hota.

Co-authored-by: Swaraj Hota 
Signed-off-by: James Almer 
---
  libavformat/isom.h|  19 +-
  libavformat/mov.c | 292 +-
  .../fate/mov-avif-demux-still-image-1-item|   2 +-
  .../mov-avif-demux-still-image-multiple-items |   2 +-
  4 files changed, 228 insertions(+), 87 deletions(-)


Will apply.
___
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/4] avcodec/mdec: DC reading for STRv1 is like STRv2

2024-01-15 Thread aybe aybe
Hi!

I just tried what you've suggested, using 150 and setting AVPacket->pts using 
sector MSF as LBA.

The results are somewhat mixed:
- NTSC video: A/V synchronized but is now seen as 120 FPS by VLC
- PAL video: A/V not synchronized anymore but still seen as 25 FPS by VLC

Not sure about 150, we assume videos play at 2x CD-ROM, not 100% exact but is 
likely to be the case for 99% of them.

-- Original Message --
>From "Michael Niedermayer via ffmpeg-devel" 
>mailto:ffmpeg-devel@ffmpeg.org>>
To "FFmpeg development discussions and patches" 
mailto:ffmpeg-devel@ffmpeg.org>>
Cc "Michael Niedermayer" mailto:mich...@niedermayer.cc>>
Date 1/14/2024 9:38:06 PM
Subject Re: [FFmpeg-devel] [PATCH 1/4] avcodec/mdec: DC reading for STRv1 is 
like STRv2

Hi aybe

On Sat, Jan 13, 2024 at 02:28:52AM +, aybe aybe wrote:
Here are the two STR files I have used when writing this patch: 
https://github.com/aybe/FFmpeg-PSX-STR-tests

ok, i can confirm the version patch fixes these, i will apply it


Fanatics would probably say that 30 FPS for NTSC is wrong (i.e. should be 
29.97)...
However, as the reversed-engineered docs in jpsxdec mentions, it is sort of 
impossible to figure out which value to snap to from how frames spans across 
CD-ROM sectors.
The sector count per video frame always seem to juggle between two values, e.g. 
6 sectors, then 7 sectors, rinse/repeat. i.e. it's never constant.

Also, as one can see in the various code samples online on writing a PSX 
program that plays MDEC videos, it is the responsibility of the coder to 
present the frames on screen.
i.e. there is not definitive way on how to do so, and even if there was, you 
can be sure some folks did not play by the rules back then.
The only way to figure out how a movie was intended to be played is to reverse 
engineer a game to see what values they did cram in.
In short, the computed frame rate is 99% good, not 100%. But for mere mortals, 
they are unlikely to notice it at all.

Well, with the subset of samples i have, i dont feel confident that i could
write and test timestamping/fps.

The docuemnt you linked says
"Data is read from the disc one sector at a time at either 75 sectors per 
second (single speed) or 150 sectors per second (double speed). The video and 
audio are spaced out over these sectors so they can be delivered at the 
appropriate times."

what i would suggest to try is:
avpriv_set_pts_info(st, 64, 1, 150); (or 75 for single speed)

and then set AVPacket->pts to the sector number
you never set fps, leave it to libavformat to figure it out.

can you try that ? (i assume you have many samples to easily check)



As for the movies in the samples repository, they are corrupt and FFmpeg fails 
at them, obviously.
I figured these ones were by checking them in a hex-editor but also by loading 
them in https://github.com/m35/jpsxdec which has great logging.
Not sure why these samples were corrupt in first instance, maybe it was 
intentional for testing? I can't tell.

Thats very strange, anyone remembers where these samples are from originally ?

thx

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

Modern terrorism, a quick summary: Need oil, start war with country that
has oil, kill hundread thousand in war. Let country fall into chaos,
be surprised about raise of fundamantalists. Drop more bombs, kill more
people, be surprised about them taking revenge and drop even more bombs
and strip your own citizens of their rights and freedoms. to be continued
___
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Nicolas George
Paul B Mahol (12024-01-15):
> Business? Why is then this discussion public?

Face it, the FFmpeg Libre Software project that we loved contributing to
because it offered a space of freedom for like-minded hackers no longer
exists, this is now a shallow annex of the FFlabs company.

Regards,

-- 
  Nicolas George


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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Paul B Mahol
On Mon, Jan 15, 2024 at 5:01 PM Rémi Denis-Courmont  wrote:

> Le maanantaina 15. tammikuuta 2024, 16.06.32 EET Paul B Mahol a écrit :
> > > I agree with Remi's objections to this.
> > >
> > > Kieran
> >
> > Poor and irrelevant devs object and want to keep money for themself.
>
> Neither of us are poor, which makes this defamatory.
>
> While we may subjectively be irrelavant, that is completely inappropriate
> wording. For you reference, Nicolas was able to articulate that
> characterisation in a much more business-compatible fashion.
>

Business? Why is then this discussion public?


>
> So this is being reported to the CC.
>


You cant report anything, it just show how poor you are.


>
> --
> 雷米‧德尼-库尔蒙
> 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".
>
___
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Rémi Denis-Courmont
Le maanantaina 15. tammikuuta 2024, 16.59.40 EET Lynne a écrit :
> I've been pinging this for a week now and he hasn't reiterated
> his position again or made it clearer.

I think my position was clear. I don't see the point in rereiterating it 
whilst we are evidently not going to reach an agreement. Besides, you have 
previously complained that my explanations were unnecessarily long.

But since you bring it up and to sum up, I find completely reasonable for 
FFmpeg to provision hardware with the feature necessary to test your work, 
such as AVX-512 and Vulkan video decoding. But:
1) You already have been provided such hardware in the form of a desktop 
computer (and I am told that it was extremely expensive).
2) In general it makes more sense to get a desktop than a laptop for that 
purpose.

Leaving aside those specific hardware requirements, I think it is completely 
reasonable for you to have a laptop, as most of us probably do. But I also 
think that it is not reasonable for the foundation to pay for personal 
laptops.

Maybe you need a laptop specifically to work on FFmpeg for whatever reason. 
Then a cheap laptop for remote access, as Michael suggested, sounds like a 
reasonable compromise to me. Nevertheless, I think that:
- If your employment requires you to work away from your desktop a lot, then 
your employer should provide the laptop.
- If you want to work from your couch or from the beach (figuratively), that is 
really on you.

-- 
Rémi Denis-Courmont
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Rémi Denis-Courmont
Le maanantaina 15. tammikuuta 2024, 16.06.32 EET Paul B Mahol a écrit :
> > I agree with Remi's objections to this.
> > 
> > Kieran
> 
> Poor and irrelevant devs object and want to keep money for themself.

Neither of us are poor, which makes this defamatory.

While we may subjectively be irrelavant, that is completely inappropriate 
wording. For you reference, Nicolas was able to articulate that 
characterisation in a much more business-compatible fashion.

So this is being reported to the CC.

-- 
雷米‧德尼-库尔蒙
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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Lynne
Jan 15, 2024, 09:58 by kier...@obe.tv:

> On Sun, 14 Jan 2024, 17:24 Lynne,  wrote:
>
>> Jan 9, 2024, 19:57 by d...@lynne.ee:
>>
>> > Jan 3, 2024, 04:30 by d...@lynne.ee:
>> >
>> >> Jan 3, 2024, 04:04 by d...@lynne.ee:
>> >>
>> >>> Jan 3, 2024, 02:22 by jamr...@gmail.com:
>> >>>
>>  On 1/2/2024 9:56 PM, Lynne wrote:
>> 
>> > As some of you know, my laptop died nearly 2 years ago, and
>> > I've been working on a desktop machine, which is currently a Zen 3.
>> > AVX512 has become more popular in the meantime, with Zen 4
>> > and future AMD CPUs shipping with it, but currently, we have very
>> > little AVX512.
>> > In short, I'd like a machine which runs an AVX512-capable
>> > AMD CPU, and as the world is opening up more and more, I'd
>> > like for it to be portable.
>> >
>> > I've looked around a lot, but as Intel still has a firm monopoly,
>> > the options are limited (7940H(S), 7945HX, 7845HX, 8945HS).
>> > What I think I've settled for is an ASUS Vivobook Pro 15, with a
>> > 7940HS CPU (the second least powerful Zen 4 mobile CPU),
>> >
>> 
>>  7940HS is the highest Ryzen 9 model from the 7040 series. Not sure
>> where you got second least powerful from.
>> 
>> 
>> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors#Phoenix_(7040_series,_Zen_4/RDNA3_based)
>> 
>> >>>
>> >>> Was reading Wikipedia, and thought it was a Zen 3, my mistake
>> >>> (and AMD's mistake for making 4 versioning formats):
>> >>> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors
>> >>>
>> >>>
>> > currently trading for 1999.0 EUR on amazon.de.
>> >
>> >
>> https://www.amazon.de/-/en/Vivobook-Display-R9-7940HS-Windows-Keyboard/dp/B0BRYTS8MR
>> >
>> > The other alternative I've found is a Lenovo Legion 7 Pro, but
>> > it's more expensive at 2399 EUR (currently seems temporarily
>> > discounted due to the holidays).
>> >
>> 
>>  I see a Lenovo Yoga Pro 7 available for 1099 EUR.
>> https://www.amazon.de/-/en/Lenovo-Display-Graphics-Blue-Green-Premium/dp/B0CGLPVQHK/
>> 
>>  Same amount of RAM, screen resolution and storage, and a Ryzen 7.
>> 
>> >>>
>> >>> It's a good suggestion, but I have a better one, that's somewhat more
>> expensive,
>> >>> but has a better screen, better build quality, and is cheaper than the
>> Vivobook:
>> >>>
>> >>> A Lenovo ThinkPad P14s Gen 4 with the following options:
>> >>>  - Windows 14 Home (if you don't pick Windows, the OLED display is not
>> available for no reason)
>> >>>  - 32Gb of RAM
>> >>>  - 1Tb "performance" SSD (it's 70 EUR more, but twice the size)
>> >>>  - 2880x1800 OLED monitor
>> >>>  - 4-cell battery (only 10 EUR more)
>> >>>  - English (EU) keyboard, without backlighting
>> >>>
>> >>>
>> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K9CTO1WWDE2
>> >>>
>> >>
>> >> Correction: link I pasted was for the P16s, not the P14s, this is the
>> correct link:
>> >>
>> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K5CTO1WWDE2
>> >>
>> >
>> > Ping. So far I have one approval from Michael.
>> >
>>
>> Ping.
>>
>
> I agree with Remi's objections to this.
>

Which ones, or all of them in general?
I've been pinging this for a week now and he hasn't reiterated
his position again or made it clearer.
___
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] checkasm: Test whether the native FFmpeg timers work

2024-01-15 Thread Martin Storsjö

On Thu, 11 Jan 2024, Martin Storsjö wrote:


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(-)


Will apply soon.

// 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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Paul B Mahol
On Mon, Jan 15, 2024 at 9:58 AM Kieran Kunhya  wrote:

> On Sun, 14 Jan 2024, 17:24 Lynne,  wrote:
>
> > Jan 9, 2024, 19:57 by d...@lynne.ee:
> >
> > > Jan 3, 2024, 04:30 by d...@lynne.ee:
> > >
> > >> Jan 3, 2024, 04:04 by d...@lynne.ee:
> > >>
> > >>> Jan 3, 2024, 02:22 by jamr...@gmail.com:
> > >>>
> >  On 1/2/2024 9:56 PM, Lynne wrote:
> > 
> > > As some of you know, my laptop died nearly 2 years ago, and
> > > I've been working on a desktop machine, which is currently a Zen 3.
> > > AVX512 has become more popular in the meantime, with Zen 4
> > > and future AMD CPUs shipping with it, but currently, we have very
> > > little AVX512.
> > > In short, I'd like a machine which runs an AVX512-capable
> > > AMD CPU, and as the world is opening up more and more, I'd
> > > like for it to be portable.
> > >
> > > I've looked around a lot, but as Intel still has a firm monopoly,
> > > the options are limited (7940H(S), 7945HX, 7845HX, 8945HS).
> > > What I think I've settled for is an ASUS Vivobook Pro 15, with a
> > > 7940HS CPU (the second least powerful Zen 4 mobile CPU),
> > >
> > 
> >  7940HS is the highest Ryzen 9 model from the 7040 series. Not sure
> > where you got second least powerful from.
> > 
> > 
> >
> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors#Phoenix_(7040_series,_Zen_4/RDNA3_based)
> > 
> > >>>
> > >>> Was reading Wikipedia, and thought it was a Zen 3, my mistake
> > >>> (and AMD's mistake for making 4 versioning formats):
> > >>> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors
> > >>>
> > >>>
> > > currently trading for 1999.0 EUR on amazon.de.
> > >
> > >
> >
> https://www.amazon.de/-/en/Vivobook-Display-R9-7940HS-Windows-Keyboard/dp/B0BRYTS8MR
> > >
> > > The other alternative I've found is a Lenovo Legion 7 Pro, but
> > > it's more expensive at 2399 EUR (currently seems temporarily
> > > discounted due to the holidays).
> > >
> > 
> >  I see a Lenovo Yoga Pro 7 available for 1099 EUR.
> >
> https://www.amazon.de/-/en/Lenovo-Display-Graphics-Blue-Green-Premium/dp/B0CGLPVQHK/
> > 
> >  Same amount of RAM, screen resolution and storage, and a Ryzen 7.
> > 
> > >>>
> > >>> It's a good suggestion, but I have a better one, that's somewhat more
> > expensive,
> > >>> but has a better screen, better build quality, and is cheaper than
> the
> > Vivobook:
> > >>>
> > >>> A Lenovo ThinkPad P14s Gen 4 with the following options:
> > >>>  - Windows 14 Home (if you don't pick Windows, the OLED display is
> not
> > available for no reason)
> > >>>  - 32Gb of RAM
> > >>>  - 1Tb "performance" SSD (it's 70 EUR more, but twice the size)
> > >>>  - 2880x1800 OLED monitor
> > >>>  - 4-cell battery (only 10 EUR more)
> > >>>  - English (EU) keyboard, without backlighting
> > >>>
> > >>>
> >
> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K9CTO1WWDE2
> > >>>
> > >>
> > >> Correction: link I pasted was for the P16s, not the P14s, this is the
> > correct link:
> > >>
> >
> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K5CTO1WWDE2
> > >>
> > >
> > > Ping. So far I have one approval from Michael.
> > >
> >
> > Ping.
> >
>
> I agree with Remi's objections to this.
>
> Kieran
>

Poor and irrelevant devs object and want to keep money for themself.


>
> >
> ___
> 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] Hardware purchase request: AVX512-capable laptop

2024-01-15 Thread Kieran Kunhya
On Sun, 14 Jan 2024, 17:24 Lynne,  wrote:

> Jan 9, 2024, 19:57 by d...@lynne.ee:
>
> > Jan 3, 2024, 04:30 by d...@lynne.ee:
> >
> >> Jan 3, 2024, 04:04 by d...@lynne.ee:
> >>
> >>> Jan 3, 2024, 02:22 by jamr...@gmail.com:
> >>>
>  On 1/2/2024 9:56 PM, Lynne wrote:
> 
> > As some of you know, my laptop died nearly 2 years ago, and
> > I've been working on a desktop machine, which is currently a Zen 3.
> > AVX512 has become more popular in the meantime, with Zen 4
> > and future AMD CPUs shipping with it, but currently, we have very
> > little AVX512.
> > In short, I'd like a machine which runs an AVX512-capable
> > AMD CPU, and as the world is opening up more and more, I'd
> > like for it to be portable.
> >
> > I've looked around a lot, but as Intel still has a firm monopoly,
> > the options are limited (7940H(S), 7945HX, 7845HX, 8945HS).
> > What I think I've settled for is an ASUS Vivobook Pro 15, with a
> > 7940HS CPU (the second least powerful Zen 4 mobile CPU),
> >
> 
>  7940HS is the highest Ryzen 9 model from the 7040 series. Not sure
> where you got second least powerful from.
> 
> 
> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors#Phoenix_(7040_series,_Zen_4/RDNA3_based)
> 
> >>>
> >>> Was reading Wikipedia, and thought it was a Zen 3, my mistake
> >>> (and AMD's mistake for making 4 versioning formats):
> >>> https://en.wikipedia.org/wiki/List_of_AMD_Ryzen_processors
> >>>
> >>>
> > currently trading for 1999.0 EUR on amazon.de.
> >
> >
> https://www.amazon.de/-/en/Vivobook-Display-R9-7940HS-Windows-Keyboard/dp/B0BRYTS8MR
> >
> > The other alternative I've found is a Lenovo Legion 7 Pro, but
> > it's more expensive at 2399 EUR (currently seems temporarily
> > discounted due to the holidays).
> >
> 
>  I see a Lenovo Yoga Pro 7 available for 1099 EUR.
> https://www.amazon.de/-/en/Lenovo-Display-Graphics-Blue-Green-Premium/dp/B0CGLPVQHK/
> 
>  Same amount of RAM, screen resolution and storage, and a Ryzen 7.
> 
> >>>
> >>> It's a good suggestion, but I have a better one, that's somewhat more
> expensive,
> >>> but has a better screen, better build quality, and is cheaper than the
> Vivobook:
> >>>
> >>> A Lenovo ThinkPad P14s Gen 4 with the following options:
> >>>  - Windows 14 Home (if you don't pick Windows, the OLED display is not
> available for no reason)
> >>>  - 32Gb of RAM
> >>>  - 1Tb "performance" SSD (it's 70 EUR more, but twice the size)
> >>>  - 2880x1800 OLED monitor
> >>>  - 4-cell battery (only 10 EUR more)
> >>>  - English (EU) keyboard, without backlighting
> >>>
> >>>
> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K9CTO1WWDE2
> >>>
> >>
> >> Correction: link I pasted was for the P16s, not the P14s, this is the
> correct link:
> >>
> https://www.lenovo.com/de/de/configurator/cto/index.html?bundleId=21K5CTO1WWDE2
> >>
> >
> > Ping. So far I have one approval from Michael.
> >
>
> Ping.
>

I agree with Remi's objections to this.

Kieran

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