Message ID | 20200103155636.7476-10-nicolas.gaullier@cji.paris |
---|---|
State | New |
Headers | show |
Series | avformat: Use s337m subdemux inside wav | expand |
Context | Check | Description |
---|---|---|
andriy/ffmpeg-patchwork | fail | Make fate failed |
fre 2020-01-03 klockan 16:56 +0100 skrev Nicolas Gaullier: > Test the new 'dolbyeprobe' AVOption. > Test dolby_e decoding for 24 bits with program config '5.1+2' > --- > tests/Makefile | 1 + > tests/fate-run.sh | 4 ++++ > tests/fate/audio.mak | 5 +++++ > 3 files changed, 10 insertions(+) > > diff --git a/tests/Makefile b/tests/Makefile > index e5f41008d4..65cccac312 100644 > --- a/tests/Makefile > +++ b/tests/Makefile > @@ -75,6 +75,7 @@ ENCDEC2 = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ > $(firstword $(3))_MUXER $(lastword $(3))_DEMUXER) > > DEMDEC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER)) > +DEMDEMDEC = $(call ALLYES, $(1)_DEMUXER $(2)_DEMUXER $(3:%=%_DECODER)) > ENCMUX = $(call ALLYES, $(1:%=%_ENCODER) $(2)_MUXER) > > DEMMUX = $(call ALLYES, $(1)_DEMUXER $(2)_MUXER) > diff --git a/tests/fate-run.sh b/tests/fate-run.sh > index 83cad8cabe..f06b2fd029 100755 > --- a/tests/fate-run.sh > +++ b/tests/fate-run.sh > @@ -162,6 +162,10 @@ pcm(){ > ffmpeg "$@" -vn -f s16le - > } > > +dolbye2pcm16(){ > + ffmpeg -dolbyeprobe 1 "$@" -vn -f s16le - > +} > + > fmtstdout(){ > fmt=$1 > shift 1 > diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak > index c41958ea2d..0e56d401ea 100644 > --- a/tests/fate/audio.mak > +++ b/tests/fate/audio.mak > @@ -24,6 +24,11 @@ fate-dolby-e: CMD = pcm -i $(TARGET_SAMPLES)/dolby_e/16-11 > fate-dolby-e: CMP = oneoff > fate-dolby-e: REF = $(SAMPLES)/dolby_e/16-11.pcm > > +FATE_SAMPLES_AUDIO-$(call DEMDEMDEC, WAV, S337M, DOLBY_E) += fate-dolby-e-wav > +fate-dolby-e-wav: CMD = dolbye2pcm16 -i $(TARGET_SAMPLES)/dolby_e/512.wav > +fate-dolby-e-wav: CMP = oneoff > +fate-dolby-e-wav: REF = $(SAMPLES)/dolby_e/512.wav.pcm > + > FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-lp fate-dss-sp > fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames 30 > fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames 30 This is missing some kind of hash check on the demuxed data /Tomas
>> Test the new 'dolbyeprobe' AVOption. >> Test dolby_e decoding for 24 bits with program config '5.1+2' >> --- >> tests/Makefile | 1 + >> tests/fate-run.sh | 4 ++++ >> tests/fate/audio.mak | 5 +++++ >> 3 files changed, 10 insertions(+) >> >> diff --git a/tests/Makefile b/tests/Makefile index >> e5f41008d4..65cccac312 100644 >> --- a/tests/Makefile >> +++ b/tests/Makefile >> @@ -75,6 +75,7 @@ ENCDEC2 = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ >> $(firstword $(3))_MUXER $(lastword $(3))_DEMUXER) >> >> DEMDEC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER)) >> +DEMDEMDEC = $(call ALLYES, $(1)_DEMUXER $(2)_DEMUXER >> +$(3:%=%_DECODER)) >> ENCMUX = $(call ALLYES, $(1:%=%_ENCODER) $(2)_MUXER) >> >> DEMMUX = $(call ALLYES, $(1)_DEMUXER $(2)_MUXER) diff --git >> a/tests/fate-run.sh b/tests/fate-run.sh index 83cad8cabe..f06b2fd029 >> 100755 >> --- a/tests/fate-run.sh >> +++ b/tests/fate-run.sh >> @@ -162,6 +162,10 @@ pcm(){ >> ffmpeg "$@" -vn -f s16le - >> } >> >> +dolbye2pcm16(){ >> + ffmpeg -dolbyeprobe 1 "$@" -vn -f s16le - } >> + >> fmtstdout(){ >> fmt=$1 >> shift 1 >> diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak index >> c41958ea2d..0e56d401ea 100644 >> --- a/tests/fate/audio.mak >> +++ b/tests/fate/audio.mak >> @@ -24,6 +24,11 @@ fate-dolby-e: CMD = pcm -i >> $(TARGET_SAMPLES)/dolby_e/16-11 >> fate-dolby-e: CMP = oneoff >> fate-dolby-e: REF = $(SAMPLES)/dolby_e/16-11.pcm >> >> +FATE_SAMPLES_AUDIO-$(call DEMDEMDEC, WAV, S337M, DOLBY_E) += >> +fate-dolby-e-wav >> +fate-dolby-e-wav: CMD = dolbye2pcm16 -i >> +$(TARGET_SAMPLES)/dolby_e/512.wav >> +fate-dolby-e-wav: CMP = oneoff >> +fate-dolby-e-wav: REF = $(SAMPLES)/dolby_e/512.wav.pcm >> + >> FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-lp >> fate-dss-sp >> fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames >> 30 >> fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames >> 30 >> >This is missing some kind of hash check on the demuxed data The "oneoff" tests consists in checking the maximum difference between the raw pcm output samples, it must be 0 or 1 max. This test is done in 16-bit truncated output of the decoded stream. It raises an error too if the duration does not strictly match. I found it appropriate (a strict hash on decoded samples may also break with the many floats of the DolbyE decoder). My idea was to keep a single test for both "wav demux" and "5.1+2" decode. Do you think there should be an additional test focused on demuxed data ? Nicolas
mån 2020-01-13 klockan 16:10 +0000 skrev Gaullier Nicolas: > > > > > > +FATE_SAMPLES_AUDIO-$(call DEMDEMDEC, WAV, S337M, DOLBY_E) += > > > +fate-dolby-e-wav > > > +fate-dolby-e-wav: CMD = dolbye2pcm16 -i > > > +$(TARGET_SAMPLES)/dolby_e/512.wav > > > +fate-dolby-e-wav: CMP = oneoff > > > +fate-dolby-e-wav: REF = $(SAMPLES)/dolby_e/512.wav.pcm > > > + > > > FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-lp > > > fate-dss-sp > > > fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames > > > 30 > > > fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames > > > 30 > > > > > This is missing some kind of hash check on the demuxed data > > The "oneoff" tests consists in checking the maximum difference between the raw pcm output samples, it must be 0 or 1 max. This test is done in 16-bit truncated output of the decoded stream. > It raises an error too if the duration does not strictly match. I found it appropriate (a strict hash on decoded samples may also break with the many floats of the DolbyE decoder). > My idea was to keep a single test for both "wav demux" and "5.1+2" decode. > Do you think there should be an additional test focused on demuxed data ? I don't mean has the decoded data, but rather hash the demuxed packets before they're decoded. /Tomas
diff --git a/tests/Makefile b/tests/Makefile index e5f41008d4..65cccac312 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -75,6 +75,7 @@ ENCDEC2 = $(call ALLYES, $(firstword $(1))_ENCODER $(lastword $(1))_DECODER \ $(firstword $(3))_MUXER $(lastword $(3))_DEMUXER) DEMDEC = $(call ALLYES, $(1)_DEMUXER $(2:%=%_DECODER)) +DEMDEMDEC = $(call ALLYES, $(1)_DEMUXER $(2)_DEMUXER $(3:%=%_DECODER)) ENCMUX = $(call ALLYES, $(1:%=%_ENCODER) $(2)_MUXER) DEMMUX = $(call ALLYES, $(1)_DEMUXER $(2)_MUXER) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 83cad8cabe..f06b2fd029 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -162,6 +162,10 @@ pcm(){ ffmpeg "$@" -vn -f s16le - } +dolbye2pcm16(){ + ffmpeg -dolbyeprobe 1 "$@" -vn -f s16le - +} + fmtstdout(){ fmt=$1 shift 1 diff --git a/tests/fate/audio.mak b/tests/fate/audio.mak index c41958ea2d..0e56d401ea 100644 --- a/tests/fate/audio.mak +++ b/tests/fate/audio.mak @@ -24,6 +24,11 @@ fate-dolby-e: CMD = pcm -i $(TARGET_SAMPLES)/dolby_e/16-11 fate-dolby-e: CMP = oneoff fate-dolby-e: REF = $(SAMPLES)/dolby_e/16-11.pcm +FATE_SAMPLES_AUDIO-$(call DEMDEMDEC, WAV, S337M, DOLBY_E) += fate-dolby-e-wav +fate-dolby-e-wav: CMD = dolbye2pcm16 -i $(TARGET_SAMPLES)/dolby_e/512.wav +fate-dolby-e-wav: CMP = oneoff +fate-dolby-e-wav: REF = $(SAMPLES)/dolby_e/512.wav.pcm + FATE_SAMPLES_AUDIO-$(call DEMDEC, DSS, DSS_SP) += fate-dss-lp fate-dss-sp fate-dss-lp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/lp.dss -frames 30 fate-dss-sp: CMD = framecrc -i $(TARGET_SAMPLES)/dss/sp.dss -frames 30