[FFmpeg-devel] [PATCH 10/11] avcodec/x86: add an 8-bit simple IDCT function based on the x86-64 high depth functions
James Darnley
jdarnley at obe.tv
Tue Jun 20 19:46:30 EEST 2017
On 2017-06-19 17:11, James Darnley wrote:
> diff --git a/libavcodec/x86/simple_idct10_template.asm b/libavcodec/x86/simple_idct10_template.asm
> index 51baf84c82..02fd445ec0 100644
> --- a/libavcodec/x86/simple_idct10_template.asm
> +++ b/libavcodec/x86/simple_idct10_template.asm
> @@ -258,6 +258,10 @@
>
> IDCT_1D %1, %2, %8
> %elif %2 == 11
> + ; This copies the DC-only shortcut. When there is only a DC coefficient the
> + ; C shifts the value and splats it to all coeffs rather than multiplying and
> + ; doing the full IDCT. This causes a difference on 8-bit because the
> + ; coefficient is 16383 rather than 16384 (which you can get with shifting).
> por m1, m8, m13
> por m1, m12
> por m1, [blockq+ 16] ; { row[1] }[0-7]
> @@ -293,8 +297,6 @@
> por m9, m6
> pand m10, m5
> por m10, m6
> - pand m3, m5
> - por m3, m6
> %else
> IDCT_1D %1, %2
> %endif
>
Now I see where these went. I've moved these to the previous commit
which added the DC-only hack and as I said earlier I will push that one
soon.
More information about the ffmpeg-devel
mailing list