* commit 'bfe5454cd238b16e7977085f880205229103eccb': lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h lavf: move "MP3 " fourcc from riff to nut fate: vpx: Add dependencies fate: Fix wavpack-matroskamode test dependencies x86: dsputilenc: port to cpuflags Conflicts: libavformat/internal.h libavformat/nut.c tests/fate/vpx.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n1.1
@@ -99,35 +99,33 @@ SECTION .text | |||||
paddusw m0, m1 | paddusw m0, m1 | ||||
%endmacro | %endmacro | ||||
; FIXME: HSUM_* saturates at 64k, while an 8x8 hadamard or dct block can get up to | |||||
; FIXME: HSUM saturates at 64k, while an 8x8 hadamard or dct block can get up to | |||||
; about 100k on extreme inputs. But that's very unlikely to occur in natural video, | ; about 100k on extreme inputs. But that's very unlikely to occur in natural video, | ||||
; and it's even more unlikely to not have any alternative mvs/modes with lower cost. | ; and it's even more unlikely to not have any alternative mvs/modes with lower cost. | ||||
%macro HSUM_MMX 3 | |||||
mova %2, %1 | |||||
psrlq %1, 32 | |||||
%macro HSUM 3 | |||||
%if cpuflag(sse2) | |||||
movhlps %2, %1 | |||||
paddusw %1, %2 | paddusw %1, %2 | ||||
mova %2, %1 | |||||
psrlq %1, 16 | |||||
pshuflw %2, %1, 0xE | |||||
paddusw %1, %2 | |||||
pshuflw %2, %1, 0x1 | |||||
paddusw %1, %2 | paddusw %1, %2 | ||||
movd %3, %1 | movd %3, %1 | ||||
%endmacro | |||||
%macro HSUM_MMXEXT 3 | |||||
%elif cpuflag(mmxext) | |||||
pshufw %2, %1, 0xE | pshufw %2, %1, 0xE | ||||
paddusw %1, %2 | paddusw %1, %2 | ||||
pshufw %2, %1, 0x1 | pshufw %2, %1, 0x1 | ||||
paddusw %1, %2 | paddusw %1, %2 | ||||
movd %3, %1 | movd %3, %1 | ||||
%endmacro | |||||
%macro HSUM_SSE2 3 | |||||
movhlps %2, %1 | |||||
paddusw %1, %2 | |||||
pshuflw %2, %1, 0xE | |||||
%elif cpuflag(mmx) | |||||
mova %2, %1 | |||||
psrlq %1, 32 | |||||
paddusw %1, %2 | paddusw %1, %2 | ||||
pshuflw %2, %1, 0x1 | |||||
mova %2, %1 | |||||
psrlq %1, 16 | |||||
paddusw %1, %2 | paddusw %1, %2 | ||||
movd %3, %1 | movd %3, %1 | ||||
%endif | |||||
%endmacro | %endmacro | ||||
%macro STORE4 5 | %macro STORE4 5 | ||||
@@ -144,30 +142,30 @@ SECTION .text | |||||
mova %5, [%1+mmsize*3] | mova %5, [%1+mmsize*3] | ||||
%endmacro | %endmacro | ||||
%macro hadamard8_16_wrapper 3 | |||||
cglobal hadamard8_diff_%1, 4, 4, %2 | |||||
%macro hadamard8_16_wrapper 2 | |||||
cglobal hadamard8_diff, 4, 4, %1 | |||||
%ifndef m8 | %ifndef m8 | ||||
%assign pad %3*mmsize-(4+stack_offset&(mmsize-1)) | |||||
%assign pad %2*mmsize-(4+stack_offset&(mmsize-1)) | |||||
SUB rsp, pad | SUB rsp, pad | ||||
%endif | %endif | ||||
call hadamard8x8_diff_%1 | |||||
call hadamard8x8_diff %+ SUFFIX | |||||
%ifndef m8 | %ifndef m8 | ||||
ADD rsp, pad | ADD rsp, pad | ||||
%endif | %endif | ||||
RET | RET | ||||
cglobal hadamard8_diff16_%1, 5, 6, %2 | |||||
cglobal hadamard8_diff16, 5, 6, %1 | |||||
%ifndef m8 | %ifndef m8 | ||||
%assign pad %3*mmsize-(4+stack_offset&(mmsize-1)) | |||||
%assign pad %2*mmsize-(4+stack_offset&(mmsize-1)) | |||||
SUB rsp, pad | SUB rsp, pad | ||||
%endif | %endif | ||||
call hadamard8x8_diff_%1 | |||||
call hadamard8x8_diff %+ SUFFIX | |||||
mov r5d, eax | mov r5d, eax | ||||
add r1, 8 | add r1, 8 | ||||
add r2, 8 | add r2, 8 | ||||
call hadamard8x8_diff_%1 | |||||
call hadamard8x8_diff %+ SUFFIX | |||||
add r5d, eax | add r5d, eax | ||||
cmp r4d, 16 | cmp r4d, 16 | ||||
@@ -175,12 +173,12 @@ cglobal hadamard8_diff16_%1, 5, 6, %2 | |||||
lea r1, [r1+r3*8-8] | lea r1, [r1+r3*8-8] | ||||
lea r2, [r2+r3*8-8] | lea r2, [r2+r3*8-8] | ||||
call hadamard8x8_diff_%1 | |||||
call hadamard8x8_diff %+ SUFFIX | |||||
add r5d, eax | add r5d, eax | ||||
add r1, 8 | add r1, 8 | ||||
add r2, 8 | add r2, 8 | ||||
call hadamard8x8_diff_%1 | |||||
call hadamard8x8_diff %+ SUFFIX | |||||
add r5d, eax | add r5d, eax | ||||
.done: | .done: | ||||
@@ -191,7 +189,25 @@ cglobal hadamard8_diff16_%1, 5, 6, %2 | |||||
RET | RET | ||||
%endmacro | %endmacro | ||||
%macro HADAMARD8_DIFF_MMX 1 | |||||
%macro HADAMARD8_DIFF 0-1 | |||||
%if cpuflag(sse2) | |||||
hadamard8x8_diff %+ SUFFIX: | |||||
lea r0, [r3*3] | |||||
DIFF_PIXELS_8 r1, r2, 0, r3, r0, rsp+gprsize | |||||
HADAMARD8 | |||||
%if ARCH_X86_64 | |||||
TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, 8 | |||||
%else | |||||
TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, [rsp+gprsize], [rsp+mmsize+gprsize] | |||||
%endif | |||||
HADAMARD8 | |||||
ABS_SUM_8x8 rsp+gprsize | |||||
HSUM m0, m1, eax | |||||
and eax, 0xFFFF | |||||
ret | |||||
hadamard8_16_wrapper %1, 3 | |||||
%elif cpuflag(mmx) | |||||
ALIGN 16 | ALIGN 16 | ||||
; int hadamard8_diff_##cpu(void *s, uint8_t *src1, uint8_t *src2, | ; int hadamard8_diff_##cpu(void *s, uint8_t *src1, uint8_t *src2, | ||||
; int stride, int h) | ; int stride, int h) | ||||
@@ -199,7 +215,7 @@ ALIGN 16 | |||||
; note how r1, r2 and r3 are not clobbered in this function, so 16x16 | ; note how r1, r2 and r3 are not clobbered in this function, so 16x16 | ||||
; can simply call this 2x2x (and that's why we access rsp+gprsize | ; can simply call this 2x2x (and that's why we access rsp+gprsize | ||||
; everywhere, which is rsp of calling func | ; everywhere, which is rsp of calling func | ||||
hadamard8x8_diff_%1: | |||||
hadamard8x8_diff %+ SUFFIX: | |||||
lea r0, [r3*3] | lea r0, [r3*3] | ||||
; first 4x8 pixels | ; first 4x8 pixels | ||||
@@ -236,53 +252,35 @@ hadamard8x8_diff_%1: | |||||
and rax, 0xFFFF | and rax, 0xFFFF | ||||
ret | ret | ||||
hadamard8_16_wrapper %1, 0, 14 | |||||
%endmacro | |||||
%macro HADAMARD8_DIFF_SSE2 2 | |||||
hadamard8x8_diff_%1: | |||||
lea r0, [r3*3] | |||||
DIFF_PIXELS_8 r1, r2, 0, r3, r0, rsp+gprsize | |||||
HADAMARD8 | |||||
%if ARCH_X86_64 | |||||
TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, 8 | |||||
%else | |||||
TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, [rsp+gprsize], [rsp+mmsize+gprsize] | |||||
hadamard8_16_wrapper 0, 14 | |||||
%endif | %endif | ||||
HADAMARD8 | |||||
ABS_SUM_8x8 rsp+gprsize | |||||
HSUM_SSE2 m0, m1, eax | |||||
and eax, 0xFFFF | |||||
ret | |||||
hadamard8_16_wrapper %1, %2, 3 | |||||
%endmacro | %endmacro | ||||
INIT_MMX | |||||
INIT_MMX mmx | |||||
%define ABS1 ABS1_MMX | %define ABS1 ABS1_MMX | ||||
%define HSUM HSUM_MMX | |||||
HADAMARD8_DIFF_MMX mmx | |||||
HADAMARD8_DIFF | |||||
INIT_MMX mmxext | |||||
%define ABS1 ABS1_MMXEXT | %define ABS1 ABS1_MMXEXT | ||||
%define HSUM HSUM_MMXEXT | |||||
HADAMARD8_DIFF_MMX mmxext | |||||
HADAMARD8_DIFF | |||||
INIT_XMM | |||||
INIT_XMM sse2 | |||||
%define ABS2 ABS2_MMXEXT | %define ABS2 ABS2_MMXEXT | ||||
%if ARCH_X86_64 | %if ARCH_X86_64 | ||||
%define ABS_SUM_8x8 ABS_SUM_8x8_64 | %define ABS_SUM_8x8 ABS_SUM_8x8_64 | ||||
%else | %else | ||||
%define ABS_SUM_8x8 ABS_SUM_8x8_32 | %define ABS_SUM_8x8 ABS_SUM_8x8_32 | ||||
%endif | %endif | ||||
HADAMARD8_DIFF_SSE2 sse2, 10 | |||||
HADAMARD8_DIFF 10 | |||||
INIT_XMM ssse3 | |||||
%define ABS2 ABS2_SSSE3 | %define ABS2 ABS2_SSSE3 | ||||
%define ABS_SUM_8x8 ABS_SUM_8x8_64 | %define ABS_SUM_8x8 ABS_SUM_8x8_64 | ||||
HADAMARD8_DIFF_SSE2 ssse3, 9 | |||||
HADAMARD8_DIFF 9 | |||||
INIT_XMM | |||||
INIT_XMM sse2 | |||||
; sse16_sse2(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h) | ; sse16_sse2(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h) | ||||
cglobal sse16_sse2, 5, 5, 8 | |||||
cglobal sse16, 5, 5, 8 | |||||
shr r4d, 1 | shr r4d, 1 | ||||
pxor m0, m0 ; mm0 = 0 | pxor m0, m0 ; mm0 = 0 | ||||
pxor m7, m7 ; mm7 holds the sum | pxor m7, m7 ; mm7 holds the sum | ||||
@@ -28,7 +28,7 @@ | |||||
#define AVFORMAT_AIFF_H | #define AVFORMAT_AIFF_H | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "riff.h" | |||||
#include "internal.h" | |||||
static const AVCodecTag ff_codec_aiff_tags[] = { | static const AVCodecTag ff_codec_aiff_tags[] = { | ||||
{ AV_CODEC_ID_PCM_S16BE, MKTAG('N','O','N','E') }, | { AV_CODEC_ID_PCM_S16BE, MKTAG('N','O','N','E') }, | ||||
@@ -31,7 +31,6 @@ | |||||
#include "internal.h" | #include "internal.h" | ||||
#include "avio_internal.h" | #include "avio_internal.h" | ||||
#include "pcm.h" | #include "pcm.h" | ||||
#include "riff.h" | |||||
/* if we don't know the size in advance */ | /* if we don't know the size in advance */ | ||||
#define AU_UNKNOWN_SIZE ((uint32_t)(~0)) | #define AU_UNKNOWN_SIZE ((uint32_t)(~0)) | ||||
@@ -27,7 +27,6 @@ | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "riff.h" | |||||
#include "isom.h" | #include "isom.h" | ||||
#include "mov_chan.h" | #include "mov_chan.h" | ||||
#include "libavutil/intreadwrite.h" | #include "libavutil/intreadwrite.h" | ||||
@@ -27,7 +27,6 @@ | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "gxf.h" | #include "gxf.h" | ||||
#include "riff.h" | |||||
#include "audiointerleave.h" | #include "audiointerleave.h" | ||||
#define GXF_AUDIO_PACKET_SIZE 65536 | #define GXF_AUDIO_PACKET_SIZE 65536 | ||||
@@ -355,6 +355,10 @@ void ff_compute_frame_duration(int *pnum, int *pden, AVStream *st, | |||||
int ff_get_audio_frame_size(AVCodecContext *enc, int size, int mux); | int ff_get_audio_frame_size(AVCodecContext *enc, int size, int mux); | ||||
unsigned int ff_codec_get_tag(const AVCodecTag *tags, enum AVCodecID id); | |||||
enum AVCodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag); | |||||
/** | /** | ||||
* Chooses a timebase for muxing the specified stream. | * Chooses a timebase for muxing the specified stream. | ||||
* | * | ||||
@@ -26,7 +26,6 @@ | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "isom.h" | #include "isom.h" | ||||
#include "riff.h" | |||||
#include "libavcodec/mpeg4audio.h" | #include "libavcodec/mpeg4audio.h" | ||||
#include "libavcodec/mpegaudiodata.h" | #include "libavcodec/mpegaudiodata.h" | ||||
@@ -23,7 +23,6 @@ | |||||
#include "libavcodec/bytestream.h" | #include "libavcodec/bytestream.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "riff.h" | |||||
#define LXF_MAX_PACKET_HEADER_SIZE 256 | #define LXF_MAX_PACKET_HEADER_SIZE 256 | ||||
#define LXF_HEADER_DATA_SIZE 120 | #define LXF_HEADER_DATA_SIZE 120 | ||||
@@ -23,7 +23,6 @@ | |||||
#include "libavutil/mathematics.h" | #include "libavutil/mathematics.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "riff.h" | |||||
#include "libavutil/dict.h" | #include "libavutil/dict.h" | ||||
#include "libavutil/intreadwrite.h" | #include "libavutil/intreadwrite.h" | ||||
@@ -149,6 +149,7 @@ const AVCodecTag ff_nut_video_tags[] = { | |||||
static const AVCodecTag nut_audio_extra_tags[] = { | static const AVCodecTag nut_audio_extra_tags[] = { | ||||
{ AV_CODEC_ID_PCM_ALAW, MKTAG('A', 'L', 'A', 'W') }, | { AV_CODEC_ID_PCM_ALAW, MKTAG('A', 'L', 'A', 'W') }, | ||||
{ AV_CODEC_ID_PCM_MULAW, MKTAG('U', 'L', 'A', 'W') }, | { AV_CODEC_ID_PCM_MULAW, MKTAG('U', 'L', 'A', 'W') }, | ||||
{ AV_CODEC_ID_MP3, MKTAG('M', 'P', '3', ' ') }, | |||||
{ AV_CODEC_ID_NONE, 0 } | { AV_CODEC_ID_NONE, 0 } | ||||
}; | }; | ||||
@@ -26,7 +26,7 @@ | |||||
//#include "libavutil/adler32.h" | //#include "libavutil/adler32.h" | ||||
//#include "libavcodec/mpegaudio.h" | //#include "libavcodec/mpegaudio.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "riff.h" | |||||
#include "internal.h" | |||||
#include "metadata.h" | #include "metadata.h" | ||||
#define MAIN_STARTCODE (0x7A561F5F04ADULL + (((uint64_t)('N'<<8) + 'M')<<48)) | #define MAIN_STARTCODE (0x7A561F5F04ADULL + (((uint64_t)('N'<<8) + 'M')<<48)) | ||||
@@ -28,6 +28,7 @@ | |||||
#include "libavutil/tree.h" | #include "libavutil/tree.h" | ||||
#include "avio_internal.h" | #include "avio_internal.h" | ||||
#include "nut.h" | #include "nut.h" | ||||
#include "riff.h" | |||||
#define NUT_MAX_STREAMS 256 /* arbitrary sanity check value */ | #define NUT_MAX_STREAMS 256 /* arbitrary sanity check value */ | ||||
@@ -28,6 +28,7 @@ | |||||
#include "nut.h" | #include "nut.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "avio_internal.h" | #include "avio_internal.h" | ||||
#include "riff.h" | |||||
static int find_expected_header(AVCodecContext *c, int size, int key_frame, | static int find_expected_header(AVCodecContext *c, int size, int key_frame, | ||||
uint8_t out[64]) | uint8_t out[64]) | ||||
@@ -46,7 +46,6 @@ | |||||
#include "libavutil/des.h" | #include "libavutil/des.h" | ||||
#include "oma.h" | #include "oma.h" | ||||
#include "pcm.h" | #include "pcm.h" | ||||
#include "riff.h" | |||||
#include "id3v2.h" | #include "id3v2.h" | ||||
@@ -389,7 +389,6 @@ const AVCodecTag ff_codec_wav_tags[] = { | |||||
// for NuppelVideo (nuv.c) | // for NuppelVideo (nuv.c) | ||||
{ AV_CODEC_ID_PCM_S16LE, MKTAG('R', 'A', 'W', 'A') }, | { AV_CODEC_ID_PCM_S16LE, MKTAG('R', 'A', 'W', 'A') }, | ||||
{ AV_CODEC_ID_MP3, MKTAG('L', 'A', 'M', 'E') }, | { AV_CODEC_ID_MP3, MKTAG('L', 'A', 'M', 'E') }, | ||||
{ AV_CODEC_ID_MP3, MKTAG('M', 'P', '3', ' ') }, | |||||
{ AV_CODEC_ID_NONE, 0 }, | { AV_CODEC_ID_NONE, 0 }, | ||||
}; | }; | ||||
@@ -54,8 +54,6 @@ int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size); | |||||
extern const AVCodecTag ff_codec_bmp_tags[]; | extern const AVCodecTag ff_codec_bmp_tags[]; | ||||
extern const AVCodecTag ff_codec_wav_tags[]; | extern const AVCodecTag ff_codec_wav_tags[]; | ||||
unsigned int ff_codec_get_tag(const AVCodecTag *tags, enum AVCodecID id); | |||||
enum AVCodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag); | |||||
void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssize, int *au_scale); | void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssize, int *au_scale); | ||||
typedef uint8_t ff_asf_guid[16]; | typedef uint8_t ff_asf_guid[16]; | ||||
@@ -26,7 +26,6 @@ | |||||
#include "libavutil/dict.h" | #include "libavutil/dict.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "riff.h" | |||||
#include "rmsipr.h" | #include "rmsipr.h" | ||||
#include "rm.h" | #include "rm.h" | ||||
@@ -25,7 +25,6 @@ | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "pcm.h" | #include "pcm.h" | ||||
#include "riff.h" | |||||
#include "rso.h" | #include "rso.h" | ||||
static int rso_read_header(AVFormatContext *s) | static int rso_read_header(AVFormatContext *s) | ||||
@@ -26,7 +26,6 @@ | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "riff.h" | |||||
#include "smjpeg.h" | #include "smjpeg.h" | ||||
typedef struct SMJPEGMuxContext { | typedef struct SMJPEGMuxContext { | ||||
@@ -32,7 +32,7 @@ | |||||
#include "libavutil/fifo.h" | #include "libavutil/fifo.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "avio.h" | #include "avio.h" | ||||
#include "riff.h" /* for CodecTag */ | |||||
#include "internal.h" | |||||
/* should have a generic way to indicate probable size */ | /* should have a generic way to indicate probable size */ | ||||
#define DUMMY_FILE_SIZE (100 * 1024 * 1024) | #define DUMMY_FILE_SIZE (100 * 1024 * 1024) | ||||
@@ -23,7 +23,7 @@ | |||||
#define AVFORMAT_VOC_H | #define AVFORMAT_VOC_H | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "riff.h" /* for CodecTag */ | |||||
#include "internal.h" | |||||
typedef struct voc_dec_context { | typedef struct voc_dec_context { | ||||
int64_t remaining_size; | int64_t remaining_size; | ||||
@@ -1,34 +1,34 @@ | |||||
FATE_VP3 += fate-vp31 | |||||
FATE_VP3-$(CONFIG_AVI_DEMUXER) += fate-vp31 | |||||
fate-vp31: CMD = framecrc -i $(SAMPLES)/vp3/vp31.avi | fate-vp31: CMD = framecrc -i $(SAMPLES)/vp3/vp31.avi | ||||
FATE_VP3 += fate-vp3-coeff-level64 | |||||
FATE_VP3-$(CONFIG_MATROSKA_DEMUXER) += fate-vp3-coeff-level64 | |||||
fate-vp3-coeff-level64: CMD = framecrc -i $(SAMPLES)/vp3/coeff_level64.mkv | fate-vp3-coeff-level64: CMD = framecrc -i $(SAMPLES)/vp3/coeff_level64.mkv | ||||
FATE_SAMPLES_AVCONV += $(FATE_VP3) | |||||
fate-vp3: $(FATE_VP3) | |||||
FATE_SAMPLES_AVCONV-$(CONFIG_VP3_DECODER) += $(FATE_VP3-yes) | |||||
fate-vp3: $(FATE_VP3-yes) | |||||
FATE_SAMPLES_AVCONV += fate-vp5 | |||||
FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, VP5) += fate-vp5 | |||||
fate-vp5: CMD = framecrc -i $(SAMPLES)/vp5/potter512-400-partial.avi -an | fate-vp5: CMD = framecrc -i $(SAMPLES)/vp5/potter512-400-partial.avi -an | ||||
FATE_VP6 += fate-vp60 | |||||
FATE_VP6-$(call DEMDEC, EA, VP6) += fate-vp60 | |||||
fate-vp60: CMD = framecrc -i $(SAMPLES)/ea-vp6/g36.vp6 | fate-vp60: CMD = framecrc -i $(SAMPLES)/ea-vp6/g36.vp6 | ||||
FATE_VP6 += fate-vp61 | |||||
FATE_VP6-$(call DEMDEC, EA, VP6) += fate-vp61 | |||||
fate-vp61: CMD = framecrc -i $(SAMPLES)/ea-vp6/MovieSkirmishGondor.vp6 -t 4 | fate-vp61: CMD = framecrc -i $(SAMPLES)/ea-vp6/MovieSkirmishGondor.vp6 -t 4 | ||||
FATE_VP6 += fate-vp6a | |||||
FATE_VP6-$(call DEMDEC, FLV, VP6A) += fate-vp6a | |||||
fate-vp6a: CMD = framecrc -i $(SAMPLES)/flash-vp6/300x180-Scr-f8-056alpha.flv | fate-vp6a: CMD = framecrc -i $(SAMPLES)/flash-vp6/300x180-Scr-f8-056alpha.flv | ||||
FATE_VP6 += fate-vp6f | |||||
FATE_VP6-$(call DEMDEC, FLV, VP6F) += fate-vp6f | |||||
fate-vp6f: CMD = framecrc -i $(SAMPLES)/flash-vp6/clip1024.flv | fate-vp6f: CMD = framecrc -i $(SAMPLES)/flash-vp6/clip1024.flv | ||||
FATE_SAMPLES_AVCONV += $(FATE_VP6) | |||||
fate-vp6: $(FATE_VP6) | |||||
FATE_SAMPLES_AVCONV += $(FATE_VP6-yes) | |||||
fate-vp6: $(FATE_VP6-yes) | |||||
VP8_SUITE = 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 | VP8_SUITE = 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 | ||||
define FATE_VP8_SUITE | define FATE_VP8_SUITE | ||||
FATE_VP8 += fate-vp8-test-vector$(2)-$(1) | |||||
FATE_VP8-$(CONFIG_IVF_DEMUXER) += fate-vp8-test-vector$(2)-$(1) | |||||
fate-vp8-test-vector$(2)-$(1): CMD = framemd5 $(3) -i $(SAMPLES)/vp8-test-vectors-r1/vp80-00-comprehensive-$(1).ivf | fate-vp8-test-vector$(2)-$(1): CMD = framemd5 $(3) -i $(SAMPLES)/vp8-test-vectors-r1/vp80-00-comprehensive-$(1).ivf | ||||
fate-vp8-test-vector$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-test-vector-$(1) | fate-vp8-test-vector$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-test-vector-$(1) | ||||
endef | endef | ||||
@@ -38,16 +38,16 @@ $(foreach N,$(VP8_SUITE),$(eval $(call FATE_VP8_SUITE,$(N),$(1),$(2)))) | |||||
# FIXME this file contains two frames with identical timestamps, | # FIXME this file contains two frames with identical timestamps, | ||||
# so ffmpeg drops one of them | # so ffmpeg drops one of them | ||||
FATE_VP8 += fate-vp8-sign-bias$(1) | |||||
FATE_VP8-$(CONFIG_IVF_DEMUXER) += fate-vp8-sign-bias$(1) | |||||
fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf | fate-vp8-sign-bias$(1): CMD = framemd5 $(2) -i $(SAMPLES)/vp8/sintel-signbias.ivf | ||||
fate-vp8-sign-bias$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-sign-bias | fate-vp8-sign-bias$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-sign-bias | ||||
FATE_VP8 += fate-vp8-size-change$(1) | |||||
FATE_VP8-$(CONFIG_MATROSKA_DEMUXER) += fate-vp8-size-change$(1) | |||||
fate-vp8-size-change$(1): CMD = framemd5 $(2) -flags +bitexact -i $(SAMPLES)/vp8/frame_size_change.webm -frames:v 30 -sws_flags bitexact+bilinear | fate-vp8-size-change$(1): CMD = framemd5 $(2) -flags +bitexact -i $(SAMPLES)/vp8/frame_size_change.webm -frames:v 30 -sws_flags bitexact+bilinear | ||||
fate-vp8-size-change$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-size-change | fate-vp8-size-change$(1): REF = $(SRC_PATH)/tests/ref/fate/vp8-size-change | ||||
endef | endef | ||||
$(eval $(call FATE_VP8_FULL)) | $(eval $(call FATE_VP8_FULL)) | ||||
$(eval $(call FATE_VP8_FULL,-emu-edge,-flags +emu_edge)) | $(eval $(call FATE_VP8_FULL,-emu-edge,-flags +emu_edge)) | ||||
FATE_SAMPLES_AVCONV += $(FATE_VP8) | |||||
fate-vp8: $(FATE_VP8) | |||||
FATE_SAMPLES_AVCONV-$(CONFIG_VP8_DECODER) += $(FATE_VP8-yes) | |||||
fate-vp8: $(FATE_VP8-yes) |
@@ -83,8 +83,10 @@ fate-wavpack-clipping: CMD = md5 -i $(SAMPLES)/wavpack/special/clipping.wv -f s1 | |||||
FATE_WAVPACK += fate-wavpack-falsestereo | FATE_WAVPACK += fate-wavpack-falsestereo | ||||
fate-wavpack-falsestereo: CMD = md5 -i $(SAMPLES)/wavpack/special/false_stereo.wv -f s16le | fate-wavpack-falsestereo: CMD = md5 -i $(SAMPLES)/wavpack/special/false_stereo.wv -f s16le | ||||
FATE_WAVPACK += fate-wavpack-matroskamode | |||||
FATE_WAVPACK-$(call DEMDEC, WV, WAVPACK) += $(FATE_WAVPACK) | |||||
FATE_WAVPACK-$(call DEMDEC, MATROSKA, WAVPACK) += fate-wavpack-matroskamode | |||||
fate-wavpack-matroskamode: CMD = md5 -i $(SAMPLES)/wavpack/special/matroska_mode.mka -f s16le | fate-wavpack-matroskamode: CMD = md5 -i $(SAMPLES)/wavpack/special/matroska_mode.mka -f s16le | ||||
FATE_SAMPLES_AVCONV-$(call DEMDEC, WV, WAVPACK) += $(FATE_WAVPACK) | |||||
fate-wavpack: $(FATE_WAVPACK) | |||||
FATE_SAMPLES_AVCONV += $(FATE_WAVPACK-yes) | |||||
fate-wavpack: $(FATE_WAVPACK-yes) |