Steven Liu: > Andreas Rheinhardt <andreas.rheinha...@outlook.com> 于2023年7月20日周四 16:41写道: >> >> Steven Liu: >>> Andreas Rheinhardt <andreas.rheinha...@outlook.com> 于2023年7月19日周三 18:32写道: >>>> >>>> Steven Liu: >>>>> Signed-off-by: Steven Liu <l...@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 > >
The reason for this is that you do not copy the stuff when demuxing the intermediate file; instead you decode it. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".