diff --git a/library.mak b/library.mak index cc77729c41..1c37d0ac14 100644 --- a/library.mak +++ b/library.mak @@ -34,8 +34,11 @@ install-libs-$(CONFIG_STATIC): install-lib$(NAME)-static install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared define RULES +$(EXAMPLES) $(TOOLS): LIB = $(FULLNAME:%=$(LD_LIB)) +$(TESTPROGS): LIB = $(SUBDIR)$(LIBNAME) + $(EXAMPLES) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o - $$(LD) $(LDFLAGS) $$(LD_O) $$^ $(FFEXTRALIBS) $$(ELIBS) + $$(LD) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(LIB) $(FFEXTRALIBS) $$(ELIBS) $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME) diff --git a/tests/fate/ac3.mak b/tests/fate/ac3.mak index b16687ea4d..b19b94558b 100644 --- a/tests/fate/ac3.mak +++ b/tests/fate/ac3.mak @@ -1,82 +1,72 @@ FATE_AC3 += fate-ac3-2.0 fate-ac3-2.0: CMD = pcm -i $(SAMPLES)/ac3/monsters_inc_2.0_192_small.ac3 -fate-ac3-2.0: CMP = oneoff fate-ac3-2.0: REF = $(SAMPLES)/ac3/monsters_inc_2.0_192_small.pcm FATE_AC3 += fate-ac3-4.0 fate-ac3-4.0: CMD = pcm -i $(SAMPLES)/ac3/millers_crossing_4.0.ac3 -fate-ac3-4.0: CMP = oneoff fate-ac3-4.0: REF = $(SAMPLES)/ac3/millers_crossing_4.0.pcm FATE_AC3 += fate-ac3-4.0-downmix-mono fate-ac3-4.0-downmix-mono: CMD = pcm -request_channels 1 -i $(SAMPLES)/ac3/millers_crossing_4.0.ac3 -fate-ac3-4.0-downmix-mono: CMP = oneoff fate-ac3-4.0-downmix-mono: REF = $(SAMPLES)/ac3/millers_crossing_4.0_mono.pcm FATE_AC3 += fate-ac3-4.0-downmix-stereo fate-ac3-4.0-downmix-stereo: CMD = pcm -request_channels 2 -i $(SAMPLES)/ac3/millers_crossing_4.0.ac3 -fate-ac3-4.0-downmix-stereo: CMP = oneoff fate-ac3-4.0-downmix-stereo: REF = $(SAMPLES)/ac3/millers_crossing_4.0_stereo.pcm FATE_AC3 += fate-ac3-5.1 fate-ac3-5.1: CMD = pcm -i $(SAMPLES)/ac3/monsters_inc_5.1_448_small.ac3 -fate-ac3-5.1: CMP = oneoff fate-ac3-5.1: REF = $(SAMPLES)/ac3/monsters_inc_5.1_448_small.pcm FATE_AC3 += fate-ac3-5.1-downmix-mono fate-ac3-5.1-downmix-mono: CMD = pcm -request_channels 1 -i $(SAMPLES)/ac3/monsters_inc_5.1_448_small.ac3 -fate-ac3-5.1-downmix-mono: CMP = oneoff fate-ac3-5.1-downmix-mono: REF = $(SAMPLES)/ac3/monsters_inc_5.1_448_small_mono.pcm FATE_AC3 += fate-ac3-5.1-downmix-stereo fate-ac3-5.1-downmix-stereo: CMD = pcm -request_channels 2 -i $(SAMPLES)/ac3/monsters_inc_5.1_448_small.ac3 -fate-ac3-5.1-downmix-stereo: CMP = oneoff fate-ac3-5.1-downmix-stereo: REF = $(SAMPLES)/ac3/monsters_inc_5.1_448_small_stereo.pcm FATE_AC3 += fate-eac3-1 fate-eac3-1: CMD = pcm -i $(SAMPLES)/eac3/csi_miami_5.1_256_spx_small.eac3 -fate-eac3-1: CMP = oneoff fate-eac3-1: REF = $(SAMPLES)/eac3/csi_miami_5.1_256_spx_small.pcm FATE_AC3 += fate-eac3-2 fate-eac3-2: CMD = pcm -i $(SAMPLES)/eac3/csi_miami_stereo_128_spx_small.eac3 -fate-eac3-2: CMP = oneoff fate-eac3-2: REF = $(SAMPLES)/eac3/csi_miami_stereo_128_spx_small.pcm FATE_AC3 += fate-eac3-3 fate-eac3-3: CMD = pcm -i $(SAMPLES)/eac3/matrix2_commentary1_stereo_192_small.eac3 -fate-eac3-3: CMP = oneoff fate-eac3-3: REF = $(SAMPLES)/eac3/matrix2_commentary1_stereo_192_small.pcm FATE_AC3 += fate-eac3-4 fate-eac3-4: CMD = pcm -i $(SAMPLES)/eac3/serenity_english_5.1_1536_small.eac3 -fate-eac3-4: CMP = oneoff fate-eac3-4: REF = $(SAMPLES)/eac3/serenity_english_5.1_1536_small.pcm -FATE_AC3 += fate-ac3-encode +$(FATE_AC3): CMP = oneoff + +FATE_AC3_ENCODE += fate-ac3-encode fate-ac3-encode: CMD = enc_dec_pcm ac3 wav s16le $(REF) -c:a ac3 -b:a 128k -fate-ac3-encode: CMP = stddev -fate-ac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav fate-ac3-encode: CMP_SHIFT = -1024 fate-ac3-encode: CMP_TARGET = 399.62 fate-ac3-encode: SIZE_TOLERANCE = 488 fate-ac3-encode: FUZZ = 4 -FATE_AC3 += fate-eac3-encode +FATE_AC3_ENCODE += fate-eac3-encode fate-eac3-encode: CMD = enc_dec_pcm eac3 wav s16le $(REF) -c:a eac3 -b:a 128k -fate-eac3-encode: CMP = stddev -fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav fate-eac3-encode: CMP_SHIFT = -1024 fate-eac3-encode: CMP_TARGET = 514.02 fate-eac3-encode: SIZE_TOLERANCE = 488 fate-eac3-encode: FUZZ = 3 -FATE_AC3 += fate-ac3-fixed-encode +fate-ac3-encode fate-eac3-encode: CMP = stddev +fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav + +FATE_AC3_ENCODE += fate-ac3-fixed-encode fate-ac3-fixed-encode: tests/data/asynth-44100-2.wav fate-ac3-fixed-encode: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-ac3-fixed-encode: CMD = md5 -i $(SRC) -c ac3_fixed -ab 128k -f ac3 -flags +bitexact fate-ac3-fixed-encode: CMP = oneline fate-ac3-fixed-encode: REF = a1d1fc116463b771abf5aef7ed37d7b1 -FATE_SAMPLES_AVCONV += $(FATE_AC3) -fate-ac3: $(FATE_AC3) +FATE_SAMPLES_AVCONV += $(FATE_AC3) $(FATE_AC3_ENCODE) +fate-ac3: $(FATE_AC3) $(FATE_AC3_ENCODE) diff --git a/tests/fate/amrnb.mak b/tests/fate/amrnb.mak index d163dc4e96..6e3f2a4b62 100644 --- a/tests/fate/amrnb.mak +++ b/tests/fate/amrnb.mak @@ -1,42 +1,36 @@ FATE_AMRNB += fate-amrnb-4k75 fate-amrnb-4k75: CMD = pcm -i $(SAMPLES)/amrnb/4.75k.amr -fate-amrnb-4k75: CMP = stddev fate-amrnb-4k75: REF = $(SAMPLES)/amrnb/4.75k.pcm FATE_AMRNB += fate-amrnb-5k15 fate-amrnb-5k15: CMD = pcm -i $(SAMPLES)/amrnb/5.15k.amr -fate-amrnb-5k15: CMP = stddev fate-amrnb-5k15: REF = $(SAMPLES)/amrnb/5.15k.pcm FATE_AMRNB += fate-amrnb-5k9 fate-amrnb-5k9: CMD = pcm -i $(SAMPLES)/amrnb/5.9k.amr -fate-amrnb-5k9: CMP = stddev fate-amrnb-5k9: REF = $(SAMPLES)/amrnb/5.9k.pcm FATE_AMRNB += fate-amrnb-6k7 fate-amrnb-6k7: CMD = pcm -i $(SAMPLES)/amrnb/6.7k.amr -fate-amrnb-6k7: CMP = stddev fate-amrnb-6k7: REF = $(SAMPLES)/amrnb/6.7k.pcm FATE_AMRNB += fate-amrnb-7k4 fate-amrnb-7k4: CMD = pcm -i $(SAMPLES)/amrnb/7.4k.amr -fate-amrnb-7k4: CMP = stddev fate-amrnb-7k4: REF = $(SAMPLES)/amrnb/7.4k.pcm FATE_AMRNB += fate-amrnb-7k95 fate-amrnb-7k95: CMD = pcm -i $(SAMPLES)/amrnb/7.95k.amr -fate-amrnb-7k95: CMP = stddev fate-amrnb-7k95: REF = $(SAMPLES)/amrnb/7.95k.pcm FATE_AMRNB += fate-amrnb-10k2 fate-amrnb-10k2: CMD = pcm -i $(SAMPLES)/amrnb/10.2k.amr -fate-amrnb-10k2: CMP = stddev fate-amrnb-10k2: REF = $(SAMPLES)/amrnb/10.2k.pcm FATE_AMRNB += fate-amrnb-12k2 fate-amrnb-12k2: CMD = pcm -i $(SAMPLES)/amrnb/12.2k.amr -fate-amrnb-12k2: CMP = stddev fate-amrnb-12k2: REF = $(SAMPLES)/amrnb/12.2k.pcm +$(FATE_AMRNB): CMP = stddev + FATE_SAMPLES_AVCONV += $(FATE_AMRNB) fate-amrnb: $(FATE_AMRNB) diff --git a/tests/fate/amrwb.mak b/tests/fate/amrwb.mak index cdbe2acd63..0b7be7216d 100644 --- a/tests/fate/amrwb.mak +++ b/tests/fate/amrwb.mak @@ -1,55 +1,47 @@ FATE_AMRWB += fate-amrwb-6k60 fate-amrwb-6k60: CMD = pcm -i $(SAMPLES)/amrwb/seed-6k60.awb -fate-amrwb-6k60: CMP = stddev fate-amrwb-6k60: REF = $(SAMPLES)/amrwb/seed-6k60.pcm FATE_AMRWB += fate-amrwb-8k85 fate-amrwb-8k85: CMD = pcm -i $(SAMPLES)/amrwb/seed-8k85.awb -fate-amrwb-8k85: CMP = stddev fate-amrwb-8k85: REF = $(SAMPLES)/amrwb/seed-8k85.pcm FATE_AMRWB += fate-amrwb-12k65 fate-amrwb-12k65: CMD = pcm -i $(SAMPLES)/amrwb/seed-12k65.awb -fate-amrwb-12k65: CMP = stddev fate-amrwb-12k65: REF = $(SAMPLES)/amrwb/seed-12k65.pcm FATE_AMRWB += fate-amrwb-14k25 fate-amrwb-14k25: CMD = pcm -i $(SAMPLES)/amrwb/seed-14k25.awb -fate-amrwb-14k25: CMP = stddev fate-amrwb-14k25: REF = $(SAMPLES)/amrwb/seed-14k25.pcm fate-amrwb-14k25: FUZZ = 2.6 FATE_AMRWB += fate-amrwb-15k85 fate-amrwb-15k85: CMD = pcm -i $(SAMPLES)/amrwb/seed-15k85.awb -fate-amrwb-15k85: CMP = stddev fate-amrwb-15k85: REF = $(SAMPLES)/amrwb/seed-15k85.pcm FATE_AMRWB += fate-amrwb-18k25 fate-amrwb-18k25: CMD = pcm -i $(SAMPLES)/amrwb/seed-18k25.awb -fate-amrwb-18k25: CMP = stddev fate-amrwb-18k25: REF = $(SAMPLES)/amrwb/seed-18k25.pcm FATE_AMRWB += fate-amrwb-19k85 fate-amrwb-19k85: CMD = pcm -i $(SAMPLES)/amrwb/seed-19k85.awb -fate-amrwb-19k85: CMP = stddev fate-amrwb-19k85: REF = $(SAMPLES)/amrwb/seed-19k85.pcm FATE_AMRWB += fate-amrwb-23k05 fate-amrwb-23k05: CMD = pcm -i $(SAMPLES)/amrwb/seed-23k05.awb -fate-amrwb-23k05: CMP = stddev fate-amrwb-23k05: REF = $(SAMPLES)/amrwb/seed-23k05.pcm fate-amrwb-23k05: FUZZ = 2 FATE_AMRWB += fate-amrwb-23k85 fate-amrwb-23k85: CMD = pcm -i $(SAMPLES)/amrwb/seed-23k85.awb -fate-amrwb-23k85: CMP = stddev fate-amrwb-23k85: REF = $(SAMPLES)/amrwb/seed-23k85.pcm fate-amrwb-23k85: FUZZ = 2 FATE_AMRWB += fate-amrwb-23k85-2 fate-amrwb-23k85-2: CMD = pcm -i $(SAMPLES)/amrwb/deus-23k85.awb -fate-amrwb-23k85-2: CMP = stddev fate-amrwb-23k85-2: REF = $(SAMPLES)/amrwb/deus-23k85.pcm +$(FATE_AMRWB): CMP = stddev + FATE_SAMPLES_AVCONV += $(FATE_AMRWB) fate-amrwb: $(FATE_AMRWB) diff --git a/tests/fate/atrac.mak b/tests/fate/atrac.mak index 3897311610..08a6b25bd1 100644 --- a/tests/fate/atrac.mak +++ b/tests/fate/atrac.mak @@ -1,22 +1,20 @@ FATE_ATRAC += fate-atrac1 fate-atrac1: CMD = pcm -i $(SAMPLES)/atrac1/test_tones_small.aea -fate-atrac1: CMP = oneoff fate-atrac1: REF = $(SAMPLES)/atrac1/test_tones_small.pcm FATE_ATRAC += fate-atrac3-1 fate-atrac3-1: CMD = pcm -i $(SAMPLES)/atrac3/mc_sich_at3_066_small.wav -fate-atrac3-1: CMP = oneoff fate-atrac3-1: REF = $(SAMPLES)/atrac3/mc_sich_at3_066_small.pcm FATE_ATRAC += fate-atrac3-2 fate-atrac3-2: CMD = pcm -i $(SAMPLES)/atrac3/mc_sich_at3_105_small.wav -fate-atrac3-2: CMP = oneoff fate-atrac3-2: REF = $(SAMPLES)/atrac3/mc_sich_at3_105_small.pcm FATE_ATRAC += fate-atrac3-3 fate-atrac3-3: CMD = pcm -i $(SAMPLES)/atrac3/mc_sich_at3_132_small.wav -fate-atrac3-3: CMP = oneoff fate-atrac3-3: REF = $(SAMPLES)/atrac3/mc_sich_at3_132_small.pcm +$(FATE_ATRAC): CMP = oneoff + FATE_SAMPLES_AVCONV += $(FATE_ATRAC) fate-atrac: $(FATE_ATRAC) diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak index ca26f5cc4c..44b0c24db2 100644 --- a/tests/fate/audio.mak +++ b/tests/fate/audio.mak @@ -1,15 +1,15 @@ FATE_BINKAUDIO += fate-binkaudio-dct fate-binkaudio-dct: CMD = pcm -i $(SAMPLES)/bink/binkaudio_dct.bik -fate-binkaudio-dct: CMP = oneoff fate-binkaudio-dct: REF = $(SAMPLES)/bink/binkaudio_dct.pcm fate-binkaudio-dct: FUZZ = 2 FATE_BINKAUDIO += fate-binkaudio-rdft fate-binkaudio-rdft: CMD = pcm -i $(SAMPLES)/bink/binkaudio_rdft.bik -fate-binkaudio-rdft: CMP = oneoff fate-binkaudio-rdft: REF = $(SAMPLES)/bink/binkaudio_rdft.pcm fate-binkaudio-rdft: FUZZ = 2 +$(FATE_BINKAUDIO): CMP = oneoff + FATE_SAMPLES_AUDIO += $(FATE_BINKAUDIO) fate-binkaudio: $(FATE_BINKAUDIO) diff --git a/tests/fate/real.mak b/tests/fate/real.mak index aa3a5afee1..3ebbd9e532 100644 --- a/tests/fate/real.mak +++ b/tests/fate/real.mak @@ -23,24 +23,22 @@ fate-rv40: CMD = framecrc -i $(SAMPLES)/real/spygames-2MB.rmvb -t 10 -an FATE_SIPR += fate-sipr-5k0 fate-sipr-5k0: CMD = pcm -i $(SAMPLES)/sipr/sipr_5k0.rm -fate-sipr-5k0: CMP = oneoff fate-sipr-5k0: REF = $(SAMPLES)/sipr/sipr_5k0.pcm FATE_SIPR += fate-sipr-6k5 fate-sipr-6k5: CMD = pcm -i $(SAMPLES)/sipr/sipr_6k5.rm -fate-sipr-6k5: CMP = oneoff fate-sipr-6k5: REF = $(SAMPLES)/sipr/sipr_6k5.pcm FATE_SIPR += fate-sipr-8k5 fate-sipr-8k5: CMD = pcm -i $(SAMPLES)/sipr/sipr_8k5.rm -fate-sipr-8k5: CMP = oneoff fate-sipr-8k5: REF = $(SAMPLES)/sipr/sipr_8k5.pcm FATE_SIPR += fate-sipr-16k fate-sipr-16k: CMD = pcm -i $(SAMPLES)/sipr/sipr_16k.rm -fate-sipr-16k: CMP = oneoff fate-sipr-16k: REF = $(SAMPLES)/sipr/sipr_16k.pcm +$(FATE_SIPR): CMP = oneoff + FATE_REAL += $(FATE_SIPR) fate-sipr: $(FATE_SIPR) diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak index 6d80b7ff42..3535d55b1e 100644 --- a/tests/fate/voice.mak +++ b/tests/fate/voice.mak @@ -37,25 +37,20 @@ FATE_SAMPLES_AVCONV += $(FATE_G723_1) fate-g723_1: $(FATE_G723_1) FATE_G726 += fate-g726-encode-2bit -fate-g726-encode-2bit: tests/data/asynth-8000-1.wav -fate-g726-encode-2bit: SRC = tests/data/asynth-8000-1.wav fate-g726-encode-2bit: CMD = enc_dec_pcm wav md5 s16le $(SRC) -c:a g726 -b:a 16k FATE_G726 += fate-g726-encode-3bit -fate-g726-encode-3bit: tests/data/asynth-8000-1.wav -fate-g726-encode-3bit: SRC = tests/data/asynth-8000-1.wav fate-g726-encode-3bit: CMD = enc_dec_pcm wav md5 s16le $(SRC) -c:a g726 -b:a 24k FATE_G726 += fate-g726-encode-4bit -fate-g726-encode-4bit: tests/data/asynth-8000-1.wav -fate-g726-encode-4bit: SRC = tests/data/asynth-8000-1.wav fate-g726-encode-4bit: CMD = enc_dec_pcm wav md5 s16le $(SRC) -c:a g726 -b:a 32k FATE_G726 += fate-g726-encode-5bit -fate-g726-encode-5bit: tests/data/asynth-8000-1.wav -fate-g726-encode-5bit: SRC = tests/data/asynth-8000-1.wav fate-g726-encode-5bit: CMD = enc_dec_pcm wav md5 s16le $(SRC) -c:a g726 -b:a 40k +$(FATE_G726): tests/data/asynth-8000-1.wav +$(FATE_G726): SRC = tests/data/asynth-8000-1.wav + FATE_VOICE += $(FATE_G726) fate-g726: $(FATE_G726) diff --git a/tests/fate/wma.mak b/tests/fate/wma.mak index ba52b3181f..78562ec189 100644 --- a/tests/fate/wma.mak +++ b/tests/fate/wma.mak @@ -1,57 +1,54 @@ FATE_WMAPRO += fate-wmapro-2ch fate-wmapro-2ch: CMD = pcm -i $(SAMPLES)/wmapro/Beethovens_9th-1_small.wma -fate-wmapro-2ch: CMP = oneoff fate-wmapro-2ch: REF = $(SAMPLES)/wmapro/Beethovens_9th-1_small.pcm FATE_WMAPRO += fate-wmapro-5.1 fate-wmapro-5.1: CMD = pcm -i $(SAMPLES)/wmapro/latin_192_mulitchannel_cut.wma -fate-wmapro-5.1: CMP = oneoff fate-wmapro-5.1: REF = $(SAMPLES)/wmapro/latin_192_mulitchannel_cut.pcm FATE_WMAPRO += fate-wmapro-ism fate-wmapro-ism: CMD = pcm -i $(SAMPLES)/isom/vc1-wmapro.ism -vn -fate-wmapro-ism: CMP = oneoff fate-wmapro-ism: REF = $(SAMPLES)/isom/vc1-wmapro.pcm +$(FATE_WMAPRO): CMP = oneoff + FATE_SAMPLES_AVCONV += $(FATE_WMAPRO) fate-wmapro: $(FATE_WMAPRO) FATE_WMAVOICE += fate-wmavoice-7k fate-wmavoice-7k: CMD = pcm -i $(SAMPLES)/wmavoice/streaming_CBR-7K.wma -fate-wmavoice-7k: CMP = stddev fate-wmavoice-7k: REF = $(SAMPLES)/wmavoice/streaming_CBR-7K.pcm fate-wmavoice-7k: FUZZ = 3 FATE_WMAVOICE += fate-wmavoice-11k fate-wmavoice-11k: CMD = pcm -i $(SAMPLES)/wmavoice/streaming_CBR-11K.wma -fate-wmavoice-11k: CMP = stddev fate-wmavoice-11k: REF = $(SAMPLES)/wmavoice/streaming_CBR-11K.pcm fate-wmavoice-11k: FUZZ = 3 FATE_WMAVOICE += fate-wmavoice-19k fate-wmavoice-19k: CMD = pcm -i $(SAMPLES)/wmavoice/streaming_CBR-19K.wma -fate-wmavoice-19k: CMP = stddev fate-wmavoice-19k: REF = $(SAMPLES)/wmavoice/streaming_CBR-19K.pcm fate-wmavoice-19k: FUZZ = 3 +$(FATE_WMAVOICE): CMP = stddev + FATE_SAMPLES_AVCONV += $(FATE_WMAVOICE) fate-wmavoice: $(FATE_WMAVOICE) FATE_WMA_ENCODE += fate-wmav1-encode fate-wmav1-encode: CMD = enc_dec_pcm asf wav s16le $(REF) -c:a wmav1 -b:a 128k -fate-wmav1-encode: CMP = stddev -fate-wmav1-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav fate-wmav1-encode: CMP_SHIFT = -8192 fate-wmav1-encode: CMP_TARGET = 291.06 fate-wmav1-encode: SIZE_TOLERANCE = 4632 FATE_WMA_ENCODE += fate-wmav2-encode fate-wmav2-encode: CMD = enc_dec_pcm asf wav s16le $(REF) -c:a wmav2 -b:a 128k -fate-wmav2-encode: CMP = stddev -fate-wmav2-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav fate-wmav2-encode: CMP_SHIFT = -8192 fate-wmav2-encode: CMP_TARGET = 258.32 fate-wmav2-encode: SIZE_TOLERANCE = 4632 +$(FATE_WMA_ENCODE): CMP = stddev +$(FATE_WMA_ENCODE): REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav + FATE_SAMPLES_AVCONV += $(FATE_WMA_ENCODE) fate-wma-encode: $(FATE_WMA_ENCODE)