|
|
|
@ -548,7 +548,7 @@ INIT_XMM sse4 ; adds ff_ and _sse4 to functio |
|
|
|
|
; ****************************** |
|
|
|
|
|
|
|
|
|
%macro HEVC_PUT_HEVC_PEL_PIXELS 2 |
|
|
|
|
cglobal hevc_put_hevc_pel_pixels%1_%2, 5, 5, 3, dst, dststride, src, srcstride,height |
|
|
|
|
cglobal hevc_put_hevc_pel_pixels%1_%2, 4, 4, 3, dst, src, srcstride,height |
|
|
|
|
pxor m2, m2 |
|
|
|
|
.loop |
|
|
|
|
SIMPLE_LOAD %1, %2, srcq, m0 |
|
|
|
@ -595,7 +595,7 @@ cglobal hevc_put_hevc_bi_pel_pixels%1_%2, 7, 7, 6, dst, dststride, src, srcstrid |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%macro HEVC_PUT_HEVC_EPEL 2 |
|
|
|
|
cglobal hevc_put_hevc_epel_h%1_%2, 6, 7, 6, dst, dststride, src, srcstride, height, mx, rfilter |
|
|
|
|
cglobal hevc_put_hevc_epel_h%1_%2, 5, 6, 6, dst, src, srcstride, height, mx, rfilter |
|
|
|
|
%assign %%stride ((%2 + 7)/8) |
|
|
|
|
EPEL_FILTER %2, mx, m4, m5 |
|
|
|
|
.loop |
|
|
|
@ -643,7 +643,7 @@ cglobal hevc_put_hevc_bi_epel_h%1_%2, 8, 9, 7, dst, dststride, src, srcstride, s |
|
|
|
|
; int16_t* mcbuffer) |
|
|
|
|
; ****************************** |
|
|
|
|
|
|
|
|
|
cglobal hevc_put_hevc_epel_v%1_%2, 7, 8, 6, dst, dststride, src, srcstride, height, r3src, my, rfilter |
|
|
|
|
cglobal hevc_put_hevc_epel_v%1_%2, 6, 7, 6, dst, src, srcstride, height, r3src, my, rfilter |
|
|
|
|
lea r3srcq, [srcstrideq*3] |
|
|
|
|
sub srcq, srcstrideq |
|
|
|
|
EPEL_FILTER %2, my, m4, m5 |
|
|
|
@ -698,7 +698,7 @@ cglobal hevc_put_hevc_bi_epel_v%1_%2, 9, 10, 7, dst, dststride, src, srcstride, |
|
|
|
|
; ****************************** |
|
|
|
|
|
|
|
|
|
%macro HEVC_PUT_HEVC_EPEL_HV 2 |
|
|
|
|
cglobal hevc_put_hevc_epel_hv%1_%2, 7, 9, 12 , dst, dststride, src, srcstride, height, mx, my, r3src, rfilter |
|
|
|
|
cglobal hevc_put_hevc_epel_hv%1_%2, 6, 8, 12 , dst, src, srcstride, height, mx, my, r3src, rfilter |
|
|
|
|
%assign %%stride ((%2 + 7)/8) |
|
|
|
|
sub srcq, srcstrideq |
|
|
|
|
EPEL_HV_FILTER %2 |
|
|
|
@ -819,7 +819,7 @@ cglobal hevc_put_hevc_bi_epel_hv%1_%2, 9, 11, 16, dst, dststride, src, srcstride |
|
|
|
|
; ****************************** |
|
|
|
|
|
|
|
|
|
%macro HEVC_PUT_HEVC_QPEL 2 |
|
|
|
|
cglobal hevc_put_hevc_qpel_h%1_%2, 6, 7, 15 , dst, dststride, src, srcstride, height, mx, rfilter |
|
|
|
|
cglobal hevc_put_hevc_qpel_h%1_%2, 5, 6, 15, dst, src, srcstride, height, mx, rfilter |
|
|
|
|
QPEL_FILTER %2, mx |
|
|
|
|
.loop |
|
|
|
|
QPEL_H_LOAD %2, srcq, %1, 10 |
|
|
|
@ -874,11 +874,11 @@ cglobal hevc_put_hevc_bi_qpel_h%1_%2, 8, 9, 16 , dst, dststride, src, srcstride, |
|
|
|
|
; int width, int height, int mx, int my) |
|
|
|
|
; ****************************** |
|
|
|
|
|
|
|
|
|
cglobal hevc_put_hevc_qpel_v%1_%2, 7, 9, 15, dst, dststride, src, srcstride, height, r3src, my, rfilter |
|
|
|
|
cglobal hevc_put_hevc_qpel_v%1_%2, 6, 8, 15, dst, src, srcstride, height, r3src, my, rfilter |
|
|
|
|
lea r3srcq, [srcstrideq*3] |
|
|
|
|
QPEL_FILTER %2, my |
|
|
|
|
.loop |
|
|
|
|
QPEL_V_LOAD %2, srcq, srcstride, %1, r8 |
|
|
|
|
QPEL_V_LOAD %2, srcq, srcstride, %1, r7 |
|
|
|
|
QPEL_COMPUTE %1, %2 |
|
|
|
|
%if %2 > 8 |
|
|
|
|
packssdw m0, m1 |
|
|
|
@ -933,7 +933,7 @@ cglobal hevc_put_hevc_bi_qpel_v%1_%2, 9, 11, 16, dst, dststride, src, srcstride, |
|
|
|
|
; int height, int mx, int my) |
|
|
|
|
; ****************************** |
|
|
|
|
%macro HEVC_PUT_HEVC_QPEL_HV 2 |
|
|
|
|
cglobal hevc_put_hevc_qpel_hv%1_%2, 7, 9, 12 , dst, dststride, src, srcstride, height, mx, my, r3src, rfilter |
|
|
|
|
cglobal hevc_put_hevc_qpel_hv%1_%2, 6, 8, 12, dst, src, srcstride, height, mx, my, r3src, rfilter |
|
|
|
|
lea mxq, [mxq*8-8] |
|
|
|
|
lea myq, [myq*8-8] |
|
|
|
|
lea r3srcq, [srcstrideq*3] |
|
|
|
|