mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-06-16 04:32:47 +02:00
avcodec/pngdsp: Constify
Also constify ff_png_filter_row(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user