From 9d3d925295112a0080bc1d70fad170db9e1af2a9 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 13 Oct 2022 11:04:12 -0400 Subject: Revert "RFC: Get rid of mpegplayer plugin" This reverts commit d25d24812e8120c0eb133a412287ac030eb185c9. Change-Id: I1563223e343fb1e2eda72a45823b38350025ff93 --- lib/rbcodec/codecs/libmad/libmad.make | 25 +++++++++++++++++++++++++ lib/rbcodec/codecs/libmad/mad_iram.h | 7 ++++--- lib/rbcodec/codecs/mpa.c | 2 +- 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'lib/rbcodec') diff --git a/lib/rbcodec/codecs/libmad/libmad.make b/lib/rbcodec/codecs/libmad/libmad.make index 479dd54773..6c50e1d201 100644 --- a/lib/rbcodec/codecs/libmad/libmad.make +++ b/lib/rbcodec/codecs/libmad/libmad.make @@ -7,9 +7,16 @@ # $Id$ # +# we need to build two different mad libraries +# (one for codec, one for mpegplayer) +# so a little trickery is necessary + MADFLAGS = $(CODECFLAGS) -I$(RBCODECLIB_DIR)/codecs/libmad MADFLAGS += -UDEBUG -DNDEBUG -DHAVE_LIMITS_H -DHAVE_ASSERT_H +# MPEGplayer +MPEGMADFLAGS = $(MADFLAGS) -DMPEGPLAYER + # libmad MADLIB := $(CODECDIR)/libmad.a MADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES) @@ -20,8 +27,26 @@ $(MADLIB): $(MADLIB_OBJ) $(SILENT)$(shell rm -f $@) $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null +# libmad-mpeg +MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a +MPEGMADLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/libmad/SOURCES) +MPEGMADLIB_OBJ := $(addsuffix .o,$(basename $(subst $(RBCODECLIB_DIR)/codecs/libmad,$(RBCODEC_BLD)/codecs/libmad-mpeg,$(MPEGMADLIB_SRC)))) + +$(MPEGMADLIB): $(MPEGMADLIB_OBJ) + $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null + # pattern rules +$(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.c + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MPEGMADFLAGS) -c $< -o $@ + +$(CODECDIR)/libmad-mpeg/%.o : $(RBCODECLIB_DIR)/codecs/libmad/%.S + $(SILENT)mkdir -p $(dir $@) + $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ + $(CC) $(MPEGMADFLAGS) -c $< -o $@ + $(CODECDIR)/libmad/%.o: $(RBCODECLIB_DIR)/codecs/libmad/%.c $(SILENT)mkdir -p $(dir $@) $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \ diff --git a/lib/rbcodec/codecs/libmad/mad_iram.h b/lib/rbcodec/codecs/libmad/mad_iram.h index 5a315c0381..ac0b64cca9 100644 --- a/lib/rbcodec/codecs/libmad/mad_iram.h +++ b/lib/rbcodec/codecs/libmad/mad_iram.h @@ -35,9 +35,10 @@ #define ICODE_ATTR_MPA_SYNTH #define ICONST_ATTR_MPA_HUFFMAN #else -/* Code performs slower in IRAM on PP502x - S3C2440 doesn't have any IRAM available for codecs */ -#if defined(CPU_PP502x) +/* Code performs slower in IRAM on PP502x and there is no space in + mpegplayer on the PP5002. S3C2440 doesn't have any IRAM available for + codecs */ +#if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER)) #define ICODE_SECTION_MPA_ARM .text #define ICODE_ATTR_MPA_SYNTH #else diff --git a/lib/rbcodec/codecs/mpa.c b/lib/rbcodec/codecs/mpa.c index db33f17c3b..d6bcc04910 100644 --- a/lib/rbcodec/codecs/mpa.c +++ b/lib/rbcodec/codecs/mpa.c @@ -26,7 +26,7 @@ CODEC_HEADER -#if NUM_CORES > 1 +#if NUM_CORES > 1 && !defined(MPEGPLAYER) #define MPA_SYNTH_ON_COP #endif -- cgit v1.2.3