diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-07-16 01:32:52 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-07-16 01:32:52 +0200 |
commit | fbe02459dc4f3c8f4d758c1a90ed8e35a800f3b9 (patch) | |
tree | 66263011ff0784ce9a33b697a117516de48401fa /libavcodec/snowenc.c | |
parent | 9a1963fbb872f08222a5b73fe96931708ca32732 (diff) | |
parent | b4675d0fbf6606ab737e81c3c0fe6a05c8764334 (diff) | |
download | ffmpeg-fbe02459dc4f3c8f4d758c1a90ed8e35a800f3b9.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
configure: Check for CommandLineToArgvW
vc1dec: Do not use random pred_flag if motion vector data is skipped
vp8: Enclose pthread function calls in ifdefs
snow: refactor code to work around a compiler bug in MSVC.
vp8: Include the thread headers before using the pthread types
configure: Check for getaddrinfo in ws2tcpip.h, too
vp8: implement sliced threading
vp8: move data from VP8Context->VP8Macroblock
vp8: refactor decoding a single mb_row
doc: update api changes with the right commit hashes
mem: introduce av_malloc_array and av_mallocz_array
Conflicts:
configure
doc/APIchanges
libavcodec/vp8.c
libavutil/mem.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/snowenc.c')
-rw-r--r-- | libavcodec/snowenc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index 329e7c22b9..e9dbb421ba 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -1013,10 +1013,18 @@ static av_always_inline int check_block_inter(SnowContext *s, int mb_x, int mb_y static av_always_inline int check_4block_inter(SnowContext *s, int mb_x, int mb_y, int p0, int p1, int ref, int *best_rd){ const int b_stride= s->b_width << s->block_max_depth; BlockNode *block= &s->block[mb_x + mb_y * b_stride]; - BlockNode backup[4]= {block[0], block[1], block[b_stride], block[b_stride+1]}; + BlockNode backup[4]; unsigned value; int rd, index; + /* We don't initialize backup[] during variable declaration, because + * that fails to compile on MSVC: "cannot convert from 'BlockNode' to + * 'int16_t'". */ + backup[0] = block[0]; + backup[1] = block[1]; + backup[2] = block[b_stride]; + backup[3] = block[b_stride + 1]; + assert(mb_x>=0 && mb_y>=0); assert(mb_x<b_stride); assert(((mb_x|mb_y)&1) == 0); |