diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-15 13:56:05 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-15 15:07:10 +0100 |
commit | 91e00c4a785d3f4cd44f1044d3e7b1b34fee8b5c (patch) | |
tree | a866df7014974a63c167522f426dc53596d3c77b /libavcodec/vp9.c | |
parent | e28130bcaf48281b431ea611a546e7520bb90dda (diff) | |
parent | 458446acfa1441d283dacf9e6e545beb083b8bb0 (diff) | |
download | ffmpeg-91e00c4a785d3f4cd44f1044d3e7b1b34fee8b5c.tar.gz |
Merge commit '458446acfa1441d283dacf9e6e545beb083b8bb0'
* commit '458446acfa1441d283dacf9e6e545beb083b8bb0':
lavc: Edge emulation with dst/src linesize
Conflicts:
libavcodec/cavs.c
libavcodec/h264.c
libavcodec/hevc.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/rv34.c
libavcodec/svq3.c
libavcodec/vc1dec.c
libavcodec/videodsp.h
libavcodec/videodsp_template.c
libavcodec/vp3.c
libavcodec/vp8.c
libavcodec/wmv2.c
libavcodec/x86/videodsp.asm
libavcodec/x86/videodsp_init.c
Changes to the asm are not merged, they are left for volunteers or
in their absence for later.
The changes this merge introduces are reordering of the function
arguments
See: face578d56c2d1375e40d5e2a28acc122132bc55
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r-- | libavcodec/vp9.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 4f9c1ad1da..bd288ce9d6 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -2223,9 +2223,9 @@ static av_always_inline void mc_luma_dir(VP9Context *s, vp9_mc_func (*mc)[2], // FIXME bilinear filter only needs 0/1 pixels, not 3/4 if (x < !!mx * 3 || y < !!my * 3 || x + !!mx * 4 > w - bw || y + !!my * 4 > h - bh) { - s->vdsp.emulated_edge_mc(s->edge_emu_buffer, 80, + s->vdsp.emulated_edge_mc(s->edge_emu_buffer, ref - !!my * 3 * ref_stride - !!mx * 3, - ref_stride, + 80, ref_stride, bw + !!mx * 7, bh + !!my * 7, x - !!mx * 3, y - !!my * 3, w, h); ref = s->edge_emu_buffer + !!my * 3 * 80 + !!mx * 3; @@ -2253,15 +2253,17 @@ static av_always_inline void mc_chroma_dir(VP9Context *s, vp9_mc_func (*mc)[2], // FIXME bilinear filter only needs 0/1 pixels, not 3/4 if (x < !!mx * 3 || y < !!my * 3 || x + !!mx * 4 > w - bw || y + !!my * 4 > h - bh) { - s->vdsp.emulated_edge_mc(s->edge_emu_buffer, 80, - ref_u - !!my * 3 * src_stride_u - !!mx * 3, src_stride_u, + s->vdsp.emulated_edge_mc(s->edge_emu_buffer, + ref_u - !!my * 3 * src_stride_u - !!mx * 3, + 80, src_stride_u, bw + !!mx * 7, bh + !!my * 7, x - !!mx * 3, y - !!my * 3, w, h); ref_u = s->edge_emu_buffer + !!my * 3 * 80 + !!mx * 3; mc[!!mx][!!my](dst_u, dst_stride, ref_u, 80, bh, mx, my); - s->vdsp.emulated_edge_mc(s->edge_emu_buffer, 80, - ref_v - !!my * 3 * src_stride_v - !!mx * 3, src_stride_v, + s->vdsp.emulated_edge_mc(s->edge_emu_buffer, + ref_v - !!my * 3 * src_stride_v - !!mx * 3, + 80, src_stride_v, bw + !!mx * 7, bh + !!my * 7, x - !!mx * 3, y - !!my * 3, w, h); ref_v = s->edge_emu_buffer + !!my * 3 * 80 + !!mx * 3; |