* [FFmpeg-devel] [PATCH] Few MSVC warnings fixes (PR #20619)
@ 2025-09-27 1:26 Kacper Michajłow via ffmpeg-devel
0 siblings, 0 replies; only message in thread
From: Kacper Michajłow via ffmpeg-devel @ 2025-09-27 1:26 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Kacper Michajłow
PR #20619 opened by Kacper Michajłow (kasper93)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20619
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20619.patch
From b1792e40e5fe5c67e9777e28c6b2284a0582413e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:19:33 +0200
Subject: [PATCH 1/8] fftools/ffmpeg: use enum VideoSyncMethod instead of int
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
fftools/ffmpeg.h | 2 +-
fftools/ffmpeg_opt.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index c479a0351d..63da1d14df 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -771,7 +771,7 @@ int check_avoptions_used(const AVDictionary *opts, const AVDictionary *opts_used
int assert_file_overwrite(const char *filename);
int find_codec(void *logctx, const char *name,
enum AVMediaType type, int encoder, const AVCodec **codec);
-int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global);
+int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx, int is_global);
int filtergraph_is_simple(const FilterGraph *fg);
int fg_create_simple(FilterGraph **pfg,
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 926a8bda00..e2fdfaa821 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -295,7 +295,7 @@ int view_specifier_parse(const char **pspec, ViewSpecifier *vs)
return 0;
}
-int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global)
+int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx, int is_global)
{
if (!av_strcasecmp(arg, "cfr")) *vsync_var = VSYNC_CFR;
else if (!av_strcasecmp(arg, "vfr")) *vsync_var = VSYNC_VFR;
--
2.49.1
From 99914ae766bdf38a5551040c568eeb5bcc95438d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:21:53 +0200
Subject: [PATCH 2/8] avcodec/aacpsdsp: add restrict to function pointers to
match declarations
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/aacpsdsp.h | 10 +++++-----
libavcodec/x86/aacpsdsp_init.c | 16 ++++++++--------
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/libavcodec/aacpsdsp.h b/libavcodec/aacpsdsp.h
index 1491212250..daeb0a698e 100644
--- a/libavcodec/aacpsdsp.h
+++ b/libavcodec/aacpsdsp.h
@@ -30,15 +30,15 @@
#define PS_MAX_AP_DELAY 5
typedef struct PSDSPContext {
- void (*add_squares)(INTFLOAT *dst, const INTFLOAT (*src)[2], int n);
- void (*mul_pair_single)(INTFLOAT (*dst)[2], INTFLOAT (*src0)[2], INTFLOAT *src1,
+ void (*add_squares)(INTFLOAT *restrict dst, const INTFLOAT (*src)[2], int n);
+ void (*mul_pair_single)(INTFLOAT (*restrict dst)[2], INTFLOAT (*src0)[2], INTFLOAT *src1,
int n);
- void (*hybrid_analysis)(INTFLOAT (*out)[2], INTFLOAT (*in)[2],
+ void (*hybrid_analysis)(INTFLOAT (*restrict out)[2], INTFLOAT (*in)[2],
const INTFLOAT (*filter)[8][2],
ptrdiff_t stride, int n);
- void (*hybrid_analysis_ileave)(INTFLOAT (*out)[32][2], INTFLOAT L[2][38][64],
+ void (*hybrid_analysis_ileave)(INTFLOAT (*restrict out)[32][2], INTFLOAT L[2][38][64],
int i, int len);
- void (*hybrid_synthesis_deint)(INTFLOAT out[2][38][64], INTFLOAT (*in)[32][2],
+ void (*hybrid_synthesis_deint)(INTFLOAT out[2][38][64], INTFLOAT (*restrict in)[32][2],
int i, int len);
void (*decorrelate)(INTFLOAT (*out)[2], INTFLOAT (*delay)[2],
INTFLOAT (*ap_delay)[PS_QMF_TIME_SLOTS+PS_MAX_AP_DELAY][2],
diff --git a/libavcodec/x86/aacpsdsp_init.c b/libavcodec/x86/aacpsdsp_init.c
index 0b0ee07db4..221fe71bc7 100644
--- a/libavcodec/x86/aacpsdsp_init.c
+++ b/libavcodec/x86/aacpsdsp_init.c
@@ -26,14 +26,14 @@
#include "libavutil/attributes.h"
#include "libavcodec/aacpsdsp.h"
-void ff_ps_add_squares_sse (float *dst, const float (*src)[2], int n);
-void ff_ps_add_squares_sse3 (float *dst, const float (*src)[2], int n);
-void ff_ps_mul_pair_single_sse (float (*dst)[2], float (*src0)[2],
+void ff_ps_add_squares_sse (float *restrict dst, const float (*src)[2], int n);
+void ff_ps_add_squares_sse3 (float *restrict dst, const float (*src)[2], int n);
+void ff_ps_mul_pair_single_sse (float (*restrict dst)[2], float (*src0)[2],
float *src1, int n);
-void ff_ps_hybrid_analysis_sse (float (*out)[2], float (*in)[2],
+void ff_ps_hybrid_analysis_sse (float (*restrict out)[2], float (*in)[2],
const float (*filter)[8][2],
ptrdiff_t stride, int n);
-void ff_ps_hybrid_analysis_fma3(float (*out)[2], float (*in)[2],
+void ff_ps_hybrid_analysis_fma3(float (*restrict out)[2], float (*in)[2],
const float (*filter)[8][2],
ptrdiff_t stride, int n);
void ff_ps_stereo_interpolate_sse3(float (*l)[2], float (*r)[2],
@@ -42,11 +42,11 @@ void ff_ps_stereo_interpolate_sse3(float (*l)[2], float (*r)[2],
void ff_ps_stereo_interpolate_ipdopd_sse3(float (*l)[2], float (*r)[2],
float h[2][4], float h_step[2][4],
int len);
-void ff_ps_hybrid_synthesis_deint_sse(float out[2][38][64], float (*in)[32][2],
+void ff_ps_hybrid_synthesis_deint_sse(float out[2][38][64], float (*restrict in)[32][2],
int i, int len);
-void ff_ps_hybrid_synthesis_deint_sse4(float out[2][38][64], float (*in)[32][2],
+void ff_ps_hybrid_synthesis_deint_sse4(float out[2][38][64], float (*restrict in)[32][2],
int i, int len);
-void ff_ps_hybrid_analysis_ileave_sse(float (*out)[32][2], float L[2][38][64],
+void ff_ps_hybrid_analysis_ileave_sse(float (*restrict out)[32][2], float L[2][38][64],
int i, int len);
av_cold void ff_psdsp_init_x86(PSDSPContext *s)
--
2.49.1
From 9dac374b14c3162ec53adf2c07efb93bc8c17b96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:34:21 +0200
Subject: [PATCH 3/8] avcodec/pixblockdsp: be consistent about restrict use in
ff_{get,diff}_pixels
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Suppresses warnings about function pointer mismatch.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/aarch64/pixblockdsp_init_aarch64.c | 4 ++--
libavcodec/arm/pixblockdsp_init_arm.c | 12 ++++++------
libavcodec/dvenc.c | 2 +-
libavcodec/riscv/pixblockdsp_init.c | 12 ++++++------
libavcodec/x86/dnxhdenc_init.c | 2 +-
libavcodec/x86/pixblockdsp_init.c | 4 ++--
6 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/libavcodec/aarch64/pixblockdsp_init_aarch64.c b/libavcodec/aarch64/pixblockdsp_init_aarch64.c
index 404f3680a6..5f0bf477a5 100644
--- a/libavcodec/aarch64/pixblockdsp_init_aarch64.c
+++ b/libavcodec/aarch64/pixblockdsp_init_aarch64.c
@@ -23,9 +23,9 @@
#include "libavutil/aarch64/cpu.h"
#include "libavcodec/pixblockdsp.h"
-void ff_get_pixels_neon(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_neon(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_diff_pixels_neon(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_neon(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
av_cold void ff_pixblockdsp_init_aarch64(PixblockDSPContext *c,
diff --git a/libavcodec/arm/pixblockdsp_init_arm.c b/libavcodec/arm/pixblockdsp_init_arm.c
index 121338ad0c..9d817e400d 100644
--- a/libavcodec/arm/pixblockdsp_init_arm.c
+++ b/libavcodec/arm/pixblockdsp_init_arm.c
@@ -23,18 +23,18 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/pixblockdsp.h"
-void ff_get_pixels_armv6(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_armv6(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_diff_pixels_armv6(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_armv6(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
-void ff_get_pixels_neon(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_neon(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_get_pixels_unaligned_neon(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_unaligned_neon(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_diff_pixels_neon(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_neon(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
-void ff_diff_pixels_unaligned_neon(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_unaligned_neon(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
av_cold void ff_pixblockdsp_init_arm(PixblockDSPContext *c,
diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c
index a477b84261..f25c3ddfee 100644
--- a/libavcodec/dvenc.c
+++ b/libavcodec/dvenc.c
@@ -56,7 +56,7 @@ typedef struct DVEncContext {
AVCodecContext *avctx;
uint8_t *buf;
- void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize);
+ void (*get_pixels)(int16_t *restrict block, const uint8_t *pixels, ptrdiff_t linesize);
void (*fdct[2])(int16_t *block);
me_cmp_func ildct_cmp;
diff --git a/libavcodec/riscv/pixblockdsp_init.c b/libavcodec/riscv/pixblockdsp_init.c
index e59fba63cc..083873c0b0 100644
--- a/libavcodec/riscv/pixblockdsp_init.c
+++ b/libavcodec/riscv/pixblockdsp_init.c
@@ -26,18 +26,18 @@
#include "libavutil/riscv/cpu.h"
#include "libavcodec/pixblockdsp.h"
-void ff_get_pixels_8_rvi(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_8_rvi(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_get_pixels_16_rvi(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_16_rvi(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_get_pixels_8_rvv(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_8_rvv(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_get_pixels_unaligned_8_rvv(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_unaligned_8_rvv(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t stride);
-void ff_diff_pixels_rvv(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_rvv(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
-void ff_diff_pixels_unaligned_rvv(int16_t *block, const uint8_t *s1,
+void ff_diff_pixels_unaligned_rvv(int16_t *restrict block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
av_cold void ff_pixblockdsp_init_riscv(PixblockDSPContext *c,
diff --git a/libavcodec/x86/dnxhdenc_init.c b/libavcodec/x86/dnxhdenc_init.c
index fd6f15005a..3010986b3e 100644
--- a/libavcodec/x86/dnxhdenc_init.c
+++ b/libavcodec/x86/dnxhdenc_init.c
@@ -25,7 +25,7 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/dnxhdenc.h"
-void ff_get_pixels_8x4_sym_sse2(int16_t *block, const uint8_t *pixels,
+void ff_get_pixels_8x4_sym_sse2(int16_t *restrict block, const uint8_t *pixels,
ptrdiff_t line_size);
av_cold void ff_dnxhdenc_init_x86(DNXHDEncContext *ctx)
diff --git a/libavcodec/x86/pixblockdsp_init.c b/libavcodec/x86/pixblockdsp_init.c
index f105775c2b..650a0eb4f6 100644
--- a/libavcodec/x86/pixblockdsp_init.c
+++ b/libavcodec/x86/pixblockdsp_init.c
@@ -23,8 +23,8 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/pixblockdsp.h"
-void ff_get_pixels_sse2(int16_t *block, const uint8_t *pixels, ptrdiff_t stride);
-void ff_diff_pixels_sse2(int16_t *block, const uint8_t *s1, const uint8_t *s2,
+void ff_get_pixels_sse2(int16_t *restrict block, const uint8_t *pixels, ptrdiff_t stride);
+void ff_diff_pixels_sse2(int16_t *restrict block, const uint8_t *s1, const uint8_t *s2,
ptrdiff_t stride);
av_cold void ff_pixblockdsp_init_x86(PixblockDSPContext *c,
--
2.49.1
From 123a821d7f02dda49a21612008c546bf6b7aa5f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:36:33 +0200
Subject: [PATCH 4/8] avcodec/cbs*: remove redundant const, it's already in
typedef
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/cbs.c | 14 +++++++-------
libavcodec/cbs_apv.c | 2 +-
libavcodec/cbs_av1.c | 2 +-
libavcodec/cbs_h2645.c | 6 +++---
libavcodec/cbs_internal.h | 2 +-
libavcodec/cbs_jpeg.c | 2 +-
libavcodec/cbs_mpeg2.c | 2 +-
libavcodec/cbs_vp8.c | 2 +-
libavcodec/cbs_vp9.c | 2 +-
9 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c
index 0f54c407f3..cea6e6db21 100644
--- a/libavcodec/cbs.c
+++ b/libavcodec/cbs.c
@@ -891,7 +891,7 @@ void CBS_FUNC(delete_unit)(CodedBitstreamFragment *frag,
static void cbs_default_free_unit_content(AVRefStructOpaque opaque, void *content)
{
- const CodedBitstreamUnitTypeDescriptor *desc = opaque.c;
+ CodedBitstreamUnitTypeDescriptor *desc = opaque.c;
for (int i = 0; i < desc->type.ref.nb_offsets; i++) {
void **ptr = (void**)((char*)content + desc->type.ref.offsets[i]);
@@ -899,11 +899,11 @@ static void cbs_default_free_unit_content(AVRefStructOpaque opaque, void *conten
}
}
-static const CodedBitstreamUnitTypeDescriptor
+static CodedBitstreamUnitTypeDescriptor
*cbs_find_unit_type_desc(CodedBitstreamContext *ctx,
CodedBitstreamUnit *unit)
{
- const CodedBitstreamUnitTypeDescriptor *desc;
+ CodedBitstreamUnitTypeDescriptor *desc;
int i, j;
if (!ctx->codec->unit_types)
@@ -927,7 +927,7 @@ static const CodedBitstreamUnitTypeDescriptor
return NULL;
}
-static void *cbs_alloc_content(const CodedBitstreamUnitTypeDescriptor *desc)
+static void *cbs_alloc_content(CodedBitstreamUnitTypeDescriptor *desc)
{
return av_refstruct_alloc_ext_c(desc->content_size, 0,
(AVRefStructOpaque){ .c = desc },
@@ -939,7 +939,7 @@ static void *cbs_alloc_content(const CodedBitstreamUnitTypeDescriptor *desc)
int CBS_FUNC(alloc_unit_content)(CodedBitstreamContext *ctx,
CodedBitstreamUnit *unit)
{
- const CodedBitstreamUnitTypeDescriptor *desc;
+ CodedBitstreamUnitTypeDescriptor *desc;
av_assert0(!unit->content && !unit->content_ref);
@@ -957,7 +957,7 @@ int CBS_FUNC(alloc_unit_content)(CodedBitstreamContext *ctx,
static int cbs_clone_noncomplex_unit_content(void **clonep,
const CodedBitstreamUnit *unit,
- const CodedBitstreamUnitTypeDescriptor *desc)
+ CodedBitstreamUnitTypeDescriptor *desc)
{
const uint8_t *src;
uint8_t *copy;
@@ -1017,7 +1017,7 @@ fail:
static int cbs_clone_unit_content(CodedBitstreamContext *ctx,
CodedBitstreamUnit *unit)
{
- const CodedBitstreamUnitTypeDescriptor *desc;
+ CodedBitstreamUnitTypeDescriptor *desc;
void *new_content;
int err;
diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
index fdc9042939..a1e546c92e 100644
--- a/libavcodec/cbs_apv.c
+++ b/libavcodec/cbs_apv.c
@@ -421,7 +421,7 @@ static void cbs_apv_free_metadata(AVRefStructOpaque unused, void *content)
}
}
-static const CodedBitstreamUnitTypeDescriptor cbs_apv_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_apv_unit_types[] = {
{
.nb_unit_types = CBS_UNIT_TYPE_RANGE,
.unit_type.range = {
diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index 90e29ed0d8..75601c934b 100644
--- a/libavcodec/cbs_av1.c
+++ b/libavcodec/cbs_av1.c
@@ -1312,7 +1312,7 @@ static void cbs_av1_free_metadata(AVRefStructOpaque unused, void *content)
}
#endif
-static const CodedBitstreamUnitTypeDescriptor cbs_av1_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_av1_unit_types[] = {
CBS_UNIT_TYPE_POD(AV1_OBU_SEQUENCE_HEADER, AV1RawOBU),
CBS_UNIT_TYPE_POD(AV1_OBU_TEMPORAL_DELIMITER, AV1RawOBU),
CBS_UNIT_TYPE_POD(AV1_OBU_FRAME_HEADER, AV1RawOBU),
diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c
index 75784b03a9..1a3d3d649f 100644
--- a/libavcodec/cbs_h2645.c
+++ b/libavcodec/cbs_h2645.c
@@ -1990,7 +1990,7 @@ static void cbs_h264_free_sei(AVRefStructOpaque unused, void *content)
ff_cbs_sei_free_message_list(&sei->message_list);
}
-static const CodedBitstreamUnitTypeDescriptor cbs_h264_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_h264_unit_types[] = {
CBS_UNIT_TYPE_POD(H264_NAL_SPS, H264RawSPS),
CBS_UNIT_TYPE_POD(H264_NAL_SPS_EXT, H264RawSPSExtension),
@@ -2016,7 +2016,7 @@ static void cbs_h265_free_sei(AVRefStructOpaque unused, void *content)
ff_cbs_sei_free_message_list(&sei->message_list);
}
-static const CodedBitstreamUnitTypeDescriptor cbs_h265_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_h265_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(HEVC_NAL_VPS, H265RawVPS, extension_data.data),
CBS_UNIT_TYPE_INTERNAL_REF(HEVC_NAL_SPS, H265RawSPS, extension_data.data),
CBS_UNIT_TYPE_INTERNAL_REF(HEVC_NAL_PPS, H265RawPPS, extension_data.data),
@@ -2043,7 +2043,7 @@ static void cbs_h266_free_sei(AVRefStructOpaque unused, void *content)
ff_cbs_sei_free_message_list(&sei->message_list);
}
-static const CodedBitstreamUnitTypeDescriptor cbs_h266_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_h266_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(VVC_DCI_NUT, H266RawDCI, extension_data.data),
CBS_UNIT_TYPE_INTERNAL_REF(VVC_OPI_NUT, H266RawOPI, extension_data.data),
CBS_UNIT_TYPE_INTERNAL_REF(VVC_VPS_NUT, H266RawVPS, extension_data.data),
diff --git a/libavcodec/cbs_internal.h b/libavcodec/cbs_internal.h
index 37398ef416..8ca53ff3ce 100644
--- a/libavcodec/cbs_internal.h
+++ b/libavcodec/cbs_internal.h
@@ -151,7 +151,7 @@ typedef struct CodedBitstreamType {
// List of unit type descriptors for this codec.
// Terminated by a descriptor with nb_unit_types equal to zero.
- const CodedBitstreamUnitTypeDescriptor *unit_types;
+ CodedBitstreamUnitTypeDescriptor *unit_types;
// Split frag->data into coded bitstream units, creating the
// frag->units array. Fill data but not content on each unit.
diff --git a/libavcodec/cbs_jpeg.c b/libavcodec/cbs_jpeg.c
index 406147c082..d64e2baec0 100644
--- a/libavcodec/cbs_jpeg.c
+++ b/libavcodec/cbs_jpeg.c
@@ -417,7 +417,7 @@ static int cbs_jpeg_assemble_fragment(CodedBitstreamContext *ctx,
return 0;
}
-static const CodedBitstreamUnitTypeDescriptor cbs_jpeg_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_jpeg_unit_types[] = {
CBS_UNIT_RANGE_POD(JPEG_MARKER_SOF0, JPEG_MARKER_SOF3, JPEGRawFrameHeader),
CBS_UNIT_RANGE_INTERNAL_REF(JPEG_MARKER_APPN, JPEG_MARKER_APPN + 15,
diff --git a/libavcodec/cbs_mpeg2.c b/libavcodec/cbs_mpeg2.c
index 37fc28a4e6..87401d1543 100644
--- a/libavcodec/cbs_mpeg2.c
+++ b/libavcodec/cbs_mpeg2.c
@@ -397,7 +397,7 @@ static int cbs_mpeg2_assemble_fragment(CodedBitstreamContext *ctx,
return 0;
}
-static const CodedBitstreamUnitTypeDescriptor cbs_mpeg2_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_mpeg2_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(MPEG2_START_PICTURE, MPEG2RawPictureHeader,
extra_information_picture.extra_information),
diff --git a/libavcodec/cbs_vp8.c b/libavcodec/cbs_vp8.c
index 1f80f34faf..7724cb3d7a 100644
--- a/libavcodec/cbs_vp8.c
+++ b/libavcodec/cbs_vp8.c
@@ -366,7 +366,7 @@ static int cbs_vp8_assemble_fragment(CodedBitstreamContext *ctx,
return AVERROR_PATCHWELCOME;
}
-static const CodedBitstreamUnitTypeDescriptor cbs_vp8_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_vp8_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(0, VP8RawFrame, data),
CBS_UNIT_TYPE_END_OF_LIST,
};
diff --git a/libavcodec/cbs_vp9.c b/libavcodec/cbs_vp9.c
index 9a97b0532c..9e9b37e527 100644
--- a/libavcodec/cbs_vp9.c
+++ b/libavcodec/cbs_vp9.c
@@ -594,7 +594,7 @@ static av_cold void cbs_vp9_flush(CodedBitstreamContext *ctx)
memset(vp9->ref, 0, sizeof(vp9->ref));
}
-static const CodedBitstreamUnitTypeDescriptor cbs_vp9_unit_types[] = {
+static CodedBitstreamUnitTypeDescriptor cbs_vp9_unit_types[] = {
CBS_UNIT_TYPE_INTERNAL_REF(0, VP9RawFrame, data),
CBS_UNIT_TYPE_END_OF_LIST
};
--
2.49.1
From fb8ecf3774689317e7402c7fa7b18c6ff719d95f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:37:44 +0200
Subject: [PATCH 5/8] avcodec/intrax8: cast const away before for memset call
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Suppresses warnings on MSVC.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/intrax8.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c
index 89b70e5902..d3a48cf76e 100644
--- a/libavcodec/intrax8.c
+++ b/libavcodec/intrax8.c
@@ -87,8 +87,8 @@ static av_cold void x8_vlc_init(void)
static void x8_reset_vlc_tables(IntraX8Context *w)
{
- memset(w->j_dc_vlc_table, 0, sizeof(w->j_dc_vlc_table));
- memset(w->j_ac_vlc_table, 0, sizeof(w->j_ac_vlc_table));
+ memset((void *)w->j_dc_vlc_table, 0, sizeof(w->j_dc_vlc_table));
+ memset((void *)w->j_ac_vlc_table, 0, sizeof(w->j_ac_vlc_table));
w->j_orient_vlc_table = NULL;
}
--
2.49.1
From d6d9abc2c3db9f6c556f168972fc8e9900ef638c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:42:49 +0200
Subject: [PATCH 6/8] avcodec/put_bits: use UINT64_C instead UL, not all
platform has 64-bit long
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
To suppress warnings on MSVC about shift cast.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/put_bits.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/put_bits.h b/libavcodec/put_bits.h
index 7eb2f2fed4..8e55b55dd1 100644
--- a/libavcodec/put_bits.h
+++ b/libavcodec/put_bits.h
@@ -256,7 +256,7 @@ static inline void put_bits_no_assert(PutBitContext *s, int n, BitBuf value)
*/
static inline void put_bits(PutBitContext *s, int n, BitBuf value)
{
- av_assert2(n <= 31 && value < (1UL << n));
+ av_assert2(n <= 31 && value < (UINT64_C(1) << n));
put_bits_no_assert(s, n, value);
}
@@ -265,7 +265,7 @@ static inline void put_bits_le(PutBitContext *s, int n, BitBuf value)
BitBuf bit_buf;
int bit_left;
- av_assert2(n <= 31 && value < (1UL << n));
+ av_assert2(n <= 31 && value < (UINT64_C(1) << n));
bit_buf = s->bit_buf;
bit_left = s->bit_left;
--
2.49.1
From 1c1179c4a9b063aa8ceb2e4aa5ff6d6c84cd28b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:44:17 +0200
Subject: [PATCH 7/8] avcodec/rectangle: use intptr_t for integer pointer type
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/rectangle.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/rectangle.h b/libavcodec/rectangle.h
index df7c18a4e2..b3499bb96f 100644
--- a/libavcodec/rectangle.h
+++ b/libavcodec/rectangle.h
@@ -46,7 +46,7 @@ static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride,
w *= size;
stride *= size;
- av_assert2((((long)vp)&(FFMIN(w, 8<<(HAVE_NEON|ARCH_PPC|HAVE_MMX))-1)) == 0);
+ av_assert2((((intptr_t)vp)&(FFMIN(w, 8<<(HAVE_NEON|ARCH_PPC|HAVE_MMX))-1)) == 0);
av_assert2((stride&(w-1))==0);
if(w==2){
const uint16_t v= size==4 ? val : val*0x0101;
--
2.49.1
From 205a6b672e693eab53a72ad3c45ec1c044c4c8a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Sat, 27 Sep 2025 02:46:33 +0200
Subject: [PATCH 8/8] avcodec/x86/idctdsp: add restrict to match function
pointer types
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
libavcodec/x86/idctdsp.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/x86/idctdsp.h b/libavcodec/x86/idctdsp.h
index 738e4e36e4..9e8474cacd 100644
--- a/libavcodec/x86/idctdsp.h
+++ b/libavcodec/x86/idctdsp.h
@@ -22,11 +22,11 @@
#include <stddef.h>
#include <stdint.h>
-void ff_add_pixels_clamped_sse2(const int16_t *block, uint8_t *pixels,
+void ff_add_pixels_clamped_sse2(const int16_t *block, uint8_t *restrict pixels,
ptrdiff_t line_size);
-void ff_put_pixels_clamped_sse2(const int16_t *block, uint8_t *pixels,
+void ff_put_pixels_clamped_sse2(const int16_t *block, uint8_t *restrict pixels,
ptrdiff_t line_size);
-void ff_put_signed_pixels_clamped_sse2(const int16_t *block, uint8_t *pixels,
+void ff_put_signed_pixels_clamped_sse2(const int16_t *block, uint8_t *restrict pixels,
ptrdiff_t line_size);
--
2.49.1
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-09-27 1:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-27 1:26 [FFmpeg-devel] [PATCH] Few MSVC warnings fixes (PR #20619) Kacper Michajłow via ffmpeg-devel
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ http://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git