You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
configure: Add msmpeg4(dec|enc) subsystems
The msmpeg4 decoders/encoders share a common set of prerequisites, ergo it makes sense to use common subsystems for them. This also allows to remove the CONFIG_MSMPEG4_DECODER/ENCODER ad-hoc defines (which violated the CONFIG_ namespace). Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
24
configure
vendored
24
configure
vendored
@@ -2490,6 +2490,8 @@ CONFIG_EXTRA="
|
|||||||
mpegvideo
|
mpegvideo
|
||||||
mpegvideodec
|
mpegvideodec
|
||||||
mpegvideoenc
|
mpegvideoenc
|
||||||
|
msmpeg4dec
|
||||||
|
msmpeg4enc
|
||||||
mss34dsp
|
mss34dsp
|
||||||
pixblockdsp
|
pixblockdsp
|
||||||
qpeldsp
|
qpeldsp
|
||||||
@@ -2744,6 +2746,8 @@ mpegaudiodsp_select="dct"
|
|||||||
mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp videodsp"
|
mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp videodsp"
|
||||||
mpegvideodec_select="mpegvideo mpeg_er"
|
mpegvideodec_select="mpegvideo mpeg_er"
|
||||||
mpegvideoenc_select="aandcttables me_cmp mpegvideo pixblockdsp qpeldsp"
|
mpegvideoenc_select="aandcttables me_cmp mpegvideo pixblockdsp qpeldsp"
|
||||||
|
msmpeg4dec_select="h263_decoder"
|
||||||
|
msmpeg4enc_select="h263_encoder"
|
||||||
vc1dsp_select="h264chroma qpeldsp startcode"
|
vc1dsp_select="h264chroma qpeldsp startcode"
|
||||||
rdft_select="fft"
|
rdft_select="fft"
|
||||||
|
|
||||||
@@ -2893,11 +2897,11 @@ mpeg4_decoder_select="h263_decoder mpeg4video_parser"
|
|||||||
mpeg4_encoder_select="h263_encoder"
|
mpeg4_encoder_select="h263_encoder"
|
||||||
msa1_decoder_select="mss34dsp"
|
msa1_decoder_select="mss34dsp"
|
||||||
mscc_decoder_select="inflate_wrapper"
|
mscc_decoder_select="inflate_wrapper"
|
||||||
msmpeg4v1_decoder_select="h263_decoder"
|
msmpeg4v1_decoder_select="msmpeg4dec"
|
||||||
msmpeg4v2_decoder_select="h263_decoder"
|
msmpeg4v2_decoder_select="msmpeg4dec"
|
||||||
msmpeg4v2_encoder_select="h263_encoder"
|
msmpeg4v2_encoder_select="msmpeg4enc"
|
||||||
msmpeg4v3_decoder_select="h263_decoder"
|
msmpeg4v3_decoder_select="msmpeg4dec"
|
||||||
msmpeg4v3_encoder_select="h263_encoder"
|
msmpeg4v3_encoder_select="msmpeg4enc"
|
||||||
mss2_decoder_select="mpegvideodec qpeldsp vc1_decoder"
|
mss2_decoder_select="mpegvideodec qpeldsp vc1_decoder"
|
||||||
mts2_decoder_select="jpegtables mss34dsp"
|
mts2_decoder_select="jpegtables mss34dsp"
|
||||||
mv30_decoder_select="aandcttables blockdsp"
|
mv30_decoder_select="aandcttables blockdsp"
|
||||||
@@ -2968,7 +2972,7 @@ utvideo_encoder_select="bswapdsp huffman llvidencdsp"
|
|||||||
vble_decoder_select="llviddsp"
|
vble_decoder_select="llviddsp"
|
||||||
vbn_decoder_select="texturedsp"
|
vbn_decoder_select="texturedsp"
|
||||||
vbn_encoder_select="texturedspenc"
|
vbn_encoder_select="texturedspenc"
|
||||||
vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideodec vc1dsp"
|
vc1_decoder_select="blockdsp h264qpel intrax8 mpegvideodec msmpeg4dec vc1dsp"
|
||||||
vc1image_decoder_select="vc1_decoder"
|
vc1image_decoder_select="vc1_decoder"
|
||||||
vorbis_decoder_select="mdct"
|
vorbis_decoder_select="mdct"
|
||||||
vorbis_encoder_select="audio_frame_queue mdct"
|
vorbis_encoder_select="audio_frame_queue mdct"
|
||||||
@@ -2990,10 +2994,10 @@ wmav1_encoder_select="mdct sinewin wma_freqs"
|
|||||||
wmav2_decoder_select="mdct sinewin wma_freqs"
|
wmav2_decoder_select="mdct sinewin wma_freqs"
|
||||||
wmav2_encoder_select="mdct sinewin wma_freqs"
|
wmav2_encoder_select="mdct sinewin wma_freqs"
|
||||||
wmavoice_decoder_select="lsp rdft dct mdct sinewin"
|
wmavoice_decoder_select="lsp rdft dct mdct sinewin"
|
||||||
wmv1_decoder_select="h263_decoder"
|
wmv1_decoder_select="msmpeg4dec"
|
||||||
wmv1_encoder_select="h263_encoder"
|
wmv1_encoder_select="msmpeg4enc"
|
||||||
wmv2_decoder_select="blockdsp error_resilience h263_decoder idctdsp intrax8 videodsp wmv2dsp"
|
wmv2_decoder_select="blockdsp error_resilience idctdsp intrax8 msmpeg4dec videodsp wmv2dsp"
|
||||||
wmv2_encoder_select="h263_encoder wmv2dsp"
|
wmv2_encoder_select="msmpeg4enc wmv2dsp"
|
||||||
wmv3_decoder_select="vc1_decoder"
|
wmv3_decoder_select="vc1_decoder"
|
||||||
wmv3image_decoder_select="wmv3_decoder"
|
wmv3image_decoder_select="wmv3_decoder"
|
||||||
xma1_decoder_select="wmapro_decoder"
|
xma1_decoder_select="wmapro_decoder"
|
||||||
|
@@ -141,6 +141,8 @@ OBJS-$(CONFIG_MPEGVIDEODEC) += mpegvideo_dec.o mpegutils.o
|
|||||||
OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
|
OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
|
||||||
motion_est.o ratecontrol.o \
|
motion_est.o ratecontrol.o \
|
||||||
mpegvideoencdsp.o
|
mpegvideoencdsp.o
|
||||||
|
OBJS-$(CONFIG_MSMPEG4DEC) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
||||||
|
OBJS-$(CONFIG_MSMPEG4ENC) += msmpeg4enc.o msmpeg4.o msmpeg4data.o
|
||||||
OBJS-$(CONFIG_MSS34DSP) += mss34dsp.o
|
OBJS-$(CONFIG_MSS34DSP) += mss34dsp.o
|
||||||
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
|
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
|
||||||
OBJS-$(CONFIG_QPELDSP) += qpeldsp.o
|
OBJS-$(CONFIG_QPELDSP) += qpeldsp.o
|
||||||
@@ -527,11 +529,6 @@ OBJS-$(CONFIG_MPEG4_V4L2M2M_ENCODER) += v4l2_m2m_enc.o
|
|||||||
OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o
|
OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o
|
||||||
OBJS-$(CONFIG_MSA1_DECODER) += mss3.o
|
OBJS-$(CONFIG_MSA1_DECODER) += mss3.o
|
||||||
OBJS-$(CONFIG_MSCC_DECODER) += mscc.o
|
OBJS-$(CONFIG_MSCC_DECODER) += mscc.o
|
||||||
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_MSMPEG4V2_ENCODER) += msmpeg4enc.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_MSMPEG4V3_ENCODER) += msmpeg4enc.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_MSNSIREN_DECODER) += siren.o
|
OBJS-$(CONFIG_MSNSIREN_DECODER) += siren.o
|
||||||
OBJS-$(CONFIG_MSP2_DECODER) += msp2dec.o
|
OBJS-$(CONFIG_MSP2_DECODER) += msp2dec.o
|
||||||
OBJS-$(CONFIG_MSRLE_DECODER) += msrle.o msrledec.o
|
OBJS-$(CONFIG_MSRLE_DECODER) += msrle.o msrledec.o
|
||||||
@@ -722,7 +719,6 @@ OBJS-$(CONFIG_VBN_ENCODER) += vbnenc.o
|
|||||||
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
|
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
|
||||||
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1_block.o vc1_loopfilter.o \
|
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1_block.o vc1_loopfilter.o \
|
||||||
vc1_mc.o vc1_pred.o vc1.o vc1data.o \
|
vc1_mc.o vc1_pred.o vc1.o vc1data.o \
|
||||||
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
|
|
||||||
wmv2data.o
|
wmv2data.o
|
||||||
OBJS-$(CONFIG_VC1_CUVID_DECODER) += cuviddec.o
|
OBJS-$(CONFIG_VC1_CUVID_DECODER) += cuviddec.o
|
||||||
OBJS-$(CONFIG_VC1_MMAL_DECODER) += mmaldec.o
|
OBJS-$(CONFIG_VC1_MMAL_DECODER) += mmaldec.o
|
||||||
@@ -776,12 +772,8 @@ OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o wma_common.o aactab.o
|
|||||||
OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
|
OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
|
||||||
celp_filters.o \
|
celp_filters.o \
|
||||||
acelp_vectors.o acelp_filters.o
|
acelp_vectors.o acelp_filters.o
|
||||||
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o wmv2data.o
|
||||||
OBJS-$(CONFIG_WMV1_ENCODER) += msmpeg4enc.o msmpeg4.o msmpeg4data.o
|
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o wmv2data.o
|
||||||
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o wmv2data.o \
|
|
||||||
msmpeg4dec.o msmpeg4.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o wmv2data.o \
|
|
||||||
msmpeg4.o msmpeg4enc.o msmpeg4data.o
|
|
||||||
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
|
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
|
||||||
OBJS-$(CONFIG_WRAPPED_AVFRAME_DECODER) += wrapped_avframe.o
|
OBJS-$(CONFIG_WRAPPED_AVFRAME_DECODER) += wrapped_avframe.o
|
||||||
OBJS-$(CONFIG_WRAPPED_AVFRAME_ENCODER) += wrapped_avframe.o
|
OBJS-$(CONFIG_WRAPPED_AVFRAME_ENCODER) += wrapped_avframe.o
|
||||||
|
@@ -502,7 +502,7 @@ retry:
|
|||||||
/* let's go :-) */
|
/* let's go :-) */
|
||||||
if (CONFIG_WMV2_DECODER && s->msmpeg4_version == 5) {
|
if (CONFIG_WMV2_DECODER && s->msmpeg4_version == 5) {
|
||||||
ret = ff_wmv2_decode_picture_header(s);
|
ret = ff_wmv2_decode_picture_header(s);
|
||||||
} else if (CONFIG_MSMPEG4_DECODER && s->msmpeg4_version) {
|
} else if (CONFIG_MSMPEG4DEC && s->msmpeg4_version) {
|
||||||
ret = ff_msmpeg4_decode_picture_header(s);
|
ret = ff_msmpeg4_decode_picture_header(s);
|
||||||
} else if (CONFIG_MPEG4_DECODER && avctx->codec_id == AV_CODEC_ID_MPEG4) {
|
} else if (CONFIG_MPEG4_DECODER && avctx->codec_id == AV_CODEC_ID_MPEG4) {
|
||||||
if (s->avctx->extradata_size && s->picture_number == 0) {
|
if (s->avctx->extradata_size && s->picture_number == 0) {
|
||||||
@@ -666,7 +666,7 @@ retry:
|
|||||||
|
|
||||||
if (s->msmpeg4_version && s->msmpeg4_version < 4 &&
|
if (s->msmpeg4_version && s->msmpeg4_version < 4 &&
|
||||||
s->pict_type == AV_PICTURE_TYPE_I)
|
s->pict_type == AV_PICTURE_TYPE_I)
|
||||||
if (!CONFIG_MSMPEG4_DECODER ||
|
if (!CONFIG_MSMPEG4DEC ||
|
||||||
ff_msmpeg4_decode_ext_header(s, buf_size) < 0)
|
ff_msmpeg4_decode_ext_header(s, buf_size) < 0)
|
||||||
s->er.error_status_table[s->mb_num - 1] = ER_MB_ERROR;
|
s->er.error_status_table[s->mb_num - 1] = ER_MB_ERROR;
|
||||||
|
|
||||||
|
@@ -852,7 +852,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
|
|||||||
ff_mpeg1_encode_init(s);
|
ff_mpeg1_encode_init(s);
|
||||||
} else if (CONFIG_H263_ENCODER && s->out_format == FMT_H263) {
|
} else if (CONFIG_H263_ENCODER && s->out_format == FMT_H263) {
|
||||||
ff_h263_encode_init(s);
|
ff_h263_encode_init(s);
|
||||||
if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version)
|
if (CONFIG_MSMPEG4ENC && s->msmpeg4_version)
|
||||||
ff_msmpeg4_encode_init(s);
|
ff_msmpeg4_encode_init(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2372,7 +2372,7 @@ static av_always_inline void encode_mb_internal(MpegEncContext *s,
|
|||||||
case AV_CODEC_ID_MSMPEG4V2:
|
case AV_CODEC_ID_MSMPEG4V2:
|
||||||
case AV_CODEC_ID_MSMPEG4V3:
|
case AV_CODEC_ID_MSMPEG4V3:
|
||||||
case AV_CODEC_ID_WMV1:
|
case AV_CODEC_ID_WMV1:
|
||||||
if (CONFIG_MSMPEG4_ENCODER)
|
if (CONFIG_MSMPEG4ENC)
|
||||||
ff_msmpeg4_encode_mb(s, s->block, motion_x, motion_y);
|
ff_msmpeg4_encode_mb(s, s->block, motion_x, motion_y);
|
||||||
break;
|
break;
|
||||||
case AV_CODEC_ID_WMV2:
|
case AV_CODEC_ID_WMV2:
|
||||||
@@ -3381,7 +3381,7 @@ static int encode_thread(AVCodecContext *c, void *arg){
|
|||||||
}
|
}
|
||||||
|
|
||||||
//not beautiful here but we must write it before flushing so it has to be here
|
//not beautiful here but we must write it before flushing so it has to be here
|
||||||
if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == AV_PICTURE_TYPE_I)
|
if (CONFIG_MSMPEG4ENC && s->msmpeg4_version && s->msmpeg4_version<4 && s->pict_type == AV_PICTURE_TYPE_I)
|
||||||
ff_msmpeg4_encode_ext_header(s);
|
ff_msmpeg4_encode_ext_header(s);
|
||||||
|
|
||||||
write_slice_end(s);
|
write_slice_end(s);
|
||||||
@@ -3716,7 +3716,7 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
|||||||
case FMT_H263:
|
case FMT_H263:
|
||||||
if (CONFIG_WMV2_ENCODER && s->codec_id == AV_CODEC_ID_WMV2)
|
if (CONFIG_WMV2_ENCODER && s->codec_id == AV_CODEC_ID_WMV2)
|
||||||
ff_wmv2_encode_picture_header(s, picture_number);
|
ff_wmv2_encode_picture_header(s, picture_number);
|
||||||
else if (CONFIG_MSMPEG4_ENCODER && s->msmpeg4_version)
|
else if (CONFIG_MSMPEG4ENC && s->msmpeg4_version)
|
||||||
ff_msmpeg4_encode_picture_header(s, picture_number);
|
ff_msmpeg4_encode_picture_header(s, picture_number);
|
||||||
else if (CONFIG_MPEG4_ENCODER && s->h263_pred) {
|
else if (CONFIG_MPEG4_ENCODER && s->h263_pred) {
|
||||||
ret = ff_mpeg4_encode_picture_header(s, picture_number);
|
ret = ff_mpeg4_encode_picture_header(s, picture_number);
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
#ifndef AVCODEC_MSMPEG4DEC_H
|
#ifndef AVCODEC_MSMPEG4DEC_H
|
||||||
#define AVCODEC_MSMPEG4DEC_H
|
#define AVCODEC_MSMPEG4DEC_H
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "mpegvideo.h"
|
#include "mpegvideo.h"
|
||||||
|
|
||||||
@@ -40,11 +39,4 @@ void ff_msmpeg4_decode_motion(MpegEncContext * s, int *mx_ptr, int *my_ptr);
|
|||||||
int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block,
|
int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block,
|
||||||
int n, int coded, const uint8_t *scan_table);
|
int n, int coded, const uint8_t *scan_table);
|
||||||
|
|
||||||
#define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \
|
|
||||||
CONFIG_MSMPEG4V2_DECODER || \
|
|
||||||
CONFIG_MSMPEG4V3_DECODER || \
|
|
||||||
CONFIG_WMV1_DECODER || \
|
|
||||||
CONFIG_WMV2_DECODER || \
|
|
||||||
CONFIG_VC1_DECODER)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
#ifndef AVCODEC_MSMPEG4ENC_H
|
#ifndef AVCODEC_MSMPEG4ENC_H
|
||||||
#define AVCODEC_MSMPEG4ENC_H
|
#define AVCODEC_MSMPEG4ENC_H
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "mpegvideo.h"
|
#include "mpegvideo.h"
|
||||||
#include "put_bits.h"
|
#include "put_bits.h"
|
||||||
#include "rl.h"
|
#include "rl.h"
|
||||||
@@ -45,9 +44,4 @@ void ff_msmpeg4_encode_motion(MpegEncContext * s, int mx, int my);
|
|||||||
|
|
||||||
void ff_msmpeg4_code012(PutBitContext *pb, int n);
|
void ff_msmpeg4_code012(PutBitContext *pb, int n);
|
||||||
|
|
||||||
#define CONFIG_MSMPEG4_ENCODER (CONFIG_MSMPEG4V2_ENCODER || \
|
|
||||||
CONFIG_MSMPEG4V3_ENCODER || \
|
|
||||||
CONFIG_WMV1_ENCODER || \
|
|
||||||
CONFIG_WMV2_ENCODER)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libavutil/avstring.h"
|
#include "libavutil/avstring.h"
|
||||||
|
#include "libavutil/log.h"
|
||||||
#include "libavutil/mem.h"
|
#include "libavutil/mem.h"
|
||||||
|
|
||||||
#include "url.h"
|
#include "url.h"
|
||||||
|
Reference in New Issue
Block a user