diff mbox series

[FFmpeg-devel] fate/lavf-container: add a hevc in ISOBMFF remux test

Message ID 20240617144158.1836-1-jamrial@gmail.com
State New
Headers show
Series [FFmpeg-devel] fate/lavf-container: add a hevc in ISOBMFF remux test | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer June 17, 2024, 2:41 p.m. UTC
Signed-off-by: James Almer <jamrial@gmail.com>
---
 tests/fate/lavf-container.mak | 2 ++
 tests/ref/lavf-fate/hevc.mp4  | 3 +++
 2 files changed, 5 insertions(+)
 create mode 100644 tests/ref/lavf-fate/hevc.mp4

Comments

Tomas Härdin June 18, 2024, 12:32 p.m. UTC | #1
mån 2024-06-17 klockan 11:41 -0300 skrev James Almer:
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  tests/fate/lavf-container.mak | 2 ++
>  tests/ref/lavf-fate/hevc.mp4  | 3 +++
>  2 files changed, 5 insertions(+)
>  create mode 100644 tests/ref/lavf-fate/hevc.mp4

Looks OK

/Tomas
Andreas Rheinhardt June 18, 2024, 1:32 p.m. UTC | #2
James Almer:
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  tests/fate/lavf-container.mak | 2 ++
>  tests/ref/lavf-fate/hevc.mp4  | 3 +++
>  2 files changed, 5 insertions(+)
>  create mode 100644 tests/ref/lavf-fate/hevc.mp4
> 
> diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
> index d84117c50f..56490c3369 100644
> --- a/tests/fate/lavf-container.mak
> +++ b/tests/fate/lavf-container.mak
> @@ -74,6 +74,7 @@ FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_M
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER)      += evc.mp4
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER)    += h264.mp4
> +FATE_LAVF_CONTAINER_FATE-$(call ALLYES, HEVC_DEMUXER HEVC_PARSER MOV_MUXER)    += hevc.mp4
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, VVC_DEMUXER VVC_PARSER MOV_MUXER)      += vvc.mp4
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGG_MUXER)          += vp3.ogg
>  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGV_MUXER)          += vp8.ogg
> @@ -92,6 +93,7 @@ fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-
>  fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
>  fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
>  fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
> +fate-lavf-fate-hevc.mp4: CMD = lavf_container_fate "hevc-conformance/HRD_A_Fujitsu_2.bit" "" "-c:v copy"
>  fate-lavf-fate-vvc.mp4: CMD = lavf_container_fate "vvc-conformance/VPS_A_3.bit" "" "-c:v copy"
>  fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
>  fate-lavf-fate-vp8.ogg: CMD = lavf_container_fate "vp8/RRSF49-short.webm" "" "-acodec copy"
> diff --git a/tests/ref/lavf-fate/hevc.mp4 b/tests/ref/lavf-fate/hevc.mp4
> new file mode 100644
> index 0000000000..aea5ae8979
> --- /dev/null
> +++ b/tests/ref/lavf-fate/hevc.mp4
> @@ -0,0 +1,3 @@
> +37b3a3e84df2350380b05b2af4dc97f5 *tests/data/lavf-fate/lavf.hevc.mp4
> +151340 tests/data/lavf-fate/lavf.hevc.mp4
> +tests/data/lavf-fate/lavf.hevc.mp4 CRC=0xc0a771de

Sure this does not need the HEVC decoder (to derive some stream
properties that end up in isobmff header fields)? And I would also
expect it to need the extract_extradata bsf as well.

- Andreas
James Almer June 18, 2024, 1:46 p.m. UTC | #3
On 6/18/2024 10:32 AM, Andreas Rheinhardt wrote:
> James Almer:
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>   tests/fate/lavf-container.mak | 2 ++
>>   tests/ref/lavf-fate/hevc.mp4  | 3 +++
>>   2 files changed, 5 insertions(+)
>>   create mode 100644 tests/ref/lavf-fate/hevc.mp4
>>
>> diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
>> index d84117c50f..56490c3369 100644
>> --- a/tests/fate/lavf-container.mak
>> +++ b/tests/fate/lavf-container.mak
>> @@ -74,6 +74,7 @@ FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_M
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER)      += evc.mp4
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER)    += h264.mp4
>> +FATE_LAVF_CONTAINER_FATE-$(call ALLYES, HEVC_DEMUXER HEVC_PARSER MOV_MUXER)    += hevc.mp4
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, VVC_DEMUXER VVC_PARSER MOV_MUXER)      += vvc.mp4
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGG_MUXER)          += vp3.ogg
>>   FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGV_MUXER)          += vp8.ogg
>> @@ -92,6 +93,7 @@ fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-
>>   fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
>>   fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
>>   fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
>> +fate-lavf-fate-hevc.mp4: CMD = lavf_container_fate "hevc-conformance/HRD_A_Fujitsu_2.bit" "" "-c:v copy"
>>   fate-lavf-fate-vvc.mp4: CMD = lavf_container_fate "vvc-conformance/VPS_A_3.bit" "" "-c:v copy"
>>   fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
>>   fate-lavf-fate-vp8.ogg: CMD = lavf_container_fate "vp8/RRSF49-short.webm" "" "-acodec copy"
>> diff --git a/tests/ref/lavf-fate/hevc.mp4 b/tests/ref/lavf-fate/hevc.mp4
>> new file mode 100644
>> index 0000000000..aea5ae8979
>> --- /dev/null
>> +++ b/tests/ref/lavf-fate/hevc.mp4
>> @@ -0,0 +1,3 @@
>> +37b3a3e84df2350380b05b2af4dc97f5 *tests/data/lavf-fate/lavf.hevc.mp4
>> +151340 tests/data/lavf-fate/lavf.hevc.mp4
>> +tests/data/lavf-fate/lavf.hevc.mp4 CRC=0xc0a771de
> 
> Sure this does not need the HEVC decoder (to derive some stream
> properties that end up in isobmff header fields)? And I would also
> expect it to need the extract_extradata bsf as well.

The parser is enough to get information for remuxing purposes. And the 
muxer will take the required NALUs from the first packet if there's no 
extradata present in codecpar.
diff mbox series

Patch

diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index d84117c50f..56490c3369 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -74,6 +74,7 @@  FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_M
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER)      += evc.mp4
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER)    += h264.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, HEVC_DEMUXER HEVC_PARSER MOV_MUXER)    += hevc.mp4
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, VVC_DEMUXER VVC_PARSER MOV_MUXER)      += vvc.mp4
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGG_MUXER)          += vp3.ogg
 FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGV_MUXER)          += vp8.ogg
@@ -92,6 +93,7 @@  fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-
 fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
 fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
 fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
+fate-lavf-fate-hevc.mp4: CMD = lavf_container_fate "hevc-conformance/HRD_A_Fujitsu_2.bit" "" "-c:v copy"
 fate-lavf-fate-vvc.mp4: CMD = lavf_container_fate "vvc-conformance/VPS_A_3.bit" "" "-c:v copy"
 fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
 fate-lavf-fate-vp8.ogg: CMD = lavf_container_fate "vp8/RRSF49-short.webm" "" "-acodec copy"
diff --git a/tests/ref/lavf-fate/hevc.mp4 b/tests/ref/lavf-fate/hevc.mp4
new file mode 100644
index 0000000000..aea5ae8979
--- /dev/null
+++ b/tests/ref/lavf-fate/hevc.mp4
@@ -0,0 +1,3 @@ 
+37b3a3e84df2350380b05b2af4dc97f5 *tests/data/lavf-fate/lavf.hevc.mp4
+151340 tests/data/lavf-fate/lavf.hevc.mp4
+tests/data/lavf-fate/lavf.hevc.mp4 CRC=0xc0a771de