diff options
author | James Almer <jamrial@gmail.com> | 2017-01-07 23:13:48 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-01-12 22:53:04 -0300 |
commit | cf9ef839606dd50f779c395d8a277de143f7e5b2 (patch) | |
tree | 615bcdf1fc268c6ef0b3cc75273ca08aff8254bd /libavcodec/huffyuvencdsp.c | |
parent | 30c1f27299d3fc2b0c0858c003066cc5e36a28af (diff) |
huffyuvencdsp: move shared functions to a new lossless_videoencdsp context
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/huffyuvencdsp.c')
-rw-r--r-- | libavcodec/huffyuvencdsp.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/libavcodec/huffyuvencdsp.c b/libavcodec/huffyuvencdsp.c index f051021094..7edcce872b 100644 --- a/libavcodec/huffyuvencdsp.c +++ b/libavcodec/huffyuvencdsp.c @@ -21,38 +21,6 @@ #include "huffyuvencdsp.h" #include "mathops.h" -// 0x7f7f7f7f or 0x7f7f7f7f7f7f7f7f or whatever, depending on the cpu's native arithmetic size -#define pb_7f (~0UL / 255 * 0x7f) -#define pb_80 (~0UL / 255 * 0x80) - -static void diff_bytes_c(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, intptr_t w) -{ - long i; - -#if !HAVE_FAST_UNALIGNED - if (((long)src1 | (long)src2) & (sizeof(long) - 1)) { - for (i = 0; i + 7 < w; i += 8) { - dst[i + 0] = src1[i + 0] - src2[i + 0]; - dst[i + 1] = src1[i + 1] - src2[i + 1]; - dst[i + 2] = src1[i + 2] - src2[i + 2]; - dst[i + 3] = src1[i + 3] - src2[i + 3]; - dst[i + 4] = src1[i + 4] - src2[i + 4]; - dst[i + 5] = src1[i + 5] - src2[i + 5]; - dst[i + 6] = src1[i + 6] - src2[i + 6]; - dst[i + 7] = src1[i + 7] - src2[i + 7]; - } - } else -#endif - for (i = 0; i <= w - (int) sizeof(long); i += sizeof(long)) { - long a = *(long *) (src1 + i); - long b = *(long *) (src2 + i); - *(long *) (dst + i) = ((a | pb_80) - (b & pb_7f)) ^ - ((a ^ b ^ pb_80) & pb_80); - } - for (; i < w; i++) - dst[i + 0] = src1[i + 0] - src2[i + 0]; -} - static void diff_int16_c(uint16_t *dst, const uint16_t *src1, const uint16_t *src2, unsigned mask, int w){ long i; #if !HAVE_FAST_UNALIGNED @@ -79,27 +47,6 @@ static void diff_int16_c(uint16_t *dst, const uint16_t *src1, const uint16_t *sr dst[i] = (src1[i] - src2[i]) & mask; } -static void sub_hfyu_median_pred_c(uint8_t *dst, const uint8_t *src1, - const uint8_t *src2, intptr_t w, - int *left, int *left_top) -{ - int i; - uint8_t l, lt; - - l = *left; - lt = *left_top; - - for (i = 0; i < w; i++) { - const int pred = mid_pred(l, src1[i], (l + src1[i] - lt) & 0xFF); - lt = src1[i]; - l = src2[i]; - dst[i] = l - pred; - } - - *left = l; - *left_top = lt; -} - static void sub_hfyu_median_pred_int16_c(uint16_t *dst, const uint16_t *src1, const uint16_t *src2, unsigned mask, int w, int *left, int *left_top){ int i; uint16_t l, lt; @@ -120,9 +67,7 @@ static void sub_hfyu_median_pred_int16_c(uint16_t *dst, const uint16_t *src1, co av_cold void ff_huffyuvencdsp_init(HuffYUVEncDSPContext *c, AVCodecContext *avctx) { - c->diff_bytes = diff_bytes_c; c->diff_int16 = diff_int16_c; - c->sub_hfyu_median_pred = sub_hfyu_median_pred_c; c->sub_hfyu_median_pred_int16 = sub_hfyu_median_pred_int16_c; if (ARCH_X86) |