diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-02-03 02:41:47 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-02-03 03:51:32 +0100 |
commit | d77294c5e404c8a214da0e74f7836390b48b2dba (patch) | |
tree | 9c894cf54b1e18f285cc04eaf7e021e9976f4f2b /libswscale/bfin/yuv2rgb_bfin.c | |
parent | 9477fa094b89645b3a34ef3bc52c4f18719ab4b3 (diff) | |
parent | e15e2a6d2a886aa9944ac9798687104c829d1541 (diff) | |
download | ffmpeg-d77294c5e404c8a214da0e74f7836390b48b2dba.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
libx264: fix indentation.
vorbis: fix overflows in floor1[] vector and inverse db table index.
win64: add a XMM clobber test configure option.
movdec: Parse the dvc1 atom
ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6
swscale: K&R formatting cosmetics for Blackfin code
frwu: lowercase the FRWU codec name
movdec: fix dts generation in fragmented files
fate: make acodec-ac3_fixed test output raw AC3
APIchanges: add missing commit hashes
swscale: implement MMX, SSE2 and AVX functions for RGB32 input.
ra144enc: drop pointless "encoder" from .long_name
bethsoftvideo: fix palette reading.
mpc7: use av_fast_padded_malloc()
mpc7: simplify handling of packet sizes that are not a multiple of 4 bytes
doc: decoding Forward Uncompressed is supported
Fix a typo in the x86 asm version of ff_vector_clip_int32()
pcmenc: Do not set avpkt->size.
ff_alloc_packet: modify the size of the packet to match the requested size
Conflicts:
doc/APIchanges
libavcodec/libx264.c
libavcodec/mpc7.c
libavformat/isom.h
libswscale/Makefile
libswscale/bfin/yuv2rgb_bfin.c
tests/ref/fate/bethsoft-vid
tests/ref/seek/ac3_ac3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/bfin/yuv2rgb_bfin.c')
-rw-r--r-- | libswscale/bfin/yuv2rgb_bfin.c | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/libswscale/bfin/yuv2rgb_bfin.c b/libswscale/bfin/yuv2rgb_bfin.c index 7a7dc7f0e6..e7f657fe00 100644 --- a/libswscale/bfin/yuv2rgb_bfin.c +++ b/libswscale/bfin/yuv2rgb_bfin.c @@ -26,15 +26,16 @@ #include <string.h> #include <inttypes.h> #include <assert.h> -#include "config.h" #include <unistd.h> #include "libavutil/pixdesc.h" + +#include "config.h" #include "libswscale/rgb2rgb.h" #include "libswscale/swscale.h" #include "libswscale/swscale_internal.h" #if defined(__FDPIC__) && CONFIG_SRAM -#define L1CODE __attribute__ ((l1_text)) +#define L1CODE __attribute__((l1_text)) #else #define L1CODE #endif @@ -48,21 +49,20 @@ void ff_bfin_yuv2rgb565_line(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out, void ff_bfin_yuv2rgb24_line(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out, int w, uint32_t *coeffs) L1CODE; -typedef void (* ltransform)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out, - int w, uint32_t *coeffs); - +typedef void (*ltransform)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out, + int w, uint32_t *coeffs); static void bfin_prepare_coefficients(SwsContext *c, int rgb, int masks) { int oy; - oy = c->yOffset&0xffff; - oy = oy >> 3; // keep everything U8.0 for offset calculation + oy = c->yOffset & 0xffff; + oy = oy >> 3; // keep everything U8.0 for offset calculation - c->oc = 128*0x01010101U; - c->oy = oy*0x01010101U; + c->oc = 128 * 0x01010101U; + c->oy = oy * 0x01010101U; /* copy 64bit vector coeffs down to 32bit vector coeffs */ - c->cy = c->yCoeff; + c->cy = c->yCoeff; c->zero = 0; if (rgb) { @@ -77,7 +77,6 @@ static void bfin_prepare_coefficients(SwsContext *c, int rgb, int masks) c->cgv = c->ugCoeff; } - if (masks == 555) { c->rmask = 0x001f * 0x00010001U; c->gmask = 0x03e0 * 0x00010001U; @@ -89,27 +88,25 @@ static void bfin_prepare_coefficients(SwsContext *c, int rgb, int masks) } } -static int core_yuv420_rgb(SwsContext *c, - uint8_t **in, int *instrides, - int srcSliceY, int srcSliceH, - uint8_t **oplanes, int *outstrides, - ltransform lcscf, int rgb, int masks) +static int core_yuv420_rgb(SwsContext *c, uint8_t **in, int *instrides, + int srcSliceY, int srcSliceH, uint8_t **oplanes, + int *outstrides, ltransform lcscf, + int rgb, int masks) { - uint8_t *py,*pu,*pv,*op; + uint8_t *py, *pu, *pv, *op; int w = instrides[0]; - int h2 = srcSliceH>>1; + int h2 = srcSliceH >> 1; int i; bfin_prepare_coefficients(c, rgb, masks); py = in[0]; - pu = in[1+(1^rgb)]; - pv = in[1+(0^rgb)]; - - op = oplanes[0] + srcSliceY*outstrides[0]; + pu = in[1 + (1 ^ rgb)]; + pv = in[1 + (0 ^ rgb)]; - for (i=0;i<h2;i++) { + op = oplanes[0] + srcSliceY * outstrides[0]; + for (i = 0; i < h2; i++) { lcscf(py, pu, pv, op, w, &c->oy); py += instrides[0]; @@ -126,9 +123,7 @@ static int core_yuv420_rgb(SwsContext *c, return srcSliceH; } - -static int bfin_yuv420_rgb555(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_rgb555(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -136,8 +131,7 @@ static int bfin_yuv420_rgb555(SwsContext *c, outstrides, ff_bfin_yuv2rgb555_line, 1, 555); } -static int bfin_yuv420_bgr555(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_bgr555(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -145,8 +139,7 @@ static int bfin_yuv420_bgr555(SwsContext *c, outstrides, ff_bfin_yuv2rgb555_line, 0, 555); } -static int bfin_yuv420_rgb24(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_rgb24(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -154,8 +147,7 @@ static int bfin_yuv420_rgb24(SwsContext *c, outstrides, ff_bfin_yuv2rgb24_line, 1, 888); } -static int bfin_yuv420_bgr24(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_bgr24(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -163,8 +155,7 @@ static int bfin_yuv420_bgr24(SwsContext *c, outstrides, ff_bfin_yuv2rgb24_line, 0, 888); } -static int bfin_yuv420_rgb565(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_rgb565(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -172,8 +163,7 @@ static int bfin_yuv420_rgb565(SwsContext *c, outstrides, ff_bfin_yuv2rgb565_line, 1, 565); } -static int bfin_yuv420_bgr565(SwsContext *c, - uint8_t **in, int *instrides, +static int bfin_yuv420_bgr565(SwsContext *c, uint8_t **in, int *instrides, int srcSliceY, int srcSliceH, uint8_t **oplanes, int *outstrides) { @@ -181,18 +171,29 @@ static int bfin_yuv420_bgr565(SwsContext *c, outstrides, ff_bfin_yuv2rgb565_line, 0, 565); } - SwsFunc ff_yuv2rgb_get_func_ptr_bfin(SwsContext *c) { SwsFunc f; - switch(c->dstFormat) { - case PIX_FMT_RGB555: f = bfin_yuv420_rgb555; break; - case PIX_FMT_BGR555: f = bfin_yuv420_bgr555; break; - case PIX_FMT_RGB565: f = bfin_yuv420_rgb565; break; - case PIX_FMT_BGR565: f = bfin_yuv420_bgr565; break; - case PIX_FMT_RGB24: f = bfin_yuv420_rgb24; break; - case PIX_FMT_BGR24: f = bfin_yuv420_bgr24; break; + switch (c->dstFormat) { + case PIX_FMT_RGB555: + f = bfin_yuv420_rgb555; + break; + case PIX_FMT_BGR555: + f = bfin_yuv420_bgr555; + break; + case PIX_FMT_RGB565: + f = bfin_yuv420_rgb565; + break; + case PIX_FMT_BGR565: + f = bfin_yuv420_bgr565; + break; + case PIX_FMT_RGB24: + f = bfin_yuv420_rgb24; + break; + case PIX_FMT_BGR24: + f = bfin_yuv420_bgr24; + break; default: return 0; } |