avcodec/pngdsp: Constify

Also constify ff_png_filter_row().

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt
2026-01-06 16:55:43 +01:00
parent 3bbb3269a1
commit 5f15c067fe
5 changed files with 19 additions and 17 deletions
+1 -1
View File
@@ -58,6 +58,6 @@ int ff_png_get_nb_channels(int color_type);
int ff_png_pass_row_size(int pass, int bits_per_pixel, int width);
void ff_png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
uint8_t *src, uint8_t *last, int size, int bpp);
const uint8_t *src, const uint8_t *last, int size, int bpp);
#endif /* AVCODEC_PNG_H */
+2 -2
View File
@@ -257,7 +257,7 @@ static void png_put_interlaced_row(uint8_t *dst, int width,
/* NOTE: 'dst' can be equal to 'last' */
void ff_png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
uint8_t *src, uint8_t *last, int size, int bpp)
const uint8_t *src, const uint8_t *last, int size, int bpp)
{
int i, p, r, g, b, a;
@@ -271,7 +271,7 @@ void ff_png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
if (bpp == 4) {
p = *(int *)dst;
for (; i < size; i += bpp) {
unsigned s = *(int *)(src + i);
unsigned s = *(const int *)(src + i);
p = ((s & 0x7f7f7f7f) + (p & 0x7f7f7f7f)) ^ ((s ^ p) & 0x80808080);
*(int *)(dst + i) = p;
}
+4 -3
View File
@@ -42,7 +42,8 @@ typedef uint32_t uint_native;
#define pb_7f (~(uint_native)0 / 255 * 0x7f)
#define pb_80 (~(uint_native)0 / 255 * 0x80)
static void add_bytes_l2_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
static void add_bytes_l2_c(uint8_t *dst, const uint8_t *src1,
const uint8_t *src2, int w)
{
long i;
for (i = 0; i <= w - (int) sizeof(uint_native); i += sizeof(uint_native)) {
@@ -54,8 +55,8 @@ static void add_bytes_l2_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
dst[i] = src1[i] + src2[i];
}
void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top,
int w, int bpp)
void ff_add_png_paeth_prediction(uint8_t *dst, const uint8_t *src,
const uint8_t *top, int w, int bpp)
{
for (int i = 0; i < w; ++i) {
int a, b, c, p, pa, pb, pc;
+6 -5
View File
@@ -28,16 +28,17 @@
typedef struct PNGDSPContext {
void (*add_bytes_l2)(uint8_t *dst,
uint8_t *src1 /* align 16 */,
uint8_t *src2, int w);
const uint8_t *src1 /* align 16 */,
const uint8_t *src2, int w);
/* this might write to dst[w] */
void (*add_paeth_prediction)(uint8_t *dst, uint8_t *src,
uint8_t *top, int w, int bpp);
void (*add_paeth_prediction)(uint8_t *dst, const uint8_t *src,
const uint8_t *top, int w, int bpp);
} PNGDSPContext;
FF_VISIBILITY_PUSH_HIDDEN
void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp);
void ff_add_png_paeth_prediction(uint8_t *dst, const uint8_t *src,
const uint8_t *top, int w, int bpp);
void ff_pngdsp_init(PNGDSPContext *dsp);
void ff_pngdsp_init_x86(PNGDSPContext *dsp);
+6 -6
View File
@@ -24,12 +24,12 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/pngdsp.h"
void ff_add_png_paeth_prediction_mmxext(uint8_t *dst, uint8_t *src,
uint8_t *top, int w, int bpp);
void ff_add_png_paeth_prediction_ssse3(uint8_t *dst, uint8_t *src,
uint8_t *top, int w, int bpp);
void ff_add_bytes_l2_sse2(uint8_t *dst, uint8_t *src1,
uint8_t *src2, int w);
void ff_add_png_paeth_prediction_mmxext(uint8_t *dst, const uint8_t *src,
const uint8_t *top, int w, int bpp);
void ff_add_png_paeth_prediction_ssse3(uint8_t *dst, const uint8_t *src,
const uint8_t *top, int w, int bpp);
void ff_add_bytes_l2_sse2(uint8_t *dst, const uint8_t *src1,
const uint8_t *src2, int w);
av_cold void ff_pngdsp_init_x86(PNGDSPContext *dsp)
{