Message ID | 20230718073214.14415-2-lq@chinaffmpeg.org |
---|---|
State | New |
Headers | show |
Series | Add test cases of hevc, vp9, av1 in enhanced flv | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Quoting Steven Liu (2023-07-18 09:32:12) > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > tests/fate/flvenc.mak | 11 +++++++++++ > tests/ref/fate/enhanced-flv-hevc | 6 ++++++ > 2 files changed, 17 insertions(+) > create mode 100644 tests/ref/fate/enhanced-flv-hevc > > diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak > index 5032fface3..a0af45e1a8 100644 > --- a/tests/fate/flvenc.mak > +++ b/tests/fate/flvenc.mak > @@ -1,5 +1,16 @@ > FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, FLV, FLV, RAWVIDEO_DECODER SCALE_FILTER TESTSRC_FILTER LAVFI_INDEV) += fate-flv-add_keyframe_index > fate-flv-add_keyframe_index: CMD = transcode "lavfi -graph testsrc=r=7:n=2:d=20" "foo" flv "-vf scale -c:v flv1 -dct int -g 7 -flvflags add_keyframe_index" "-c copy -t 0.1" "-show_entries format_tags" > > + > +tests/data/enhanced_flv_hevc.flv: TAG = GEN > +tests/data/enhanced_flv_hevc.flv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data > + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ > + -f lavfi -i "testsrc=s=176x144:r=1:n=1:d=0.04" -filter_complex "testsrc=s=176x144:r=1:n=1:d=0.04" >-threads 1 why? > -t 0.04 seems like you mean -frames 1
Anton Khirnov <anton@khirnov.net> 于2023年7月18日周二 17:50写道: > > Quoting Steven Liu (2023-07-18 09:32:12) > > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > > --- > > tests/fate/flvenc.mak | 11 +++++++++++ > > tests/ref/fate/enhanced-flv-hevc | 6 ++++++ > > 2 files changed, 17 insertions(+) > > create mode 100644 tests/ref/fate/enhanced-flv-hevc > > > > diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak > > index 5032fface3..a0af45e1a8 100644 > > --- a/tests/fate/flvenc.mak > > +++ b/tests/fate/flvenc.mak > > @@ -1,5 +1,16 @@ > > FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, FLV, FLV, RAWVIDEO_DECODER SCALE_FILTER TESTSRC_FILTER LAVFI_INDEV) += fate-flv-add_keyframe_index > > fate-flv-add_keyframe_index: CMD = transcode "lavfi -graph testsrc=r=7:n=2:d=20" "foo" flv "-vf scale -c:v flv1 -dct int -g 7 -flvflags add_keyframe_index" "-c copy -t 0.1" "-show_entries format_tags" > > > > + > > +tests/data/enhanced_flv_hevc.flv: TAG = GEN > > +tests/data/enhanced_flv_hevc.flv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data > > + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ > > + -f lavfi -i "testsrc=s=176x144:r=1:n=1:d=0.04" > -filter_complex "testsrc=s=176x144:r=1:n=1:d=0.04" > > >-threads 1 > > why? thread type maybe have slice , frame, i cannot sure some times about the framecrc is only one result after encode operation. > > > -t 0.04 > seems like you mean -frames 1 fix locally. > > -- > Anton Khirnov > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Steven Liu: > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > tests/fate/flvenc.mak | 11 +++++++++++ > tests/ref/fate/enhanced-flv-hevc | 6 ++++++ > 2 files changed, 17 insertions(+) > create mode 100644 tests/ref/fate/enhanced-flv-hevc > > diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak > index 5032fface3..a0af45e1a8 100644 > --- a/tests/fate/flvenc.mak > +++ b/tests/fate/flvenc.mak > @@ -1,5 +1,16 @@ > FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, FLV, FLV, RAWVIDEO_DECODER SCALE_FILTER TESTSRC_FILTER LAVFI_INDEV) += fate-flv-add_keyframe_index > fate-flv-add_keyframe_index: CMD = transcode "lavfi -graph testsrc=r=7:n=2:d=20" "foo" flv "-vf scale -c:v flv1 -dct int -g 7 -flvflags add_keyframe_index" "-c copy -t 0.1" "-show_entries format_tags" > > + > +tests/data/enhanced_flv_hevc.flv: TAG = GEN > +tests/data/enhanced_flv_hevc.flv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data > + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ > + -f lavfi -i "testsrc=s=176x144:r=1:n=1:d=0.04" -pix_fmt yuv420p -c:v libx265 -bf 0 -threads 1 -t 0.04 -y $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv 2>/dev/null > + This will encode using libx265 which is beyond our control (and has issues with Valgrind). This would only work if the codec were lossless; but your command line isn't. Anyway, you should instead just use any of our hevc samples and remux it to flv and read the resulting file. There are lots of examples of how to do this that also avoid keeping the intermediate file around. The other two patches have the same issues. > +FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, LIBX265 HEVC, FLV, TESTSRC_FILTER LAVFI_INDEV) += fate-enhanced-flv-hevc > +fate-enhanced-flv-hevc: tests/data/enhanced_flv_hevc.flv > +fate-enhanced-flv-hevc: SRC = $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv > +fate-enhanced-flv-hevc: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv > + > FATE_FFMPEG_FFPROBE += $(FATE_FLVENC_FFMPEG_FFPROBE-yes) > fate-flvenc: $(FATE_FLVENC_FFMPEG_FFPROBE-yes) > diff --git a/tests/ref/fate/enhanced-flv-hevc b/tests/ref/fate/enhanced-flv-hevc > new file mode 100644 > index 0000000000..ee53ccf982 > --- /dev/null > +++ b/tests/ref/fate/enhanced-flv-hevc > @@ -0,0 +1,6 @@ > +#tb 0: 1/1 > +#media_type 0: video > +#codec_id 0: rawvideo > +#dimensions 0: 176x144 > +#sar 0: 1/1 > +0, 0, 0, 1, 38016, 0x01bce789
Andreas Rheinhardt <andreas.rheinhardt@outlook.com> 于2023年7月18日周二 19:35写道: > > Steven Liu: > > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > > --- > > tests/fate/flvenc.mak | 11 +++++++++++ > > tests/ref/fate/enhanced-flv-hevc | 6 ++++++ > > 2 files changed, 17 insertions(+) > > create mode 100644 tests/ref/fate/enhanced-flv-hevc > > > > diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak > > index 5032fface3..a0af45e1a8 100644 > > --- a/tests/fate/flvenc.mak > > +++ b/tests/fate/flvenc.mak > > @@ -1,5 +1,16 @@ > > FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, FLV, FLV, RAWVIDEO_DECODER SCALE_FILTER TESTSRC_FILTER LAVFI_INDEV) += fate-flv-add_keyframe_index > > fate-flv-add_keyframe_index: CMD = transcode "lavfi -graph testsrc=r=7:n=2:d=20" "foo" flv "-vf scale -c:v flv1 -dct int -g 7 -flvflags add_keyframe_index" "-c copy -t 0.1" "-show_entries format_tags" > > > > + > > +tests/data/enhanced_flv_hevc.flv: TAG = GEN > > +tests/data/enhanced_flv_hevc.flv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data > > + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ > > + -f lavfi -i "testsrc=s=176x144:r=1:n=1:d=0.04" -pix_fmt yuv420p -c:v libx265 -bf 0 -threads 1 -t 0.04 -y $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv 2>/dev/null > > + > > This will encode using libx265 which is beyond our control (and has > issues with Valgrind). This would only work if the codec were lossless; > but your command line isn't. > > Anyway, you should instead just use any of our hevc samples and remux it > to flv and read the resulting file. There are lots of examples of how to > do this that also avoid keeping the intermediate file around. > > The other two patches have the same issues. Thanks Nicolas, i have modified the patchset try to use the samples now, and resumit patchset : https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=9350 Thanks Steven
diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak index 5032fface3..a0af45e1a8 100644 --- a/tests/fate/flvenc.mak +++ b/tests/fate/flvenc.mak @@ -1,5 +1,16 @@ FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, FLV, FLV, RAWVIDEO_DECODER SCALE_FILTER TESTSRC_FILTER LAVFI_INDEV) += fate-flv-add_keyframe_index fate-flv-add_keyframe_index: CMD = transcode "lavfi -graph testsrc=r=7:n=2:d=20" "foo" flv "-vf scale -c:v flv1 -dct int -g 7 -flvflags add_keyframe_index" "-c copy -t 0.1" "-show_entries format_tags" + +tests/data/enhanced_flv_hevc.flv: TAG = GEN +tests/data/enhanced_flv_hevc.flv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \ + -f lavfi -i "testsrc=s=176x144:r=1:n=1:d=0.04" -pix_fmt yuv420p -c:v libx265 -bf 0 -threads 1 -t 0.04 -y $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv 2>/dev/null + +FATE_FLVENC_FFMPEG_FFPROBE-$(call TRANSCODE, LIBX265 HEVC, FLV, TESTSRC_FILTER LAVFI_INDEV) += fate-enhanced-flv-hevc +fate-enhanced-flv-hevc: tests/data/enhanced_flv_hevc.flv +fate-enhanced-flv-hevc: SRC = $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv +fate-enhanced-flv-hevc: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/enhanced_flv_hevc.flv + FATE_FFMPEG_FFPROBE += $(FATE_FLVENC_FFMPEG_FFPROBE-yes) fate-flvenc: $(FATE_FLVENC_FFMPEG_FFPROBE-yes) diff --git a/tests/ref/fate/enhanced-flv-hevc b/tests/ref/fate/enhanced-flv-hevc new file mode 100644 index 0000000000..ee53ccf982 --- /dev/null +++ b/tests/ref/fate/enhanced-flv-hevc @@ -0,0 +1,6 @@ +#tb 0: 1/1 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 176x144 +#sar 0: 1/1 +0, 0, 0, 1, 38016, 0x01bce789
Signed-off-by: Steven Liu <lq@chinaffmpeg.org> --- tests/fate/flvenc.mak | 11 +++++++++++ tests/ref/fate/enhanced-flv-hevc | 6 ++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/ref/fate/enhanced-flv-hevc