[BETA] macOS support

This commit is contained in:
wuggy 2026-04-04 15:51:31 +01:00
commit 2ab5bcf93d
32 changed files with 393 additions and 1386 deletions

View file

@ -3,77 +3,82 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
SOURCES += [
'aacpsdsp.asm',
'aacpsdsp_init.c',
'bswapdsp.asm',
'bswapdsp_init.c',
'constants.c',
'dct32.asm',
'dct_init.c',
'fdct.c',
'fdctdsp_init.c',
'fft.asm',
'fft_init.c',
'flacdsp.asm',
'flacdsp_init.c',
'fpel.asm',
'h264_chromamc.asm',
'h264_chromamc_10bit.asm',
'h264_deblock.asm',
'h264_deblock_10bit.asm',
'h264_idct.asm',
'h264_idct_10bit.asm',
'h264_intrapred.asm',
'h264_intrapred_10bit.asm',
'h264_intrapred_init.c',
'h264_qpel.c',
'h264_qpel_10bit.asm',
'h264_qpel_8bit.asm',
'h264_weight.asm',
'h264_weight_10bit.asm',
'h264chroma_init.c',
'h264dsp_init.c',
'hevc_add_res.asm',
'hevc_deblock.asm',
'hevc_idct.asm',
'hevc_mc.asm',
'hevc_sao.asm',
'hevc_sao_10bit.asm',
'hevcdsp_init.c',
'idctdsp.asm',
'idctdsp_init.c',
'imdct36.asm',
'mdct15.asm',
'mdct15_init.c',
'me_cmp.asm',
'me_cmp_init.c',
'mpegaudiodsp.c',
'pixblockdsp.asm',
'pixblockdsp_init.c',
'qpel.asm',
'sbrdsp.asm',
'sbrdsp_init.c',
'simple_idct.asm',
'simple_idct10.asm',
'videodsp.asm',
'videodsp_init.c',
'vp8dsp.asm',
'vp8dsp_init.c',
'vp8dsp_loopfilter.asm',
'vp9dsp_init.c',
'vp9dsp_init_10bpp.c',
'vp9dsp_init_12bpp.c',
'vp9dsp_init_16bpp.c',
'vp9intrapred.asm',
'vp9intrapred_16bpp.asm',
'vp9itxfm.asm',
'vp9itxfm_16bpp.asm',
'vp9lpf.asm',
'vp9lpf_16bpp.asm',
'vp9mc.asm',
'vp9mc_16bpp.asm',
]
if CONFIG['OS_TARGET'] == 'Darwin':
SOURCES += [
'x86util_stub.c',
]
else:
SOURCES += [
'aacpsdsp.asm',
'aacpsdsp_init.c',
'bswapdsp.asm',
'bswapdsp_init.c',
'constants.c',
'dct32.asm',
'dct_init.c',
'fdct.c',
'fdctdsp_init.c',
'fft.asm',
'fft_init.c',
'flacdsp.asm',
'flacdsp_init.c',
'fpel.asm',
'h264_chromamc.asm',
'h264_chromamc_10bit.asm',
'h264_deblock.asm',
'h264_deblock_10bit.asm',
'h264_idct.asm',
'h264_idct_10bit.asm',
'h264_intrapred.asm',
'h264_intrapred_10bit.asm',
'h264_intrapred_init.c',
'h264_qpel.c',
'h264_qpel_10bit.asm',
'h264_qpel_8bit.asm',
'h264_weight.asm',
'h264_weight_10bit.asm',
'h264chroma_init.c',
'h264dsp_init.c',
'hevc_add_res.asm',
'hevc_deblock.asm',
'hevc_idct.asm',
'hevc_mc.asm',
'hevc_sao.asm',
'hevc_sao_10bit.asm',
'hevcdsp_init.c',
'idctdsp.asm',
'idctdsp_init.c',
'imdct36.asm',
'mdct15.asm',
'mdct15_init.c',
'me_cmp.asm',
'me_cmp_init.c',
'mpegaudiodsp.c',
'pixblockdsp.asm',
'pixblockdsp_init.c',
'qpel.asm',
'sbrdsp.asm',
'sbrdsp_init.c',
'simple_idct.asm',
'simple_idct10.asm',
'videodsp.asm',
'videodsp_init.c',
'vp8dsp.asm',
'vp8dsp_init.c',
'vp8dsp_loopfilter.asm',
'vp9dsp_init.c',
'vp9dsp_init_10bpp.c',
'vp9dsp_init_12bpp.c',
'vp9dsp_init_16bpp.c',
'vp9intrapred.asm',
'vp9intrapred_16bpp.asm',
'vp9itxfm.asm',
'vp9itxfm_16bpp.asm',
'vp9lpf.asm',
'vp9lpf_16bpp.asm',
'vp9mc.asm',
'vp9mc_16bpp.asm',
]
FINAL_LIBRARY = 'mozavcodec'

View file

@ -0,0 +1,37 @@
// Stub x86 init hooks for Darwin when x86 asm objects are disabled.
#include <stdint.h>
#include "libavcodec/avcodec.h"
#include "libavcodec/dct.h"
#include "libavcodec/fdctdsp.h"
#include "libavcodec/fft.h"
#include "libavcodec/idctdsp.h"
void ff_dct_init_x86(DCTContext *s) {
(void)s;
}
void ff_fdctdsp_init_x86(FDCTDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth) {
(void)c;
(void)avctx;
(void)high_bit_depth;
}
void ff_fft_init_x86(FFTContext *s) {
(void)s;
}
int ff_init_scantable_permutation_x86(uint8_t *idct_permutation,
enum idct_permutation_type perm_type) {
(void)idct_permutation;
(void)perm_type;
return 0;
}
void ff_idctdsp_init_x86(IDCTDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth) {
(void)c;
(void)avctx;
(void)high_bit_depth;
}