diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index 13ed42ef26..e19542252c 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -166,10 +166,10 @@ void ff_svq3_luma_dc_dequant_idct_c(DCTELEM *output, DCTELEM *input, int qp) const int z2 = 7 * temp[4 * 1 + i] - 17 * temp[4 * 3 + i]; const int z3 = 17 * temp[4 * 1 + i] + 7 * temp[4 * 3 + i]; - output[stride * 0 + offset] = ((z0 + z3) * qmul + 0x80000) >> 20; - output[stride * 2 + offset] = ((z1 + z2) * qmul + 0x80000) >> 20; - output[stride * 8 + offset] = ((z1 - z2) * qmul + 0x80000) >> 20; - output[stride * 10 + offset] = ((z0 - z3) * qmul + 0x80000) >> 20; + output[stride * 0 + offset] = (z0 + z3) * qmul + 0x80000 >> 20; + output[stride * 2 + offset] = (z1 + z2) * qmul + 0x80000 >> 20; + output[stride * 8 + offset] = (z1 - z2) * qmul + 0x80000 >> 20; + output[stride * 10 + offset] = (z0 - z3) * qmul + 0x80000 >> 20; } } #undef stride @@ -181,8 +181,8 @@ void ff_svq3_add_idct_c(uint8_t *dst, DCTELEM *block, int i; if (dc) { - dc = 13 * 13 * ((dc == 1) ? 1538 * block[0] - : ((qmul * (block[0] >> 3)) / 2)); + dc = 13 * 13 * (dc == 1 ? 1538 * block[0] + : qmul * (block[0] >> 3) / 2); block[0] = 0; } @@ -205,10 +205,10 @@ void ff_svq3_add_idct_c(uint8_t *dst, DCTELEM *block, const int z3 = 17 * block[i + 4 * 1] + 7 * block[i + 4 * 3]; const int rr = (dc + 0x80000); - dst[i + stride * 0] = av_clip_uint8(dst[i + stride * 0] + (((z0 + z3) * qmul + rr) >> 20)); - dst[i + stride * 1] = av_clip_uint8(dst[i + stride * 1] + (((z1 + z2) * qmul + rr) >> 20)); - dst[i + stride * 2] = av_clip_uint8(dst[i + stride * 2] + (((z1 - z2) * qmul + rr) >> 20)); - dst[i + stride * 3] = av_clip_uint8(dst[i + stride * 3] + (((z0 - z3) * qmul + rr) >> 20)); + dst[i + stride * 0] = av_clip_uint8(dst[i + stride * 0] + ((z0 + z3) * qmul + rr >> 20)); + dst[i + stride * 1] = av_clip_uint8(dst[i + stride * 1] + ((z1 + z2) * qmul + rr >> 20)); + dst[i + stride * 2] = av_clip_uint8(dst[i + stride * 2] + ((z1 - z2) * qmul + rr >> 20)); + dst[i + stride * 3] = av_clip_uint8(dst[i + stride * 3] + ((z0 - z3) * qmul + rr >> 20)); } } @@ -219,7 +219,7 @@ static inline int svq3_decode_block(GetBitContext *gb, DCTELEM *block, { luma_dc_zigzag_scan, zigzag_scan, svq3_scan, chroma_dc_scan }; int run, level, sign, vlc, limit; - const int intra = (3 * type) >> 2; + const int intra = 3 * type >> 2; const uint8_t *const scan = scan_patterns[type]; for (limit = (16 >> intra); index < 16; index = limit, limit += 8) { @@ -228,7 +228,7 @@ static inline int svq3_decode_block(GetBitContext *gb, DCTELEM *block, return -1; sign = (vlc & 0x1) - 1; - vlc = (vlc + 1) >> 1; + vlc = vlc + 1 >> 1; if (type == 3) { if (vlc < 3) { @@ -238,18 +238,18 @@ static inline int svq3_decode_block(GetBitContext *gb, DCTELEM *block, run = 1; level = 1; } else { - run = (vlc & 0x3); - level = ((vlc + 9) >> 2) - run; + run = vlc & 0x3; + level = (vlc + 9 >> 2) - run; } } else { if (vlc < 16U) { run = svq3_dct_tables[intra][vlc].run; level = svq3_dct_tables[intra][vlc].level; } else if (intra) { - run = (vlc & 0x7); + run = vlc & 0x7; level = (vlc >> 3) + ((run == 0) ? 8 : ((run < 2) ? 2 : ((run < 5) ? 0 : -1))); } else { - run = (vlc & 0xF); + run = vlc & 0xF; level = (vlc >> 4) + ((run == 0) ? 4 : ((run < 3) ? 2 : ((run < 10) ? 1 : 0))); } } @@ -282,13 +282,13 @@ static inline void svq3_mc_dir_part(MpegEncContext *s, mx += x; my += y; - if (mx < 0 || mx >= (s->h_edge_pos - width - 1) || - my < 0 || my >= (s->v_edge_pos - height - 1)) { + if (mx < 0 || mx >= s->h_edge_pos - width - 1 || + my < 0 || my >= s->v_edge_pos - height - 1) { if ((s->flags & CODEC_FLAG_EMU_EDGE)) emu = 1; - mx = av_clip(mx, -16, (s->h_edge_pos - width + 15)); - my = av_clip(my, -16, (s->v_edge_pos - height + 15)); + mx = av_clip(mx, -16, s->h_edge_pos - width + 15); + my = av_clip(my, -16, s->v_edge_pos - height + 15); } /* form component predictions */ @@ -297,7 +297,7 @@ static inline void svq3_mc_dir_part(MpegEncContext *s, if (emu) { s->dsp.emulated_edge_mc(s->edge_emu_buffer, src, s->linesize, - (width + 1), (height + 1), + width + 1, height + 1, mx, my, s->h_edge_pos, s->v_edge_pos); src = s->edge_emu_buffer; } @@ -311,10 +311,10 @@ static inline void svq3_mc_dir_part(MpegEncContext *s, height); if (!(s->flags & CODEC_FLAG_GRAY)) { - mx = (mx + (mx < (int) x)) >> 1; - my = (my + (my < (int) y)) >> 1; - width = (width >> 1); - height = (height >> 1); + mx = mx + (mx < (int) x) >> 1; + my = my + (my < (int) y) >> 1; + width = width >> 1; + height = height >> 1; blocksize++; for (i = 1; i < 3; i++) { @@ -323,9 +323,9 @@ static inline void svq3_mc_dir_part(MpegEncContext *s, if (emu) { s->dsp.emulated_edge_mc(s->edge_emu_buffer, src, s->uvlinesize, - (width + 1), (height + 1), + width + 1, height + 1, mx, my, (s->h_edge_pos >> 1), - (s->v_edge_pos >> 1)); + s->v_edge_pos >> 1); src = s->edge_emu_buffer; } if (thirdpel) @@ -360,25 +360,25 @@ static inline int svq3_mc_dir(H264Context *h, int size, int mode, int dxy; x = 16 * s->mb_x + j; y = 16 * s->mb_y + i; - k = ((j >> 2) & 1) + ((i >> 1) & 2) + - ((j >> 1) & 4) + (i & 8); + k = (j >> 2 & 1) + (i >> 1 & 2) + + (j >> 1 & 4) + (i & 8); if (mode != PREDICT_MODE) { - pred_motion(h, k, (part_width >> 2), dir, 1, &mx, &my); + pred_motion(h, k, part_width >> 2, dir, 1, &mx, &my); } else { mx = s->next_picture.f.motion_val[0][b_xy][0] << 1; my = s->next_picture.f.motion_val[0][b_xy][1] << 1; if (dir == 0) { - mx = ((mx * h->frame_num_offset) / - h->prev_frame_num_offset + 1) >> 1; - my = ((my * h->frame_num_offset) / - h->prev_frame_num_offset + 1) >> 1; + mx = mx * h->frame_num_offset / + h->prev_frame_num_offset + 1 >> 1; + my = my * h->frame_num_offset / + h->prev_frame_num_offset + 1 >> 1; } else { - mx = ((mx * (h->frame_num_offset - h->prev_frame_num_offset)) / - h->prev_frame_num_offset + 1) >> 1; - my = ((my * (h->frame_num_offset - h->prev_frame_num_offset)) / - h->prev_frame_num_offset + 1) >> 1; + mx = mx * (h->frame_num_offset - h->prev_frame_num_offset) / + h->prev_frame_num_offset + 1 >> 1; + my = my * (h->frame_num_offset - h->prev_frame_num_offset) / + h->prev_frame_num_offset + 1 >> 1; } } @@ -402,10 +402,10 @@ static inline int svq3_mc_dir(H264Context *h, int size, int mode, /* compute motion vector */ if (mode == THIRDPEL_MODE) { int fx, fy; - mx = ((mx + 1) >> 1) + dx; - my = ((my + 1) >> 1) + dy; - fx = ((unsigned)(mx + 0x3000)) / 3 - 0x1000; - fy = ((unsigned)(my + 0x3000)) / 3 - 0x1000; + mx = (mx + 1 >> 1) + dx; + my = (my + 1 >> 1) + dy; + fx = (unsigned)(mx + 0x3000) / 3 - 0x1000; + fy = (unsigned)(my + 0x3000) / 3 - 0x1000; dxy = (mx - 3 * fx) + 4 * (my - 3 * fy); svq3_mc_dir_part(s, x, y, part_width, part_height, @@ -413,8 +413,8 @@ static inline int svq3_mc_dir(H264Context *h, int size, int mode, mx += mx; my += my; } else if (mode == HALFPEL_MODE || mode == PREDICT_MODE) { - mx = ((unsigned)(mx + 1 + 0x3000)) / 3 + dx - 0x1000; - my = ((unsigned)(my + 1 + 0x3000)) / 3 + dy - 0x1000; + mx = (unsigned)(mx + 1 + 0x3000) / 3 + dx - 0x1000; + my = (unsigned)(my + 1 + 0x3000) / 3 + dy - 0x1000; dxy = (mx & 1) + 2 * (my & 1); svq3_mc_dir_part(s, x, y, part_width, part_height, @@ -422,8 +422,8 @@ static inline int svq3_mc_dir(H264Context *h, int size, int mode, mx *= 3; my *= 3; } else { - mx = ((unsigned)(mx + 3 + 0x6000)) / 6 + dx - 0x1000; - my = ((unsigned)(my + 3 + 0x6000)) / 6 + dy - 0x1000; + mx = (unsigned)(mx + 3 + 0x6000) / 6 + dx - 0x1000; + my = (unsigned)(my + 3 + 0x6000) / 6 + dy - 0x1000; svq3_mc_dir_part(s, x, y, part_width, part_height, mx, my, 0, 0, dir, avg); @@ -525,7 +525,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) memset(&h->ref_cache[m][scan8[0] - 1 * 8], (h->intra4x4_pred_mode[h->mb2br_xy[mb_xy - s->mb_stride]] == -1) ? PART_NOT_AVAILABLE : 1, 4); - if (s->mb_x < (s->mb_width - 1)) { + if (s->mb_x < s->mb_width - 1) { AV_COPY32(h->mv_cache[m][scan8[0] + 4 - 1 * 8], s->current_picture.f.motion_val[m][b_xy - h->b_stride + 4]); h->ref_cache[m][scan8[0] + 4 - 1 * 8] = @@ -550,7 +550,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) /* decode motion vector(s) and form prediction(s) */ if (s->pict_type == AV_PICTURE_TYPE_P) { - if (svq3_mc_dir(h, (mb_type - 1), mode, 0, 0) < 0) + if (svq3_mc_dir(h, mb_type - 1, mode, 0, 0) < 0) return -1; } else { /* AV_PICTURE_TYPE_B */ if (mb_type != 2) { @@ -562,7 +562,7 @@ static int svq3_decode_mb(SVQ3Context *svq3, unsigned int mb_type) 0, 4 * 2 * sizeof(int16_t)); } if (mb_type != 1) { - if (svq3_mc_dir(h, 0, mode, 1, (mb_type == 3)) < 0) + if (svq3_mc_dir(h, 0, mode, 1, mb_type == 3) < 0) return -1; } else { for (i = 0; i < 4; i++) @@ -763,7 +763,7 @@ static int svq3_decode_slice_header(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "unsupported slice header (%02X)\n", header); return -1; } else { - int length = (header >> 5) & 3; + int length = header >> 5 & 3; svq3->next_slice_index = get_bits_count(&s->gb) + 8 * show_bits(&s->gb, 8 * length) + @@ -784,7 +784,7 @@ static int svq3_decode_slice_header(AVCodecContext *avctx) } if (length > 0) { memcpy((uint8_t *) &s->gb.buffer[get_bits_count(&s->gb) >> 3], - &s->gb.buffer[s->gb.size_in_bits >> 3], (length - 1)); + &s->gb.buffer[s->gb.size_in_bits >> 3], length - 1); } skip_bits_long(&s->gb, 0); } @@ -799,7 +799,7 @@ static int svq3_decode_slice_header(AVCodecContext *avctx) if ((header & 0x9F) == 2) { i = (s->mb_num < 64) ? 6 : (1 + av_log2(s->mb_num - 1)); s->mb_skip_run = get_bits(&s->gb, i) - - (s->mb_x + (s->mb_y * s->mb_width)); + (s->mb_y * s->mb_width + s->mb_x); } else { skip_bits1(&s->gb); s->mb_skip_run = 0; @@ -957,7 +957,7 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx) int u4 = svq3_get_ue_golomb(&gb); unsigned long buf_len = watermark_width * watermark_height * 4; - int offset = (get_bits_count(&gb) + 7) >> 3; + int offset = get_bits_count(&gb) + 7 >> 3; uint8_t *buf; if (watermark_height <= 0 || (uint64_t)watermark_width*4 > UINT_MAX/watermark_height) @@ -1062,9 +1062,9 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data, /* Skip B-frames if we do not have reference frames. */ if (s->last_picture_ptr == NULL && s->pict_type == AV_PICTURE_TYPE_B) return 0; - if ((avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B) || - (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I) || - avctx->skip_frame >= AVDISCARD_ALL) + if (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B || + avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I || + avctx->skip_frame >= AVDISCARD_ALL) return 0; if (s->next_p_frame_damaged) { @@ -1078,7 +1078,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data, return -1; if (s->pict_type == AV_PICTURE_TYPE_B) { - h->frame_num_offset = (h->slice_num - h->prev_frame_num); + h->frame_num_offset = h->slice_num - h->prev_frame_num; if (h->frame_num_offset < 0) h->frame_num_offset += 256; @@ -1090,7 +1090,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data, } else { h->prev_frame_num = h->frame_num; h->frame_num = h->slice_num; - h->prev_frame_num_offset = (h->frame_num - h->prev_frame_num); + h->prev_frame_num_offset = h->frame_num - h->prev_frame_num; if (h->prev_frame_num_offset < 0) h->prev_frame_num_offset += 256; @@ -1113,7 +1113,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data, if ((get_bits_count(&s->gb) + 7) >= s->gb.size_in_bits && ((get_bits_count(&s->gb) & 7) == 0 || - show_bits(&s->gb, (-get_bits_count(&s->gb) & 7)) == 0)) { + show_bits(&s->gb, -get_bits_count(&s->gb) & 7) == 0)) { skip_bits(&s->gb, svq3->next_slice_index - get_bits_count(&s->gb)); s->gb.size_in_bits = 8 * buf_size; diff --git a/tests/fate/adpcm.mak b/tests/fate/adpcm.mak index 4205168dca..bb4745be0d 100644 --- a/tests/fate/adpcm.mak +++ b/tests/fate/adpcm.mak @@ -1,74 +1,74 @@ -FATE_ADPCM += fate-adpcm-ea-r2 -fate-adpcm-ea-r2: CMD = crc -i $(SAMPLES)/ea-mpc/THX_logo.mpc -vn - -FATE_ADPCM += fate-adpcm-ea-r3 -fate-adpcm-ea-r3: CMD = crc -i $(SAMPLES)/ea-vp6/THX_logo.vp6 -vn - -FATE_ADPCM += fate-adpcm-creative +FATE_ADPCM-$(call DEMDEC, WAV, ADPCM_CT) += fate-adpcm-creative fate-adpcm-creative: CMD = md5 -i $(SAMPLES)/creative/intro-partial.wav -f s16le -FATE_ADPCM += fate-adpcm-creative-8-2bit +FATE_ADPCM-$(call DEMDEC, VOC, ADPCM_SBPRO_2) += fate-adpcm-creative-8-2bit fate-adpcm-creative-8-2bit: CMD = md5 -i $(SAMPLES)/creative/BBC_2BIT.VOC -f s16le -FATE_ADPCM += fate-adpcm-creative-8-2.6bit +FATE_ADPCM-$(call DEMDEC, VOC, ADPCM_SBPRO_3) += fate-adpcm-creative-8-2.6bit fate-adpcm-creative-8-2.6bit: CMD = md5 -i $(SAMPLES)/creative/BBC_3BIT.VOC -f s16le -FATE_ADPCM += fate-adpcm-creative-8-4bit +FATE_ADPCM-$(call DEMDEC, VOC, ADPCM_SBPRO_4) += fate-adpcm-creative-8-4bit fate-adpcm-creative-8-4bit: CMD = md5 -i $(SAMPLES)/creative/BBC_4BIT.VOC -f s16le -FATE_ADPCM += fate-adpcm-ea-1 +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA) += fate-adpcm-ea-1 fate-adpcm-ea-1: CMD = framecrc -i $(SAMPLES)/ea-wve/networkBackbone-partial.wve -frames:a 26 -vn -FATE_ADPCM += fate-adpcm-ea-2 +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA) += fate-adpcm-ea-2 fate-adpcm-ea-2: CMD = framecrc -i $(SAMPLES)/ea-dct/NFS2Esprit-partial.dct -vn -FATE_ADPCM += fate-adpcm-ea-maxis-xa +FATE_ADPCM-$(call DEMDEC, XA, ADPCM_EA_MAXIS_XA) += fate-adpcm-ea-maxis-xa fate-adpcm-ea-maxis-xa: CMD = framecrc -i $(SAMPLES)/maxis-xa/SC2KBUG.XA -frames:a 30 -FATE_ADPCM += fate-adpcm-ea-r1 +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R1) += fate-adpcm-ea-r1 fate-adpcm-ea-r1: CMD = framecrc -i $(SAMPLES)/ea-mad/NFS6LogoE.mad -vn -FATE_ADPCM += fate-adpcm-ima-amv +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R2) += fate-adpcm-ea-r2 +fate-adpcm-ea-r2: CMD = crc -i $(SAMPLES)/ea-mpc/THX_logo.mpc -vn + +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_EA_R3) += fate-adpcm-ea-r3 +fate-adpcm-ea-r3: CMD = crc -i $(SAMPLES)/ea-vp6/THX_logo.vp6 -vn + +FATE_ADPCM-$(call DEMDEC, AVI, ADPCM_IMA_AMV) += fate-adpcm-ima-amv fate-adpcm-ima-amv: CMD = framecrc -i $(SAMPLES)/amv/MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv -t 10 -vn -FATE_ADPCM += fate-adpcm-ima-apc +FATE_ADPCM-$(call DEMDEC, APC, ADPCM_IMA_APC) += fate-adpcm-ima-apc fate-adpcm-ima-apc: CMD = md5 -i $(SAMPLES)/cryo-apc/cine007.APC -f s16le -FATE_ADPCM += fate-adpcm-ima-dk3 +FATE_ADPCM-$(call DEMDEC, AVI, ADPCM_IMA_DK3) += fate-adpcm-ima-dk3 fate-adpcm-ima-dk3: CMD = md5 -i $(SAMPLES)/duck/sop-audio-only.avi -f s16le -FATE_ADPCM += fate-adpcm-ima-dk4 +FATE_ADPCM-$(call DEMDEC, AVI, ADPCM_IMA_DK4) += fate-adpcm-ima-dk4 fate-adpcm-ima-dk4: CMD = md5 -i $(SAMPLES)/duck/salsa-audio-only.avi -f s16le -FATE_ADPCM += fate-adpcm-ima-ea-eacs +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_IMA_EA_EACS) += fate-adpcm-ima-ea-eacs fate-adpcm-ima-ea-eacs: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTRO8K-partial.TGV -vn -FATE_ADPCM += fate-adpcm-ima-ea-sead +FATE_ADPCM-$(call DEMDEC, EA, ADPCM_IMA_EA_SEAD) += fate-adpcm-ima-ea-sead fate-adpcm-ima-ea-sead: CMD = framecrc -i $(SAMPLES)/ea-tgv/INTEL_S.TGV -vn -FATE_ADPCM += fate-adpcm-ima-iss +FATE_ADPCM-$(call DEMDEC, ISS, ADPCM_IMA_ISS) += fate-adpcm-ima-iss fate-adpcm-ima-iss: CMD = md5 -i $(SAMPLES)/funcom-iss/0004010100.iss -f s16le -FATE_ADPCM += fate-adpcm-ima-smjpeg +FATE_ADPCM-$(call DEMDEC, SMJPEG, ADPCM_IMA_SMJPEG) += fate-adpcm-ima-smjpeg fate-adpcm-ima-smjpeg: CMD = framecrc -i $(SAMPLES)/smjpeg/scenwin.mjpg -vn -FATE_ADPCM += fate-adpcm-ima_wav-stereo +FATE_ADPCM-$(call DEMDEC, MOV, ADPCM_IMA_WAV) += fate-adpcm-ima_wav-stereo fate-adpcm-ima_wav-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms11.mov -f s16le -FATE_ADPCM += fate-adpcm-ima-ws +FATE_ADPCM-$(call DEMDEC, WSVQA, ADPCM_IMA_WS) += fate-adpcm-ima-ws fate-adpcm-ima-ws: CMD = framecrc -i $(SAMPLES)/vqa/cc-demo1-partial.vqa -vn -FATE_ADPCM += fate-adpcm-ms-mono +FATE_ADPCM-$(call DEMDEC, DXA, ADPCM_MS) += fate-adpcm-ms-mono fate-adpcm-ms-mono: CMD = framecrc -i $(SAMPLES)/dxa/meetsquid.dxa -t 2 -vn -FATE_ADPCM += fate-adpcm-thp -fate-adpcm-thp: CMD = framecrc -i $(SAMPLES)/thp/pikmin2-opening1-partial.thp -vn - -FATE_ADPCM += fate-adpcm-xa -fate-adpcm-xa: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -vn - -FATE_ADPCM += fate-adpcm_ms-stereo +FATE_ADPCM-$(call DEMDEC, MOV, ADPCM_MS) += fate-adpcm_ms-stereo fate-adpcm_ms-stereo: CMD = md5 -i $(SAMPLES)/qt-surge-suite/surge-2-16-L-ms02.mov -f s16le -FATE_SAMPLES_AVCONV += $(FATE_ADPCM) -fate-adpcm: $(FATE_ADPCM) +FATE_ADPCM-$(call DEMDEC, THP, ADPCM_THP) += fate-adpcm-thp +fate-adpcm-thp: CMD = framecrc -i $(SAMPLES)/thp/pikmin2-opening1-partial.thp -vn + +FATE_ADPCM-$(call DEMDEC, STR, ADPCM_XA) += fate-adpcm-xa +fate-adpcm-xa: CMD = framecrc -i $(SAMPLES)/psx-str/abc000_cut.str -vn + +FATE_SAMPLES_AVCONV += $(FATE_ADPCM-yes) +fate-adpcm: $(FATE_ADPCM-yes)