27 #define pw_1 (ULONG_MAX / UINT16_MAX)
31 unsigned long pw_lsb = (
mask >> 1) *
pw_1;
32 unsigned long pw_msb = pw_lsb +
pw_1;
33 for (
i = 0;
i <=
w - (
int)
sizeof(
long)/2;
i +=
sizeof(long)/2) {
34 long a = *(
long*)(
src+
i);
35 long b = *(
long*)(dst+
i);
36 *(
long*)(dst+
i) = ((
a&pw_lsb) + (
b&pw_lsb)) ^ ((
a^
b)&pw_msb);
65 for (
i = 0;
i <
w;
i++) {
Macro definitions for various function/variable attributes.
static enum AVPixelFormat pix_fmt
void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt)
static void add_hfyu_median_pred_int16_c(uint16_t *dst, const uint16_t *src, const uint16_t *diff, unsigned mask, int w, int *left, int *left_top)
av_cold void ff_huffyuvdsp_init(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt)
static void add_int16_c(uint16_t *dst, const uint16_t *src, unsigned mask, int w)
static void add_hfyu_left_pred_bgr32_c(uint8_t *dst, const uint8_t *src, intptr_t w, uint8_t *left)
static const uint16_t mask[17]
AVPixelFormat
Pixel format.
static av_always_inline int diff(const uint32_t a, const uint32_t b)