ffmpeg-bb/libavcodec/mips
Andreas Rheinhardt f1b08b8a65 avcodec/mips/aaccoder_mips: Remove MIPS-specific aaccoder
ff_aac_coder_init_mips() modifies a static const structure of
function pointers. This will crash if the binary uses relro
and is a data race in any case.

Furthermore it points to a maintainability issue: The
AACCoefficientsEncoder structures have been constified
in commit fd9212f2ed,
a Libav commit merged in 318778de9e.
Libav did not have the MIPS-specific AAC code and so this was
fine for them; yet FFmpeg had them, but this was not recognized.

Commit 75a099fc73 points to another
maintainability issue: Contrary to ordinary DSP code, this code
here is way more complex and needs to be constantly kept in sync
with the ordinary code which it mimicks and replaces. Said commit
is the only commit actually changing aaccoder.c in the last few
years and the same change has not been performed for the MIPS
clone; before that, it even happened several times that the mips
code was broken due to changes of the generic code (see commits
97437bd17a and
de262d018d or
860dbe0275 or
933309a6ca or
b65ffa316e). This might even lead
to scenarios where someone changing non-dsp aacenc code would
have to modify mips inline asm in order to keep them in sync.
This is obviously a significant burden (if the AAC encoder were
actively developed).

Finally, the code does not even compile here due to errors like
"Error: float register should be even, was 1".

Reviewed-by: Lynne <dev@lynne.ee>
Reviewed-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-03-18 01:49:38 +01:00
..
aacdec_mips.c avcodec/aacdec: Rename AACContext to AACDecContext 2024-02-27 00:11:21 +01:00
aacdec_mips.h avocdec/aac: Move decoder-only stuff to new header aacdec.h 2024-02-27 00:11:21 +01:00
aacpsdsp_mips.c avcodec/mips: Fix segfault in imdct36_mips_float. 2020-07-30 00:23:45 +02:00
aacpsy_mips.h avcodec/mips: Fix segfault in imdct36_mips_float. 2020-07-30 00:23:45 +02:00
aacsbr_mips.c avcodec/sbr: Remove unused AACDecContext* parameter from sbr_lf_gen_mips 2024-02-27 00:11:21 +01:00
aacsbr_mips.h avocdec/aac: Move decoder-only stuff to new header aacdec.h 2024-02-27 00:11:21 +01:00
ac3dsp_mips.c mips/ac3dsp_mips: add missing stddef.h header include 2023-11-25 21:51:04 -03:00
acelp_filters_mips.c
acelp_vectors_mips.c mips: add support for R6 2016-03-09 20:05:04 +01:00
amrwbdec_mips.c mips: add support for R6 2016-03-09 20:05:04 +01:00
amrwbdec_mips.h mips: add support for R6 2016-03-09 20:05:04 +01:00
blockdsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
blockdsp_mips.h Merge commit 'b2939a75270bc7e971462648168aa3a2a48c1c8c' 2017-03-21 15:19:17 +01:00
blockdsp_mmi.c libavcodec/mips: Fix specification of instruction name 2021-05-28 17:31:21 +02:00
blockdsp_msa.c Merge commit 'b2939a75270bc7e971462648168aa3a2a48c1c8c' 2017-03-21 15:19:17 +01:00
cabac.h mips: fix build fail on MIPS R6 2023-03-26 01:46:39 +01:00
celp_filters_mips.c
celp_math_mips.c mips: add support for R6 2016-03-09 20:05:04 +01:00
compute_antialias_fixed.h mips: fix build fail on MIPS R6 2023-03-26 01:46:39 +01:00
compute_antialias_float.h avcodec/mpegaudiodec: Hardcode tables to save space 2020-12-08 17:51:47 +01:00
constants.c libavcodec/mips: Fix build errors reported by clang 2021-06-03 13:44:00 +02:00
constants.h avcodec/mips/constants: Include intfloat.h in constants.h 2021-08-05 19:00:53 +02:00
fmtconvert_mips.c avcodec/fmtconvert: Remove unused AVCodecContext parameter 2022-09-21 20:26:40 +02:00
h263dsp_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
h263dsp_mips.h avcodec/mpegvideoencdsp: Allow pointers to const where possible 2022-07-31 03:32:40 +02:00
h263dsp_msa.c avutil/mips: refactor msa load and store macros. 2019-07-19 01:23:23 +02:00
h264_deblock_msa.c avcodec/mips: Optimize function ff_h264_loop_filter_strength_msa. 2021-05-07 17:53:23 +02:00
h264chroma_init_mips.c avcodec/mips: Restore the initialization sequence of MSA and MMI in ff_h264chroma_init_mips. 2021-05-07 17:53:23 +02:00
h264chroma_mips.h avcodec/h264chroma: Constify src in h264_chroma_mc_func 2022-08-05 03:02:13 +02:00
h264chroma_mmi.c avcodec/h264chroma: Constify src in h264_chroma_mc_func 2022-08-05 03:02:13 +02:00
h264chroma_msa.c avcodec/h264chroma: Constify src in h264_chroma_mc_func 2022-08-05 03:02:13 +02:00
h264dsp_init_mips.c avcodec/mips: Optimize function ff_h264_loop_filter_strength_msa. 2021-05-07 17:53:23 +02:00
h264dsp_mips.h avcodec/h264dsp, h264idct: Fix lengths of array parameters 2021-08-08 17:44:57 +02:00
h264dsp_mmi.c avcodec/h264dsp, h264idct: Fix lengths of array parameters 2021-08-08 17:44:57 +02:00
h264dsp_msa.c avcodec/mips: Refine ff_h264_h_lpf_luma_inter_msa 2021-05-07 17:53:23 +02:00
h264idct_msa.c avcodec/h264dsp, h264idct: Fix lengths of array parameters 2021-08-08 17:44:57 +02:00
h264pred_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
h264pred_mips.h all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
h264pred_mmi.c libavcodec/mips: Fix build errors reported by clang 2021-06-03 13:44:00 +02:00
h264pred_msa.c avcodec/mips: Removed generic function call in avc intra msa functions 2017-09-27 21:15:57 +02:00
h264qpel_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
h264qpel_mmi.c libavcodec/mips: Fix build errors reported by clang 2021-06-03 13:44:00 +02:00
h264qpel_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
hevc_idct_msa.c avcodec/hevcdsp: Constify src pointers 2022-08-05 02:54:04 +02:00
hevc_lpf_sao_msa.c avcodec/hevcdsp: Constify src pointers 2022-08-05 02:54:04 +02:00
hevc_macros_msa.h lavc/mips: Fix hevc decoding bugs on MIPS paltform. 2022-09-16 21:30:57 +02:00
hevc_mc_bi_msa.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevc_mc_biw_msa.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevc_mc_uni_msa.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevc_mc_uniw_msa.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevcdsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
hevcdsp_mips.h avcodec/hevcdsp: Constify src pointers 2022-08-05 02:54:04 +02:00
hevcdsp_mmi.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevcdsp_msa.c avcodec/hevcdsp: Offset ff_hevc_.pel_filters to simplify addressing 2024-02-13 20:25:49 -03:00
hevcpred_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
hevcpred_mips.h avcodec/hevcpred: Pass HEVCLocalContext when slice-threading 2022-07-25 23:32:08 +02:00
hevcpred_msa.c avcodec/hevcpred: Pass HEVCLocalContext when slice-threading 2022-07-25 23:32:08 +02:00
hpeldsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
hpeldsp_mips.h avcodec/mips: loongson optimize hpeldsp with mmi v1 2016-05-21 17:13:13 +02:00
hpeldsp_mmi.c avcodec/mips: Use MMI marcos to replace Loongson3 instructions 2021-07-28 23:31:48 +02:00
hpeldsp_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
idctdsp_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
idctdsp_mips.h configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
idctdsp_mmi.c configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
idctdsp_msa.c configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
iirfilter_mips.c
lsp_mips.h avcodec/lsp: Make ff_lsp2polyf() static 2022-09-29 00:05:32 +02:00
Makefile avcodec/mips/aaccoder_mips: Remove MIPS-specific aaccoder 2024-03-18 01:49:38 +01:00
mathops.h avcodec/mips: loongson fix bugs in mathops optimization 2015-05-21 17:46:33 +02:00
me_cmp_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
me_cmp_mips.h configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
me_cmp_msa.c lavc/mips: Fix bugs in me_cmp_msa.c file. 2022-09-16 21:30:57 +02:00
mpegaudiodsp_mips_fixed.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
mpegaudiodsp_mips_float.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
mpegvideo_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
mpegvideo_mips.h all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
mpegvideo_mmi.c libavcodec/mips: Fix build errors reported by clang 2021-06-03 13:44:00 +02:00
mpegvideo_msa.c avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideo functions 2015-07-01 17:32:47 +02:00
mpegvideoencdsp_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
mpegvideoencdsp_msa.c avcodec/mpegvideoencdsp: Allow pointers to const where possible 2022-07-31 03:32:40 +02:00
pixblockdsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
pixblockdsp_mips.h configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
pixblockdsp_mmi.c configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
pixblockdsp_msa.c configure: Remove av_restrict 2024-03-15 12:51:15 +01:00
qpeldsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
qpeldsp_mips.h avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for qpel functions 2015-06-18 12:33:15 +02:00
qpeldsp_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
sbrdsp_mips.c avcodec/mips: Fix register constraint error reported by clang. 2020-07-30 00:23:45 +02:00
simple_idct_mmi.c avcodec/mips: Use MMI marcos to replace Loongson3 instructions 2021-07-28 23:31:48 +02:00
simple_idct_msa.c avutil/mips: refine msa macros CLIP_*. 2019-08-13 16:48:38 +02:00
vc1dsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
vc1dsp_mips.h avcodec/h264chroma: Constify src in h264_chroma_mc_func 2022-08-05 03:02:13 +02:00
vc1dsp_mmi.c avcodec/h264chroma: Constify src in h264_chroma_mc_func 2022-08-05 03:02:13 +02:00
vc1dsp_msa.c avcodec/mips: msa optimizations for vc1dsp 2019-10-30 18:09:00 +01:00
videodsp_init.c avcodec/videodsp: Constify buf in VideoDSPContext.prefetch 2022-07-31 03:14:34 +02:00
vp3dsp_idct_mmi.c avcodec/mips: Use MMI marcos to replace Loongson3 instructions 2021-07-28 23:31:48 +02:00
vp3dsp_idct_msa.c avutil/mips: refine msa macros CLIP_*. 2019-08-13 16:48:38 +02:00
vp3dsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
vp3dsp_mips.h avcodec/mips: [loongson] optimize theora decoding with mmi. 2019-02-16 19:56:57 +01:00
vp8_idct_msa.c avutil/mips: refine msa macros CLIP_*. 2019-08-13 16:48:38 +02:00
vp8_lpf_msa.c avutil/mips: refactor msa load and store macros. 2019-07-19 01:23:23 +02:00
vp8_mc_msa.c avcodec/vp8dsp: Constify src in vp8_mc_func 2022-09-11 20:57:51 +02:00
vp8dsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
vp8dsp_mips.h avcodec/vp8dsp: Constify src in vp8_mc_func 2022-09-11 20:57:51 +02:00
vp8dsp_mmi.c avcodec/mips: Use MMI marcos to replace Loongson3 instructions 2021-07-28 23:31:48 +02:00
vp9_idct_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
vp9_intra_msa.c avutil/mips: refactor msa load and store macros. 2019-07-19 01:23:23 +02:00
vp9_lpf_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
vp9_mc_mmi.c avcodec/mips: Use MMI marcos to replace Loongson3 instructions 2021-07-28 23:31:48 +02:00
vp9_mc_msa.c avutil/mips: refactor msa SLDI_Bn_0 and SLDI_Bn macros. 2019-09-16 00:04:18 +02:00
vp9dsp_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
vp9dsp_mips.h avcodec/mips: Fix checkheaders 2022-02-21 13:10:10 +01:00
wmv2dsp_init_mips.c libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
wmv2dsp_mips.h libavcodec: Enable runtime detection for MIPS MMI & MSA 2020-07-23 17:21:58 +02:00
wmv2dsp_mmi.c libavcodec/mips: Fix specification of instruction name 2021-05-28 17:31:21 +02:00
xvid_idct_mmi.c lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
xvididct_init_mips.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
xvididct_mips.h libavcodec: MIPS: MMI: Fix type mismatches 2020-07-23 17:21:58 +02:00