On 23/07/14 21:43, Anton Khirnov wrote: > > On Mon, 14 Jul 2014 12:55:36 +0200, Luca Barbato <[email protected]> wrote: >> Square prediction units are the most common. >> About 0.7% faster on 4k videos. >> --- >> libavcodec/hevc.c | 64 >> +++++++++++++++++++++++++++++++++---------- >> libavcodec/hevcdsp.c | 6 ++++ >> libavcodec/hevcdsp.h | 2 ++ >> libavcodec/hevcdsp_template.c | 16 +++++++++++ >> 4 files changed, 73 insertions(+), 15 deletions(-) >> >> diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c >> index 1634185..7d15ed3 100644 >> --- a/libavcodec/hevc.c >> +++ b/libavcodec/hevc.c >> @@ -27,6 +27,7 @@ >> #include "libavutil/common.h" >> #include "libavutil/display.h" >> #include "libavutil/internal.h" >> +#include "libavutil/intmath.h" >> #include "libavutil/md5.h" >> #include "libavutil/opt.h" >> #include "libavutil/pixdesc.h" >> @@ -1652,9 +1653,27 @@ static void hevc_await_progress(HEVCContext *s, >> HEVCFrame *ref, >> ff_thread_await_progress(&ref->tf, y, 0); >> } >> >> -static void hls_prediction_unit(HEVCContext *s, int x0, int y0, >> - int nPbW, int nPbH, >> - int log2_cb_size, int partIdx) >> +av_always_inline >> +static void put_unweighted_pred(HEVCContext *s, >> + uint8_t *dst, ptrdiff_t dststride, >> + int16_t *src, ptrdiff_t srcstride, >> + int width, int height, int square) >> +{ >> + if (!square) { >> + s->hevcdsp.put_unweighted_pred(dst, dststride, >> + src, srcstride, width, height); >> + } else { >> + const int square = av_log2_16bit(width) - 2; > > Variable shadowing is evil, rename this to something like log_size
ops, you are right :) > Otherwise looks ok It depends on the rest of the patchset you have or it got merged while I wasn't watching? lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
