summaryrefslogtreecommitdiff
path: root/libavcodec/mips/h264chroma_mmi.c
Commit message (Collapse)AuthorAge
* avcodec/h264chroma: Constify src in h264_chroma_mc_funcAndreas Rheinhardt2022-08-05
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mips: Use MMI marcos to replace Loongson3 instructionsJiaxun Yang2021-07-28
| | | | | | | | | | | | | | | Loongson3's extention instructions (prefixed with gs) are widely used in our MMI codebase. However, these instructions are not avilable on Loongson-2E/F while MMI code should work on these processors. Previously we introduced mmiutils marcos to provide backward compactbility but newly commited code didn't follow that. In this patch I revised the codebase and converted all these instructions into MMI marcos to get Loongson2 supproted again. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/mips: Fix build errors reported by clangJin Bo2021-06-03
| | | | | | | | | | Clang is more strict on the type of asm operands, float or double type variable should use constraint 'f', integer variable should use constraint 'r'. Signed-off-by: Jin Bo <jinbo@loongson.cn> Reviewed-by: yinshiyou-hf@loongson.cn Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/mips: Fix specification of instruction nameJin Bo2021-05-28
| | | | | | | | | | | 1.'xor,or,and' to 'pxor,por,pand'. In the case of operating FPR, gcc supports both of them, clang only supports the second type. 2.'dsrl,srl' to 'ssrld,ssrlw'. In the case of operating FPR, gcc supports both of them, clang only supports the second type. Signed-off-by: Jin Bo <jinbo@loongson.cn> Reviewed-by: yinshiyou-hf@loongson.cn Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mips: [loongson] refine optimization in h264_chroma.Shiyou Yin2018-12-01
| | | | | | | Remove invalid operation in the case x and y all equal 0, this refine made about 2% speedup for H264 decode on loongson platform. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mips: [loongson] reoptimize h264_chroma_mc8_mmi v2.Shiyou Yin2018-09-02
| | | | | | | Reoptimize function ff_put_h264_chroma_mc8_mmi and ff_avg_h264_chroma_mc8_mmi. Performance of h264 decoding improved about 5%(from 69fps to 73fps, tested on loongson 3A3000). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c'James Almer2017-03-21
| | | | | | | * commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c': h264chroma: Change type of stride parameters to ptrdiff_t Merged-by: James Almer <jamrial@gmail.com>
* avcodec/mips: loongson optimize mmi load and store operatorsZhou Xiaoyong2016-10-23
| | | | | | | | 1.MMI_ load/store macros are defined in libavutil/mips/mmiutils.h 2.Replace some unnecessary unaligned access with aligned operator 3.The MMI_ load/store is compatible with cpu loongson2e/2f which not support instructions start with gs Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mips/h264chroma_mmi: Version 2 of the optimizations for loongson mmiZhouXiaoyong2016-05-21
| | | | | | | | 1. no longer use the register names directly and optimized code format 2. to be compatible with O32, specify type of address variable with mips_reg and handle the address variable with PTR_ operator 3. use uld and mtc1 to workaround cpu 3A2000 gslwlc1 bug (gslwlc1 instruction extension bug in O32 ABI) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: loongson3 optimized h264chroma put and avg with mmi周晓勇2015-06-02
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>