summaryrefslogtreecommitdiff
path: root/libswscale/rgb2rgb.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-13 01:07:30 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-13 01:29:48 +0100
commitb18e17eabf3ba51da2d0fd0f85c4815945bfd70a (patch)
treee949920e01cba93fbedca647076f72b31eec59cb /libswscale/rgb2rgb.c
parenta2c419848df3e76e164bd19c3841f39d2971d326 (diff)
parent4df30f71147b7bedd4457bcfa0e4efe01085af9f (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits) utils: Check for extradata size overflows. ARM: rv34: fix asm syntax in dc transform functions avio: Fix the value of the deprecated URL_FLAG_NONBLOCK rv34: fix and optimise frame dependency checking rv34: NEON optimised dc only inverse transform avprobe: use avio_size() instead of deprecated AVFormatContext.file_size. ffmenc: remove references to deprecated AVFormatContext.timestamp. lavf: undeprecate read_seek(). avserver: remove code using deprecated CODEC_CAP_PARSE_ONLY. lavc: replace some remaining FF_I_TYPE with AV_PICTURE_TYPE_I lavc: ifdef out parse_only AVOption nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT mpegvideo_enc: ifdef out/replace references to deprecated codec flags. riff: remove references to sonic codec ids indeo4: add some missing static and const qualifiers rv34: DC-only inverse transform avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields lavfi: move version macros to a new installed header version.h vsrc_buffer: release the buffer on uninit. rgb2rgb: rgb12tobgr12() ... Conflicts: avconv.c doc/APIchanges ffprobe.c libavfilter/Makefile libavfilter/avfilter.h libswscale/rgb2rgb.c libswscale/rgb2rgb.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/rgb2rgb.c')
-rw-r--r--libswscale/rgb2rgb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libswscale/rgb2rgb.c b/libswscale/rgb2rgb.c
index eb7ca7ba1a..31ebc20a68 100644
--- a/libswscale/rgb2rgb.c
+++ b/libswscale/rgb2rgb.c
@@ -284,14 +284,14 @@ void rgb15tobgr15(const uint8_t *src, uint8_t *dst, int src_size)
void rgb12tobgr12(const uint8_t *src, uint8_t *dst, int src_size)
{
+ uint16_t *d = (uint16_t*)dst;
+ uint16_t *s = (uint16_t*)src;
int i;
int num_pixels = src_size >> 1;
for (i = 0; i < num_pixels; i++) {
- unsigned br;
- unsigned rgb = ((const uint16_t *)src)[i];
- br = rgb & 0x0F0F;
- ((uint16_t *)dst)[i] = (br >> 8) | (rgb & 0x00F0) | (br << 8);
+ unsigned rgb = s[i];
+ d[i] = (rgb << 8 | rgb & 0xF0 | rgb >> 8) & 0xFFF;
}
}