[FFmpeg-devel] [PATCH] dsputil: add bswap16_buf()
Mans Rullgard
mans
Sun Jun 13 18:59:20 CEST 2010
---
libavcodec/dsputil.c | 7 +++++++
libavcodec/dsputil.h | 1 +
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 0701324..1ecd73f 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -260,6 +260,12 @@ static void bswap_buf(uint32_t *dst, const uint32_t *src, int w){
}
}
+static void bswap16_buf(uint16_t *dst, const uint16_t *src, int len)
+{
+ while (len--)
+ *dst++ = bswap_16(*src++);
+}
+
static int sse4_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h)
{
int s, i;
@@ -4455,6 +4461,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx)
c->add_hfyu_left_prediction = add_hfyu_left_prediction_c;
c->add_hfyu_left_prediction_bgr32 = add_hfyu_left_prediction_bgr32_c;
c->bswap_buf= bswap_buf;
+ c->bswap16_buf = bswap16_buf;
#if CONFIG_PNG_DECODER
c->add_png_paeth_prediction= ff_add_png_paeth_prediction;
#endif
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index fd2d07f..f3926cd 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -365,6 +365,7 @@ typedef struct DSPContext {
/* this might write to dst[w] */
void (*add_png_paeth_prediction)(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp);
void (*bswap_buf)(uint32_t *dst, const uint32_t *src, int w);
+ void (*bswap16_buf)(uint16_t *dst, const uint16_t *src, int len);
void (*h263_v_loop_filter)(uint8_t *src, int stride, int qscale);
void (*h263_h_loop_filter)(uint8_t *src, int stride, int qscale);
--
1.7.1
More information about the ffmpeg-devel
mailing list