From d9779d648e82baf4b9b033443cb3105a2f003651 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 20 Jan 2014 22:21:24 +0100 Subject: [PATCH] Move sub_hfyu_median_prediction_int16() to losslessviddsp Signed-off-by: Michael Niedermayer --- libavcodec/huffyuvenc.c | 20 +------------------- libavcodec/lossless_videodsp.c | 19 +++++++++++++++++++ libavcodec/lossless_videodsp.h | 1 + 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index aba8f9c09c..7c19a08e45 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -156,25 +156,7 @@ static void sub_median_prediction(HYuvContext *s, uint8_t *dst, const uint8_t *s if (s->bps <= 8) { s->dsp.sub_hfyu_median_prediction(dst, src1, src2, w , left, left_top); } else { - int i; - uint16_t l, lt; - const uint16_t *src116 = (const uint16_t *)src1; - const uint16_t *src216 = (const uint16_t *)src2; - uint16_t *dst16 = ( uint16_t *)dst; - unsigned mask = s->n - 1; - - l = *left; - lt = *left_top; - - for(i=0; illviddsp.sub_hfyu_median_prediction_int16((uint16_t *)dst, (const uint16_t *)src1, (const uint16_t *)src2, s->n - 1, w , left, left_top); } } diff --git a/libavcodec/lossless_videodsp.c b/libavcodec/lossless_videodsp.c index 8279901f1e..72eeb269ae 100644 --- a/libavcodec/lossless_videodsp.c +++ b/libavcodec/lossless_videodsp.c @@ -77,6 +77,24 @@ static void add_hfyu_median_prediction_int16_c(uint16_t *dst, const uint16_t *sr *left_top = lt; } +static void sub_hfyu_median_prediction_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; + + l = *left; + lt = *left_top; + + for(i=0; idiff_int16= diff_int16_c; c->add_hfyu_left_prediction_int16 = add_hfyu_left_prediction_int16_c; c->add_hfyu_median_prediction_int16 = add_hfyu_median_prediction_int16_c; + c->sub_hfyu_median_prediction_int16 = sub_hfyu_median_prediction_int16_c; if (ARCH_X86) ff_llviddsp_init_x86(c); diff --git a/libavcodec/lossless_videodsp.h b/libavcodec/lossless_videodsp.h index 87b133a5b2..e4dfca3d33 100644 --- a/libavcodec/lossless_videodsp.h +++ b/libavcodec/lossless_videodsp.h @@ -29,6 +29,7 @@ typedef struct LLVidDSPContext { void (*add_int16)(uint16_t *dst/*align 16*/, const uint16_t *src/*align 16*/, unsigned mask, int w); void (*diff_int16)(uint16_t *dst/*align 16*/, const uint16_t *src1/*align 16*/, const uint16_t *src2/*align 1*/, unsigned mask, int w); + void (*sub_hfyu_median_prediction_int16)(uint16_t *dst, const uint16_t *src1, const uint16_t *src2, unsigned mask, int w, int *left, int *left_top); void (*add_hfyu_median_prediction_int16)(uint16_t *dst, const uint16_t *top, const uint16_t *diff, unsigned mask, int w, int *left, int *left_top); int (*add_hfyu_left_prediction_int16)(uint16_t *dst, const uint16_t *src, unsigned mask, int w, int left); } LLVidDSPContext;