build: Factor out CELP module

It's not just configure.

On Tue, Jan 19, 2016 at 01:12:11PM -0500, Vittorio Giovara wrote:
> --- a/configure
> +++ b/configure
> @@ -1646,6 +1646,7 @@ CONFIG_EXTRA="
>      blockdsp
>      bswapdsp
>      cabac
> +    celp_math
>      dirac_parse
>      dvprofile
>      faandct

Didn't you just call it "celp"?

> @@ -2034,7 +2037,7 @@ rv30_decoder_select="error_resilience golomb h264chroma 
> h264pred h264qpel mpeg_e
>  rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel 
> mpeg_er mpegvideo rv34dsp videodsp"
>  screenpresso_decoder_deps="zlib"
>  shorten_decoder_select="golomb"
> -sipr_decoder_select="lsp"
> +sipr_decoder_select="lsp celp_math"

order

> @@ -2074,7 +2077,7 @@ wmav1_decoder_select="mdct sinewin wma_freqs"
>  wmav1_encoder_select="mdct sinewin wma_freqs"
>  wmav2_decoder_select="mdct sinewin wma_freqs"
>  wmav2_encoder_select="mdct sinewin wma_freqs"
> -wmavoice_decoder_select="lsp rdft dct mdct sinewin"
> +wmavoice_decoder_select="celp_math lsp rdft dct mdct sinewin"

Reorder while you're at it.

> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -43,6 +43,9 @@ OBJS-$(CONFIG_AUDIODSP)                += audiodsp.o
>  OBJS-$(CONFIG_BLOCKDSP)                += blockdsp.o
>  OBJS-$(CONFIG_BSWAPDSP)                += bswapdsp.o
>  OBJS-$(CONFIG_CABAC)                   += cabac.o
> +OBJS-$(CONFIG_CELP_MATH)               += acelp_filters.o 
> acelp_pitch_delay.o \
> +                                          acelp_vectors.o celp_filters.o \
> +                                          celp_math.o

Align the \, like (at least mostly) everywhere else.

> @@ -132,14 +135,8 @@ OBJS-$(CONFIG_ALAC_ENCODER)            += alacenc.o 
> alac_data.o
>  OBJS-$(CONFIG_ALS_DECODER)             += alsdec.o bgmc.o mpeg4audio.o
> -OBJS-$(CONFIG_AMRNB_DECODER)           += amrnbdec.o celp_filters.o   \
> -                                          celp_math.o acelp_filters.o \
> -                                          acelp_vectors.o             \
> -                                          acelp_pitch_delay.o
> -OBJS-$(CONFIG_AMRWB_DECODER)           += amrwbdec.o celp_filters.o   \
> -                                          celp_math.o acelp_filters.o \
> -                                          acelp_vectors.o             \
> -                                          acelp_pitch_delay.o
> +OBJS-$(CONFIG_AMRNB_DECODER)           += amrnbdec.o
> +OBJS-$(CONFIG_AMRWB_DECODER)           += amrwbdec.o
>  OBJS-$(CONFIG_ANM_DECODER)             += anm.o
> @@ -397,10 +390,7 @@ OBJS-$(CONFIG_SGI_DECODER)             += sgidec.o
>  OBJS-$(CONFIG_SHORTEN_DECODER)         += shorten.o
> -OBJS-$(CONFIG_SIPR_DECODER)            += sipr.o acelp_pitch_delay.o \
> -                                          celp_math.o acelp_vectors.o \
> -                                          acelp_filters.o celp_filters.o \
> -                                          sipr16k.o
> +OBJS-$(CONFIG_SIPR_DECODER)            += sipr.o sipr16k.o
>  OBJS-$(CONFIG_SMACKAUD_DECODER)        += smacker.o

These look nice, but ..

> @@ -228,10 +225,8 @@ OBJS-$(CONFIG_FOURXM_DECODER)          += 4xm.o
>  OBJS-$(CONFIG_G2M_DECODER)             += g2meet.o elsdec.o
> -OBJS-$(CONFIG_G723_1_DECODER)          += g723_1dec.o g723_1.o \
> -                                          acelp_vectors.o celp_filters.o
> -OBJS-$(CONFIG_G723_1_ENCODER)          += g723_1enc.o g723_1.o \
> -                                          acelp_vectors.o celp_filters.o
> +OBJS-$(CONFIG_G723_1_DECODER)          += g723_1dec.o g723_1.o
> +OBJS-$(CONFIG_G723_1_ENCODER)          += g723_1enc.o g723_1.o
>  OBJS-$(CONFIG_GIF_DECODER)             += gifdec.o lzw.o
> @@ -361,9 +356,7 @@ OBJS-$(CONFIG_PPM_ENCODER)             += pnmenc.o
>  OBJS-$(CONFIG_PTX_DECODER)             += ptx.o
> -OBJS-$(CONFIG_QCELP_DECODER)           += qcelpdec.o                     \
> -                                          celp_filters.o acelp_vectors.o \
> -                                          acelp_filters.o
> +OBJS-$(CONFIG_QCELP_DECODER)           += qcelpdec.o
>  OBJS-$(CONFIG_QDM2_DECODER)            += qdm2.o
> @@ -468,9 +458,7 @@ OBJS-$(CONFIG_WMAV1_DECODER)           += wmadec.o wma.o 
> wma_common.o aactab.o
>  OBJS-$(CONFIG_WMAV2_ENCODER)           += wmaenc.o wma.o wma_common.o 
> aactab.o
> -OBJS-$(CONFIG_WMAVOICE_DECODER)        += wmavoice.o \
> -                                          celp_filters.o \
> -                                          acelp_vectors.o acelp_filters.o
> +OBJS-$(CONFIG_WMAVOICE_DECODER)        += wmavoice.o
>  OBJS-$(CONFIG_WMV1_DECODER)            += msmpeg4dec.o msmpeg4.o 
> msmpeg4data.o

.. these don't.

Leave these out or create proper fine-grained dependencies.  Bloating
the build for the other codecs is not acceptable.  I have a very similar
patch in a branch I need to revisit some day, waiting for me to address
the same issues.

Diego
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to