Kaustubh Raste
10ab5534e0
avcodec/mips: Improve avc weighted mc msa functions
...
Replace generic with block size specific function.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-27 21:15:57 +02:00
Kaustubh Raste
ed1586b921
avcodec/mips: Removed generic function call in avc intra msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-27 21:15:57 +02:00
Kaustubh Raste
deeaaba1ab
avcodec/mips: preload data in hevc sao edge 45 degree filter msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-27 21:15:57 +02:00
Kaustubh Raste
16adbfe60c
avcodec/mips: Improve avc chroma horiz mc msa functions
...
Replace generic with block size specific function.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-24 02:33:48 +02:00
Kaustubh Raste
d6737539e7
avcodec/mips: Unrolled loops avc intra msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-24 02:33:48 +02:00
Kaustubh Raste
7f8417f226
avcodec/mips: Improve hevc uni-w copy mc msa functions
...
Load the specific destination bytes instead of MSA load and pack.
Pack the data to half word before clipping.
Use immediate unsigned saturation for clip to max saving one vector register.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-24 02:33:48 +02:00
Kaustubh Raste
f160a63bad
avcodec/mips: Remove generic func use in hevc non-uni copy mc msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-22 12:12:59 +02:00
Kaustubh Raste
2b15626997
avcodec/mips: preload data in hevc sao edge 90 degree filter msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-22 12:12:59 +02:00
Kaustubh Raste
bba9c1c6bb
avcodec/mips: Reduced conditional cases in avc inter lpf msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-21 03:02:24 +02:00
Kaustubh Raste
b5da07d434
avcodec/mips: Unrolled loops and expanded functions in avc put mc 10 & 30 msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-21 03:02:24 +02:00
Kaustubh Raste
e428e5ded6
avcodec/mips: preload data in hevc sao edge 0 degree filter msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-20 02:56:20 +02:00
Kaustubh Raste
f4ba85dc82
avcodec/mips: Fixed rnd_val variable to 6 in hevc uni mc msa functions
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-20 02:56:20 +02:00
Kaustubh Raste
1a85fb7e1e
avcodec/mips: Improve hevc sao band filter msa functions
...
Preload data in band filter 0-8 for better pipeline parallelization.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 22:36:42 +02:00
Kaustubh Raste
0105ed551c
avcodec/mips: Improve avc mc copy msa functions
...
Remove loops and unroll as block sizes are known.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 22:19:07 +02:00
Kaustubh Raste
e5a650e141
avcodec/mips: Improve avc lpf msa functions
...
Optimize luma intra case by reducing conditional cases.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 22:19:07 +02:00
Kaustubh Raste
c6314cd750
avcodec/mips: Improve hevc idct msa functions
...
Align the buffers. Remove reduandant constant array.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 01:47:14 +02:00
Kaustubh Raste
f692e55aab
avcodec/mips: Improve hevc lpf msa functions
...
Seperate the filter processing in all strong, all weak and strong + weak cases.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 01:47:14 +02:00
Kaustubh Raste
9b2c3c406f
avcodec/mips: Improve vp9 mc msa functions
...
Load the specific destination bytes instead of MSA load and pack.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-08 13:48:40 +02:00
Kaustubh Raste
c75b23cbea
avcodec/mips: Improve vp9 idct msa functions
...
Removed memset calls.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-08 13:48:40 +02:00
Kaustubh Raste
2e79813a8e
avcodec/mips: Improve vp9 lpf msa functions
...
Updated VP9_LPF_FILTER4_4W macro to process on 8 bit data.
Replaced VP9_LPF_FILTER4_8W with VP9_LPF_FILTER4_4W.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-08 13:48:40 +02:00
Kaustubh Raste
fa805df060
libavcodec/mips: Improve avc idct8 msa function
...
Replace memset call with msa stores.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-05 22:16:03 +02:00
Kaustubh Raste
36ea41de37
libavcodec/mips: Improve avc dequant-idct luma dc msa function
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-07-29 03:47:50 +02:00
Kaustubh Raste
a776cb2074
libavcodec/mips: Optimize avc idct 4x4 for msa
...
Removed memset call and improved performance.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-07-25 22:04:34 +02:00
Kaustubh Raste
df806605f7
avcodec: Add prefetch for mips
...
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-07-14 02:30:37 +02:00
Carl Eugen Hoyos
f4c133c708
lavc/mips/iirfilter_mips: Include config.h.
...
Fixes the following warning:
libavcodec/mips/iirfilter_mips.c:57:5: warning: "HAVE_INLINE_ASM" is not defined
2017-05-01 23:46:28 +02:00
Carl Eugen Hoyos
a88b0b0ba7
lavc/mips/hevc_idct_msa: Add missing const qualifier.
...
Fixes many warnings:
initialization discards 'const' qualifier from pointer target type
2017-05-01 23:44:21 +02:00
Shivraj Patil
2a512f86c1
build fix for mips
...
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com >
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2017-04-06 10:10:09 -04:00
Michael Niedermayer
c217027c11
avcodec/mips: fix build
...
Found-by: Shivraj Patil <shivraj.patil@imgtec.com >
Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-31 12:28:58 +02:00
Ronald S. Bultje
f8c019944d
vp9: re-split the decoder/format/dsp interface header files.
...
The advantage here is that the internal software decoder interface is
not exposed to the DSP functions or the hardware accelerations.
2017-03-28 18:04:26 -04:00
Clément Bœsch
1c9f4b5078
lavc/vp9: split into vp9{block,data,mvs}
...
This is following Libav layout to ease merges.
2017-03-27 21:38:21 +02:00
Clément Bœsch
9dc57688c8
lavc/mips: temporally disable ac3 downmix
2017-03-22 11:46:13 +01:00
James Almer
9a0fbb9ca9
Merge commit '2caa93b813adc5dbb7771dfe615da826a2947d18'
...
* commit '2caa93b813adc5dbb7771dfe615da826a2947d18':
mpegaudiodsp: Change type of array stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com >
2017-03-21 16:04:22 -03:00
James Almer
a8474df944
Merge commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c'
...
* commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c':
h264chroma: Change type of stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com >
2017-03-21 15:20:45 -03:00
James Almer
5a49097b42
Merge commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428'
...
* commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428':
idct: Change type of array stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com >
2017-03-21 14:29:52 -03:00
Clément Bœsch
6d11b2f656
Merge commit 'b2939a75270bc7e971462648168aa3a2a48c1c8c'
...
* commit 'b2939a75270bc7e971462648168aa3a2a48c1c8c':
blockdsp: Change type of array stride parameters to ptrdiff_t
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-21 15:19:17 +01:00
Clément Bœsch
e07fa3008b
Merge commit 'de452e503734ebb0fdbce86e9d16693b3530fad3'
...
* commit 'de452e503734ebb0fdbce86e9d16693b3530fad3':
pixblockdsp: Change type of stride parameters to ptrdiff_t
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-20 15:58:32 +01:00
Clément Bœsch
8316a0e08b
Merge commit '52730e0f867fe77b7d2353d8b44e92edb7079ca5'
...
* commit '52730e0f867fe77b7d2353d8b44e92edb7079ca5':
iir_filter: Change type of array stride parameters to ptrdiff_t
The merge also updates the MIPS code and drop the extra log.h include.
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-20 11:27:48 +01:00
Jacek Manko
c104556448
avcodec/mips/Makefile: corrected conditional build of version 1 of vc1dsp optimizations for loongson mmi
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-23 02:37:55 +01:00
Clément Bœsch
d0e132bab6
Merge commit '1bd890ad173d79e7906c5e1d06bf0a06cca4519d'
...
* commit '1bd890ad173d79e7906c5e1d06bf0a06cca4519d':
hevc: Separate adding residual to prediction from IDCT
This commit should be a noop but isn't because of the following renames:
- transform_add → add_residual
- transform_skip → dequant
- idct_4x4_luma → transform_4x4_luma
Merged-by: Clément Bœsch <cboesch@gopro.com >
2017-01-31 15:31:34 +01:00
Zhou Xiaoyong
5b74ebe937
avcodec/mips: version 1 of vc1dsp optimizations for loongson mmi
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-12-17 18:41:18 +01:00
Zhou Xiaoyong
d84e635d06
avcodec/mips: version 1 of wmv2dsp optimizations for loongson mmi
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-12-13 03:47:04 +01:00
Zhou Xiaoyong
c5c6e30781
avcodec/mips: version 1 of vp8dsp optimizations for loongson mmi
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-12-13 03:47:04 +01:00
Zhou Xiaoyong
89ec4adad6
avcodec/mips: loongson optimize mmi load and store operators
...
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 >
2016-10-23 03:23:09 +02:00
Vicente Olivert Riera
04b0792e4a
libavcodec/mips/h264dsp_msa.c: fix type in some function parameters
...
This fixes a build problem for MIPS architecture that looks like this:
libavcodec/mips/h264dsp_msa.c:2498:6: error: conflicting types for
‘ff_weight_h264_pixels16_8_msa’
void ff_weight_h264_pixels16_8_msa(uint8_t *src, int stride,
This bug was introduced by commit bc26fe8927 :
avcodec/h264: Use ptrdiff_t for (bi)weight functions
That commit changed the data type of some function parameters in some
function definitions. However, the implementation of those functions in
libavcodec/mips/h264dsp_msa.c wasn't changed accordingly.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-10-13 19:15:48 +02:00
Michael Niedermayer
bc26fe8927
avcodec/h264: Use ptrdiff_t for (bi)weight functions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-09-23 04:10:44 +02:00
Clément Bœsch
15b26e88cb
Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'
...
* commit '9df889a5f116c1ee78c2f239e0ba599c492431aa':
h264: rename h264.[ch] to h264dec.[ch]
Merged-by: Clément Bœsch <u@pkh.me >
2016-07-29 11:01:36 +02:00
ZhouXiaoyong
2c7fd0e36b
avcodec/mips/h264qpel_mmi.c: Version 2 of the optimizations for loongson mmi
...
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)
4. h264qpel use hepldsp optimizations
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-30 22:00:02 +02:00
ZhouXiaoyong
8392794c92
avcodec/mips/idctdsp_mmi: Version 2 of the optimizations for loongson mmi
...
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
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-23 23:42:05 +02:00
ZhouXiaoyong
377e5db3db
avcodec/mips/pixblockdsp_mmi: Version 2 of the optimizations for loongson mmi
...
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
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-23 23:42:04 +02:00
ZhouXiaoyong
05a546181f
avcodec/mips/blockdsp_mmi: Version 2 of the optimizations for loongson mmi
...
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
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-23 23:42:03 +02:00