[FFmpeg-devel] [PATCH v3 1/3] tests/fate/flvenc: add hevc in enhanced flv test case

Steven Liu lingjiujianke at gmail.com
Thu Jul 20 11:45:53 EEST 2023


Andreas Rheinhardt <andreas.rheinhardt at outlook.com> 于2023年7月20日周四 16:41写道:
>
> Steven Liu:
> > Andreas Rheinhardt <andreas.rheinhardt at outlook.com> 于2023年7月19日周三 18:32写道:
> >>
> >> Steven Liu:
> >>> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> >>> ---
> >>>  tests/fate/flvenc.mak            | 7 ++++++-
> >>>  tests/ref/fate/enhanced-flv-hevc | 8 ++++++++
> >>>  2 files changed, 14 insertions(+), 1 deletion(-)
> >>>  create mode 100644 tests/ref/fate/enhanced-flv-hevc
> >>>
> >>> diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak
> >>> index 5032fface3..6b2fbe8c89 100644
> >>> --- a/tests/fate/flvenc.mak
> >>> +++ b/tests/fate/flvenc.mak
> >>> @@ -1,5 +1,10 @@
> >>>  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"
> >>>
> >>> +FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, MOV, FLV_MUXER) += fate-enhanced-flv-hevc
> >>> +fate-enhanced-flv-hevc: CMD = transcode mov $(TARGET_SAMPLES)/hevc/dv84.mov\
> >>> +             flv "-vcodec copy -map 0:v -frames 1"
> >>> +
> >>>  FATE_FFMPEG_FFPROBE += $(FATE_FLVENC_FFMPEG_FFPROBE-yes)
> >>> -fate-flvenc: $(FATE_FLVENC_FFMPEG_FFPROBE-yes)
> >>> +FATE_SAMPLES_FFMPEG += $(FATE_ENHANCED_FLVENC_FFMPEG-yes)
> >>> +fate-flvenc: $(FATE_FLVENC_FFMPEG_FFPROBE-yes) $(FATE_ENHANCED_FLVENC_FFMPEG-yes)
> >>> diff --git a/tests/ref/fate/enhanced-flv-hevc b/tests/ref/fate/enhanced-flv-hevc
> >>> new file mode 100644
> >>> index 0000000000..41eaefaf6e
> >>> --- /dev/null
> >>> +++ b/tests/ref/fate/enhanced-flv-hevc
> >>> @@ -0,0 +1,8 @@
> >>> +afed0105d121688bad7dc94218256571 *tests/data/fate/enhanced-flv-hevc.flv
> >>> +64396 tests/data/fate/enhanced-flv-hevc.flv
> >>> +#tb 0: 1/30
> >>> +#media_type 0: video
> >>> +#codec_id 0: rawvideo
> >>> +#dimensions 0: 1920x1080
> >>> +#sar 0: 0/1
> >>> +0,          0,          0,        1,  6220800, 0x1f259c93
> >>
> >> Why are you restricting this to one frame? And why are you not copying
> >> the audio, too (this would test multiplexing)? After all, FLV supports AAC.
> >> Furthermore, you are copying the video when creating the intermediate
> >> FLV file, yet then you are decoding it at the next stage. This decoding
> >> would necessitate a dependency on the HEVC decoder (and maybe the parser
> >> as well as the extract_extradata bsf?). Alternatively, one can just use
> >> codec copy when reading the intermediate file as well (the latter is my
> >> preferred approach).
> >> The same remarks also apply to the other patches.
> > Hi Andreas,
> >
> >
> > What about do it like this:
> >
> > FATE_ENHANCED_FLVENC_FFMPEG-$(call TRANSCODE, RAWVIDEO HEVC, FLV MOV,
> > HEVCPARSE) += fate-enhanced-flv-hevc
> > fate-enhanced-flv-hevc: CMD = transcode mov $(TARGET_SAMPLES)/hevc/dv84.mov\
> >         flv "-c copy" "-af aresample"
> >
>
> You would not need to resample when you simply copied the stuff instead
> of decoding.

It will get error message if i don't use resample:

ffmpeg version N-111514-g6efbbe7d25 Copyright (c) 2000-2023 the FFmpeg
developers
  built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
  configuration: --prefix=/usr/local/ --libdir=/usr/local/lib/
--cc=clang --enable-htmlpages --enable-libx264 --enable-gpl
--extra-cflags='-I/usr/local/include/GraphicsMagick/
-I/usr/local/opt/openssl/include/ -O0 -g3 -fsanitize=address
-Wno-error -fPIC -I/usr/local/include -fno-omit-frame-pointer'
--extra-ldflags='-O0 -g3 -fsanitize=address -fno-omit-frame-pointer
-Wno-error -fPIC -L/usr/local/lib -L/usr/local/opt/openssl/lib -lpng'
--enable-libfreetype --enable-fontconfig --enable-libspeex
--enable-libopus --enable-libzmq --enable-libx265 --enable-libass
--enable-videotoolbox --disable-optimizations --enable-audiotoolbox
--enable-opengl --disable-stripping --samples=../../fate-suite/
--enable-encoder=hevc_videotoolbox --enable-hwaccel=hevc_videotoolbox
--enable-hwaccel=h264_videotoolbox --enable-openssl --enable-nonfree
--disable-shared --enable-libfdk_aac --enable-libxml2
--enable-libmp3lame --enable-libaom --enable-lcms2 --enable-libwebp
--enable-libvpx
  libavutil      58. 14.100 / 58. 14.100
  libavcodec     60. 22.100 / 60. 22.100
  libavformat    60. 10.100 / 60. 10.100
  libavdevice    60.  2.101 / 60.  2.101
  libavfilter     9.  8.102 /  9.  8.102
  libswscale      7.  3.100 /  7.  3.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
Input #0, flv, from
'/Users/liuqi/multimedia/upstream_ffmpeg/ufbuild/tests/data/fate/enhanced-flv-hevc.flv':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    com.apple.quicktime.creationdate: 2021-05-29T15:14:19-0400
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 12 mini
    com.apple.quicktime.software: 14.4.1
  Duration: 00:00:03.40, start: 0.000000, bitrate: 8469 kb/s
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv,
bt2020nc/bt2020/arib-std-b67), 1920x1080, 8479 kb/s, 30 fps, 29.97
tbr, 1k tbn
  Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 148 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> rawvideo (native))
  Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native))
The filters 'Parsed_anull_0' and 'format_out_0_1' do not have a common
format and automatic conversion is disabled.
[af#0:1 @ 0x61000000b740] Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Invalid argument
Conversion failed!
threads=1


>
> - Andreas
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list