FFmpeg icon indicating copy to clipboard operation
FFmpeg copied to clipboard

Support fields

Open nuomi2021 opened this issue 3 years ago • 11 comments

https://github.com/ffvvc/tests/tree/main/conformance/failed/FIELD

nuomi2021 avatar Jan 14 '23 11:01 nuomi2021

@frankplow could you help with this? This is related to vui_progressive_source_flag and vui_interlaced_source_flag in vui_parameters. we can follow the same thing in hevc. thank you

nuomi2021 avatar Jun 09 '24 02:06 nuomi2021

👍 I will have a look

frankplow avatar Jun 09 '24 11:06 frankplow

Looks like we already decode the files fine. The problem is that the hashes in the conformance suite are taken of the output frames after being weaved for deinterlacing, whereas in FFmpeg it outputs a field at a time. If I add -vf weave to the command line in FFmpeg then the FIELD tests pass, although all other tests break of course. I am not sure if there is some way to use the VUI parameters to control filters from the ffmpeg CLI? If not I think I may have to rework the test runner so we can set additional ffmpeg flags on a per-bitstream basis.

frankplow avatar Jun 09 '24 12:06 frankplow

How about hevc, we can follow the hevc's behavior. here may have some hevc interlaced clips: https://trac.ffmpeg.org/ticket/5514

nuomi2021 avatar Jun 10 '24 13:06 nuomi2021

@nuomi2021

How about hevc, we can follow the hevc's behavior. here may have some hevc interlaced clips: https://trac.ffmpeg.org/ticket/5514

The case is the exact same for HEVC, note the proposed workaround at the end of that thread is to set -vf weave. It's not a matter of the decoder's capability, just convention of how the rawvideo output encoder works really. It doesn't seem that there are any easy flags which will enable -vf weave only if the interleaved flag is set in the VUI parameters unfortunately.

frankplow avatar Jun 10 '24 17:06 frankplow

@frankplow , how about we just add the current ffmpeg output md5 to our test? and give some comments on the commit log thank you

nuomi2021 avatar Jun 22 '24 06:06 nuomi2021

@frankplow , how about we just add the current ffmpeg output md5 to our test? and give some comments on the commit log thank you

Done in https://github.com/ffvvc/tests/pull/46.

If we want to add any of these to FATE, it is straightforward to add -vf weave to the command line for only those bitstreams. I suspect, however, that they are unlikely to be economic with regards to coverage/runtime as there is no interlaced-specific logic to exercise in the decoder.

frankplow avatar Jun 26 '24 22:06 frankplow

Yes. not needed. Please help add 1 or 2 virtual boundary clips with the largest coverage to fate. thank you

nuomi2021 avatar Jun 27 '24 12:06 nuomi2021

Please help add 1 or 2 virtual boundary clips with the largest coverage to fate.

@frankplow , could you help this? thank you

nuomi2021 avatar Jul 20 '24 01:07 nuomi2021

Sorry, been rather busy recently and my x86 desktop with gcov set up isn't running at the minute. I should have a chance in a week or so.

frankplow avatar Jul 22 '24 16:07 frankplow

Supported by https://github.com/ffvvc/FFmpeg/pull/257

QSXW avatar Aug 14 '24 19:08 QSXW