summaryrefslogtreecommitdiffstats
path: root/libavutil/mips
Commit message (Collapse)AuthorAgeFilesLines
* mips: add support for R6Vicente Olivert Riera2016-03-091-0/+4
| | | | | | | | | | | Understanding the mips32r6 and mips64r6 ISAs in the configure script is not enough. In order to have full support for MIPS R6 in FFmpeg we need to be able to build it, and for that we need to make sure we don't use incompatible assembler code which makes the build fail. Ifdefing the offending code is sufficient to fix the problem. Signed-off-by: Vicente Olivert Riera <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* all: Make header guard names consistentTimothy Gu2016-01-311-3/+3
|
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for VP9 lpf functionsShivraj Patil2015-07-231-0/+3
| | | | | | Signed-off-by: Shivraj Patil <[email protected]> Reviewed-by: "Ronald S. Bultje" <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functionsShivraj Patil2015-07-071-0/+37
| | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions in new file idctdsp_msa.c and simple_idct_msa.c Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functionsShivraj Patil2015-07-061-0/+59
| | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions in new file me_cmp_msa.c Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functionsShivraj Patil2015-07-061-0/+34
| | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions in new file mpegvideoencdsp_msa.c Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functionsShivraj Patil2015-07-011-0/+94
| | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functions in new file mpegvideo_msa.c Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for pixblock functionsShivraj Patil2015-06-291-0/+8
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for pixblock functions in new file pixblockdsp_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for hpel functionsShivraj Patil2015-06-191-0/+162
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for hpel functions in new file hpeldsp_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for qpel functionsShivraj Patil2015-06-181-0/+21
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for qpel functions in new file qpeldsp_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC qpel functionsShivraj Patil2015-06-131-0/+124
| | | | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for AVC qpel functions in new file h264qpel_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Added const to local static array. Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC idct functionsShivraj Patil2015-06-111-0/+96
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for AVC idct functions in new file h264idct_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC intra prediction ↵Shivraj Patil2015-06-111-0/+11
| | | | | | | | | | functions This patch adds MSA (MIPS-SIMD-Arch) optimizations for AVC intra prediction functions in new file h264pred_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for AVC chroma mc functionsShivraj Patil2015-06-111-0/+56
| | | | | | | | s patch adds MSA (MIPS-SIMD-Arch) optimizations for AVC chroma mc functions in new file h264chroma_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC intra prediction ↵Shivraj Patil2015-06-101-0/+46
| | | | | | | | | | functions This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC intra predition functions in new file hevcpred_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and ↵Shivraj Patil2015-06-101-1/+110
| | | | | | | | | | | | sao functions This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC loop filter and sao functions in new file hevc_lpf_sao_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h In this patch, in comparision with previous patch, duplicated c functions are removed. Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functionsShivraj Patil2015-06-041-0/+195
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions in new file hevc_idct_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni mc epel functionsShivraj Patil2015-06-031-0/+51
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC uni mc epel functions. Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uniw mc functionsShivraj Patil2015-06-031-0/+72
| | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC uniw mc functions (qpel as well as epel) in new file hevc_mc_uniw_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC bi mc functionsShivraj Patil2015-06-021-0/+150
| | | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for HEVC bi mc functions (qpel as well as epel) in new file hevc_mc_bi_msa.c Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h Adds HEVC specific macros (needed for this patch) in libavcodec/mips/hevc_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: Split uni mc optimizations to new fileShivraj Patil2015-05-281-0/+217
| | | | | | | | | This patch moves HEVC code of uni mc cases to new file hevc_mc_uni_msa.c. (There are total 5 sub-modules of HEVC mc functions, if we add all these modules in one single file, its size would be huge (~750k) & difficult to maintain, so splitting it in multiple files) This patch also adds new HEVC header file libavcodec/mips/hevc_macros_msa.h Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avutil/mips: Restructure of generic macrosShivraj Patil2015-05-281-1291/+1279
| | | | | | | | | | | | | This patch includes restructuring of existing macros and addition of more generic macros. This change was necessary to avoid repeated review comments in remaining patches which we were about to submit. Also this patch reduces number of code lines due to maximum use of generic macros, allows better code alignment & readability etc. These modifications in commonly used .libavutil/mips/generic_macros_msa.h. impacts the already accepted code, hence re-submitting it in 2/4,3/4 & 4/4. Overall, this patch set is just upgrading the code with styling changes and will bring it in sync with MIPS-SIMD optimized latest codebase at our end. Signed-off-by: Shivraj Patil <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni copy, uni ↵Shivraj Patil2015-05-071-0/+533
| | | | | | | | horizontal and uni vertical mc functions Signed-off-by: Shivraj Patil <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for H264 lpf and ↵Shivraj Patil2015-05-011-0/+475
| | | | | | | weight/biweight functions Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC copy and hv mc ↵Shivraj Patil2015-04-241-0/+133
| | | | | | | | | | | functions Incorporated review comment. Removed "__" from volatile. Signed-off-by: Shivraj Patil <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avutil/mips/generic_macros_msa: volatile doesnt need __Michael Niedermayer2015-04-201-2/+2
| | | | | Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC horizontal and ↵Shivraj Patil2015-04-171-0/+285
| | | | | | | | vertical mc functions Signed-off-by: Shivraj Patil <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avutil/mips/intreadwrite: build fix for mips64r6 (instruction 'lwl' not ↵Shivraj Patil2015-04-101-2/+2
| | | | | | | | supported) Signed-off-by: Shivraj Patil <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips/float_dsp: fix vector_fmul_window_mips on mips64James Cowgill2015-03-181-6/+6
| | | | | | | | | | | | | | | Commit dfa920807494 ("mips/float_dsp: fix a bug in vector_fmul_window_mips") fixed vector_fmul_window_mips by unrolling the loop only 4 times, but also removed the outer C loop and replaced it with assembly branches and pointer arithmetic. When submitting my 64-bit porting patch I missed this new assembly which also needed porting. This patch fixes a bus error in the fate-float-dsp test when run on 64-bit mips. Signed-off-by: James Cowgill <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips/asmdefs: use _ABI64 as defined by gccJames Cowgill2015-03-121-3/+1
| | | | | | | | | Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header, the easiest way around this is to just use the preprocessor definitions from gcc / clang. Signed-off-by: James Cowgill <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips/asmdefs: change include guard to read AVUTIL_ instead of AVCODEC_James Cowgill2015-03-071-2/+2
| | | | | Signed-off-by: James Cowgill <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: port optimizations to mips n64James Cowgill2015-03-062-10/+59
| | | | | | | | | | | | | This mainly consists of replacing all the pointer arithmatic 'addiu' instructions with PTR_ADDIU which will handle the differences in pointer sizes when compiled on 64 bit mips systems. The header asmdefs.h contains the PTR_ macros which expend to the correct mips instructions to manipulate registers containing pointers. Signed-off-by: James Cowgill <[email protected]> Reviewed-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips/float_dsp: fix a bug in vector_fmul_window_mipsNedeljko Babic2015-03-051-106/+74
| | | | | | | | | | Loop was unrolled eight times although in heder there is assumption that len is multiple of 4. This is fixed, and assembly code is rewritten to be more optimal and to simplify clobber list. Signed-off-by: Nedeljko Babic <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: optimization for float aac decoder (sbr module)Mirjana Vulin2013-02-211-0/+40
| | | | | Signed-off-by: Mirjana Vulin <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: optimization for float aac decoder (core module)Mirjana Vulin2013-01-311-0/+117
| | | | | Signed-off-by: Mirjana Vulin <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: move vector_fmul_window_mips to libavutilMichael Niedermayer2013-01-161-0/+113
| | | | | Reviewed-by: "Babic, Nedeljko" <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: Fixing HAVE_MIPSFPU dependenciesBojan Zivkovic2012-11-212-1/+6
| | | | | | Signed-off-by: Bojan Zivkovic <[email protected]> Reviewed-by: Vitor Sessak <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* mips: Optimization of AC3 FP encoder and EAC3 FP decoderBojan Zivkovic2012-11-192-0/+109
| | | | | | Signed-off-by: Bojan Zivkovic <[email protected]> Reveiwed-by: Vitor Sessak <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* replace all __volatile__ by volatileMichael Niedermayer2012-07-111-1/+1
| | | | | | | __volatile__ can cause problems with some compilers and volatile is a standard keyword. Found-by: Reimar Döffinger <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* Optimization of AMR NB and WB decoders for MIPSNedeljko Babic2012-06-111-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | AMR NB and WB decoders are optimized for MIPS architecture. Appropriate Makefiles are changed accordingly. Cnfigure script is changed in order to support optimizations. Optimizations are enabled by default when compiling is done for mips architecture. Appropriate cflags are automatically set. Support for several mips CPUs is added in configure script. New ffmpeg options are added for disabling optimizations. The FFMPEG option --disable-mipsfpu disables MIPS floating point optimizations. The FFMPEG option --disable-mips32r2 disables MIPS32R2 optimizations. The FFMPEG option --disable-mipsdspr1 disables MIPS DSP ASE R1 optimizations. The FFMPEG option --disable-mipsdspr2 disables MIPS DSP ASE R2 optimizations. Signed-off-by: Nedeljko Babic <[email protected]> Reviewed-by: Vitor Sessak <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-101-59/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) libxvid: Give more suitable names to libxvid-related files. libxvid: Separate libxvid encoder from libxvid rate control code. jpeglsdec: Remove write-only variable in ff_jpegls_decode_lse(). fate: cosmetics: lowercase some comments fate: Give more consistent names to some RealVideo/RealAudio tests. lavfi: add avfilter_get_audio_buffer_ref_from_arrays(). lavfi: add extended_data to AVFilterBuffer. lavc: check that extended_data is properly set in avcodec_encode_audio2(). lavc: pad last audio frame with silence when needed. samplefmt: add a function for filling a buffer with silence. samplefmt: add a function for copying audio samples. lavr: do not try to copy to uninitialized output audio data. lavr: make avresample_read() with NULL output discard samples. fate: split idroq audio and video into separate tests fate: improve dependencies fate: add convenient shorthands for ea-vp6, libavcodec, libavutil tests fate: split some combined tests into separate audio and video tests fate: fix dependencies for probe tests mips: intreadwrite: fix inline asm for gcc 4.8 mips: intreadwrite: remove unnecessary inline asm ... Conflicts: cmdutils.h configure doc/APIchanges doc/filters.texi ffmpeg.c ffplay.c libavcodec/internal.h libavcodec/jpeglsdec.c libavcodec/libschroedingerdec.c libavcodec/libxvid.c libavcodec/libxvid_rc.c libavcodec/utils.c libavcodec/version.h libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersink.h tests/Makefile tests/fate/aac.mak tests/fate/audio.mak tests/fate/demux.mak tests/fate/ea.mak tests/fate/image.mak tests/fate/libavutil.mak tests/fate/lossless-audio.mak tests/fate/lossless-video.mak tests/fate/microsoft.mak tests/fate/qt.mak tests/fate/real.mak tests/fate/screen.mak tests/fate/video.mak tests/fate/voice.mak tests/fate/vqf.mak tests/ref/fate/ea-mad tests/ref/fate/ea-tqi Merged-by: Michael Niedermayer <[email protected]>
| * mips: intreadwrite: fix inline asm for gcc 4.8Mans Rullgard2012-05-091-2/+5
| | | | | | | | | | | | | | | | | | Just like gcc 4.6 and later on ARM, gcc 4.8 on MIPS generates inefficient code when a known-unaligned location is used as a memory input operand. This applies the same fix as has been previously done to the ARM version of the code. Signed-off-by: Mans Rullgard <[email protected]>
| * mips: intreadwrite: remove unnecessary inline asmMans Rullgard2012-05-091-57/+2
| | | | | | | | | | | | | | | | GCC actually handles unaligned accesses correctly in all cases except, absurdly, 32-bit loads on mips64. The remaining asm is thus not needed, and removing it results in better code. Signed-off-by: Mans Rullgard <[email protected]>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <[email protected]>
| * MIPS: use inline asm only when supported by compilerMans Rullgard2011-01-231-0/+4
| |
* | MIPS: use inline asm only when supported by compilerMans Rullgard2011-01-261-0/+4
|/ | | | (cherry picked from commit 7a5a168abe36c91087e58d89262a3658d21ea2cc)
* consolidate .gitignore patters into a single fileJanne Grunau2011-01-181-2/+0
| | | | Signed-off-by: Janne Grunau <[email protected]>
* convert svn:ignore properties to .gitignore filesJanne Grunau2011-01-171-0/+2
| | | | Signed-off-by: Janne Grunau <[email protected]>
* Mark all intreadwrite functions av_always_inlineMåns Rullgård2010-01-181-6/+6
| | | | Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
* MIPS: 100L: fix AV_[RW]N64 on MIPS64Måns Rullgård2009-08-161-6/+6
| | | | Originally committed as revision 19660 to svn://svn.ffmpeg.org/ffmpeg/trunk