From patchwork Mon Mar 13 17:06:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: emcodem X-Patchwork-Id: 40665 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:d046:b0:cd:afd7:272c with SMTP id hv6csp1932032pzb; Mon, 13 Mar 2023 10:06:56 -0700 (PDT) X-Google-Smtp-Source: AK7set+a5XAZgW6GUTfvPlEk301LwkGvTIMsYGUFvRfcoHNoIqK1eHXRJhHsy7T14AgMno+OofbK X-Received: by 2002:a17:906:4cce:b0:8b1:3008:b4f3 with SMTP id q14-20020a1709064cce00b008b13008b4f3mr33513687ejt.52.1678727215612; Mon, 13 Mar 2023 10:06:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1678727215; cv=none; d=google.com; s=arc-20160816; b=ykeQoPsqN00PAKqG++MeB7y5Kw4z8sbEFCI1n/BAJDs/77qMyFJx0UVTiHfOD8ctJ7 5pyG6o1axMXRCUoolJpvQjWT1MpJQSKxRHbPIM63EkgHTRmR3Qft/tdlghIc8EEOS1yS LQ1VrBgUARODbrbWr3zsOgjW5SPTTEw8lcqNiO1dXTk/p/xZFJjHDwvZhIrxdblBa6Ws DkAuTx1QRMl78DDw8UyfKbHI0Zv1mxagAbO+5vap1XD/KTle2aWeoFt3rBREH+5jO8+I amfyQBmafNfAsV00FALIFjvqsrC5IlOidT3hLxaDpRLP1btX7+NfyOK6vJ6L3fit6ljF Ingw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:message-id :user-agent:references:in-reply-to:to:from:date:mime-version :delivered-to; bh=jrYE1xVyitL6eS7a0xxMC7UKnWquG/gD9Rkx1JiaPs0=; b=vYWyzus2Fgt6cv+OoOvCy/rAwREokMzng/0PNFNfW8YDwOClOcF4+GEqWUVvxIlB9W ZwVR0EYNw0e+w2rjWjAy2XTTH/gFrgxDGdOPsFs3ybWZCgkNIqPCvlqNzIfwTqW2AS5k 7MxMOpnXuWi0VSzkwyZgHQj0Pm0lBOoKg9RLfE4vOQL1Rp98gKU1UOVQsXvFmSI1gopg TlFOhNdC40zQ+W6v/BTSqBQYbNNkc7U4ejG8Hn0u08OQF4Ri72Seyi3txQwClABTfShE +jnKRrB79NBgYqsc39bNxr3jYi0wKu/DPpBmEEA5KVpD2HxD5JcYSfC/kzBm1sf+cHtC e5HQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r17-20020aa7da11000000b004af7e6911b7si78753eds.91.2023.03.13.10.06.38; Mon, 13 Mar 2023 10:06:55 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6B3FC68BCB0; Mon, 13 Mar 2023 19:06:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mxfilter2.cpanel.guru (mxfilter2.cpanel.guru [193.93.253.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6A13368BBDE for ; Mon, 13 Mar 2023 19:06:29 +0200 (EET) Received: from cloud03.cpanel.guru (cloud03.cpanel.guru [193.93.253.53]) by mxfilter2.cpanel.guru (Halon) with ESMTPS id 637345d6-c1c1-11ed-8acf-0050569e601f; Mon, 13 Mar 2023 18:06:25 +0100 (CET) Received: from [::1] (port=55644 helo=cloud03.cpanel.guru) by cloud03.cpanel.guru with esmtpa (Exim 4.96) (envelope-from ) id 1pblcy-00DICq-1T for ffmpeg-devel@ffmpeg.org; Mon, 13 Mar 2023 18:06:25 +0100 MIME-Version: 1.0 Date: Mon, 13 Mar 2023 18:06:25 +0100 From: emcodem@ffastrans.com To: ffmpeg-devel@ffmpeg.org In-Reply-To: <6d89e141275e43a4b85f4d16fd82be37@ffastrans.com> References: <20210524103027.30367-1-emcodem@ffastrans.com> <20210626082010.11899-1-emcodem@ffastrans.com> <28b01b132d9b3b93617f712c951d0ab6d5ccd65c.camel@acc.umu.se> <801ee217bbfbf30c2b86720821e7166b@ffastrans.com> <5a59585298a4427f94b7fb3e6f930bd4@ffastrans.com> <1fd4513f2a8f38069878c10a15287394@ffastrans.com> <4cf141e02b0abdff716c7787f2f7de64e502485a.camel@haerdin.se> <60d949d662f60e6bfa8493af0f725c58@ffastrans.com> <6d89e141275e43a4b85f4d16fd82be37@ffastrans.com> User-Agent: Roundcube Webmail/1.5.2 Message-ID: X-Sender: emcodem@ffastrans.com X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud03.cpanel.guru X-AntiAbuse: Original Domain - ffmpeg.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - ffastrans.com X-Get-Message-Sender-Via: cloud03.cpanel.guru: authenticated_id: emcodem@ffastrans.com X-Authenticated-Sender: cloud03.cpanel.guru: emcodem@ffastrans.com X-Source: X-Source-Args: X-Source-Dir: Subject: [FFmpeg-devel] Fwd: Fate test for mxfdec.c: prefer metadata from Footer - X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ecRKiNDu0g+v Am 2023-02-16 18:14, schrieb emcodem@ffastrans.com: > Am 2023-02-12 01:25, schrieb Tomas Härdin: >> fre 2023-02-03 klockan 14:54 +0100 skrev emcodem@ffastrans.com: >>> Am 2021-07-03 15:13, schrieb emcodem@ffastrans.com: >>> > Am 2021-06-28 21:58, schrieb emcodem@ffastrans.com: >>> > > Am 2021-06-28 03:00, schrieb Marton Balint: >>> > > > On Sun, 27 Jun 2021, emcodem@ffastrans.com wrote: >>> > > > >>> > > > > Am 2021-06-27 20:12, schrieb Marton Balint: >>> > > > > > Why? I though it is enough if you store the partition >>> > > > > > number in the >>> > > > > > metadata set, that way you should be able to compare if the >>> > > > > > existing >>> > > > > > metadata set is better than the current one when adding a >>> > > > > > new >>> > > > > > metadata >>> > > > > > set. Or am I missing something? >>> > > > > >>> > > > > OK, i just had a try on this but honestly i don't know how >>> > > > > this >>> > > > > could work without a very deep change of the whole mxfdec.c. >>> > > > > The problem is that i cannot just add a field to the struct >>> > > > > MXFMetadataSet as this points to raw data which has been read >>> > > > > from >>> > > > > the mxf file. I could add a field but if i initialize the >>> > > > > value, i >>> > > > > will automatically destroy the original raw data which was >>> > > > > read from >>> > > > > the mxf file. >>> > > > >>> > > > See the attached patch, that is what I had in mind. Or is it >>> > > > overkill? >>> > > > Can you test it with your dataset and see if it makes any >>> > > > difference? >>> > > > >>> > > > Thanks, >>> > > > Marton >>> > > > _______________________________________________ >>> > > > 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". >>> > > >>> > > Tested your patch pleasure, thanks for the support! The "score >>> > > approach" seems to work in practice exactly as my previous patch, >>> > > the >>> > > only thing i fear about is that it is a little harder now to >>> > > foresee >>> > > which metadata source is taken from a users perspective but i >>> > > also >>> > > think it is now more compliant than it was before. >>> > > >>> > > Using my test fileset which contains 4.476 mxf files (not all >>> > > unique, >>> > > maybe half is duplicates and most focus on xdcamhd and D10), we >>> > > have >>> > > 90 differences between ffprobe before your patch and after your >>> > > patch. >>> > > All of the differences are only in files that have openincomplete >>> > > header. Most of the differences just changes the duration from a >>> > > guessed one to the analyzed one: >>> > > >>> > > All STREAMS (NEW - OLD): >>> > >       "duration_ts": 3000,              "duration_ts": 3099, >>> > >       "duration": "120.000000",         "duration": "123.960000", >>> > > FORMAT      (NEW - OLD): >>> > >     "duration": "120.000000",           "duration": "123.969813", >>> > >     "bit_rate": "61178142",             "bit_rate": "59219070", >>> > > >>> > > Exception one Op1b self contained file, where the "old" version >>> > > did >>> > > not spit out a "duration" value at all, so it was not even >>> > > calculated >>> > > from bitrate, it was just missing in the format section and set >>> > > to 0 >>> > > in the stream section. >>> > > Exception two, there were 4 files (3 were samples from IRT and 1 >>> > > a >>> > > real world file from old omneon version) where the startc OLD was >>> > > 0 >>> > > and the new one was the MP starttimecode from MP, so perfect. >>> > > So the conclusion is that of course your version had the same >>> > > effect >>> > > on my testfileset than my patch version, so thats nice. >>> > > >>> > > Also, the FATE samples i shared will still work and can be used >>> > > for >>> > > this patch. >>> > > Attached a patch for adding only the fate samples. Note that >>> > > these >>> > > Fate tests of course fail when the patch for mxfdec.c is not >>> > > applied. >>> > > https://we.tl/t-MVmyG2mZHq >>> > > >>> > > Thanks a lot! >>> > > -emcodem >>> > > _______________________________________________ >>> > > 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". >>> > >>> > Unfortunately the wetransfer link for the fate samples expired, so >>> > i >>> > thought it might be a good idea to resend it as link to gdrive: >>> > https://drive.google.com/file/d/1yXTdS9RfOsduzg49vBLEshdmIzdaVQfd/view?usp=sharing >>> > >>> > Also attached the 2 patches: 1 from cus for mxfdec.c and one from >>> > myself for the corresponding fate samples. >>> > After applying the mxfdec.c patch, fate will pass with the >>> > currently >>> > existing tests but the files in the zip must be uploaded to the >>> > fate >>> > suite before applying my corresponding patch of course (otherwise >>> > the >>> > files don't exist). >>> > >>> > It would be cool if someone found the time and wants to apply this. >>> > >>> > Thanks! >>> > -emcodem >>> >>> Hi Thomas, >>> sorry i totally forgot about completing the fate tests for this. >>> The needed file is meanwhile in the official fate-suite repo so this >>> should pass the automatic fate tests. >>> >>> I did add 2 different tests for the patch that Marton applied that >>> makes >>> the demuxer prefer closed complete footer over header. >>> Both tests use the same file in fate-suite: >>> omneon_8.3.0.0_xdcam_startc_footer.mxf >>> This reference file is the shortest completely original example that >>> i >>> was able to produce on a real omneon broadcast server. It serves as a >>> good reference not only for this patch. >>> >>> Test 1) test if TC is preferred from footer. >>> Test 2) test if it still works as expected when there is no footer. >>> (more or less inverted test 1) This is done by simulating a >>> "truncated >>> file" using subfile protocol i chose the end of file is in the video >>> data of the last mpeg2 frame because that is what i see mostly with >>> truncated files in production. >>> >>> Hope this can be applied now as it is. >> >> Meant to reply to this earlier, but yes good samples are crucial for >> these kinds of tests. Obviously footer metadata will tend to be the >> most accurate and should be preferred. >> >> It's getting late, hopefully I'll have some time to look at this next >> week. There are some other things that need doing in mxfdec as well.. >> >> /Tomas > > Let me know if you need assistence with any of the "other doings" :D This is mostly for Tomas Härdin i guess because we have a history with this... Attached a revised version of the fate tests for the "prefer metadata from Footer" patch. Thanks to the guys i met on the Linux days in Chemnitz, we found and fixed an issue that would only occur on Mac (needed to changed quoting around subfile protocol to fix it). Special thanks to the great Mr. Carl Eugen at this point but also to Thilo who actally executed the revison and Alex Strasser (sorry that we didnt have the chance to say goodbye actually, it was great to meet you all) :D Please let me know any doubts. Thanks, emcodem From ca1b565e6febe114822b3b9f7b1c8f6abded21f6 Mon Sep 17 00:00:00 2001 From: emcodem Date: Sun, 12 Mar 2023 10:33:43 +0100 Subject: [PATCH] mxf Fate tests for openincomplete and truncated --- tests/fate/mxf.mak | 9 + tests/ref/fate/mxf-probe-xdcamhd-oit | 452 ++++++++++++++++++++++++++++++ tests/ref/fate/mxf-probe-xdcamhd-tcfooter | 452 ++++++++++++++++++++++++++++++ 3 files changed, 913 insertions(+) create mode 100644 tests/ref/fate/mxf-probe-xdcamhd-oit create mode 100644 tests/ref/fate/mxf-probe-xdcamhd-tcfooter diff --git a/tests/fate/mxf.mak b/tests/fate/mxf.mak index 8430b01..8bc6623 100644 --- a/tests/fate/mxf.mak +++ b/tests/fate/mxf.mak @@ -43,6 +43,15 @@ fate-mxf-probe-applehdr10: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i "$(SRC)" FATE_MXF_FFMPEG_FFPROBE-$(call REMUX, MXF, PRORES_DECODER) += fate-mxf-remux-applehdr10 fate-mxf-remux-applehdr10: CMD = transcode mxf $(TARGET_SAMPLES)/mxf/Meridian-Apple_ProResProxy-HDR10.mxf mxf "-map 0 -c copy" "-c copy -t 0.3" "-show_entries format_tags:stream_side_data_list:stream=index,codec_name,codec_tag:stream_tags" +# openincomplete Header, starttc in header 0 but Footer MP 10:11:17:21, SP 10:11:17:17 +FATE_MXF_PROBE-$(call ENCDEC2, MPEG2VIDEO, PCM_S24LE, MXF) += fate-mxf-probe-xdcamhd-tcfooter +fate-mxf-probe-xdcamhd-tcfooter: SRC = $(TARGET_SAMPLES)/mxf/omneon_8.3.0.0_xdcam_startc_footer.mxf +fate-mxf-probe-xdcamhd-tcfooter: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i "$(SRC)" + +FATE_MXF_PROBE-$(call ENCDEC2, MPEG2VIDEO, PCM_S24LE, MXF) += fate-mxf-probe-xdcamhd-oit +fate-mxf-probe-xdcamhd-oit: SRC = $(TARGET_SAMPLES)/mxf/omneon_8.3.0.0_xdcam_startc_footer.mxf +fate-mxf-probe-xdcamhd-oit: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i subfile,,start,0,end,5242880,,:"$(SRC)" + FATE_MXF-$(call DEMMUX, MXF, MXF, MPEGVIDEO_PARSER MPEG2VIDEO_DECODER) += fate-mxf-reel_name fate-mxf-user-comments fate-mxf-reel_name: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.mxf -c copy -timecode 00:00:00:00 -metadata "reel_name=test_reel" -fflags +bitexact -f mxf fate-mxf-user-comments: CMD = md5 -y -i $(TARGET_SAMPLES)/mxf/Sony-00001.mxf -c copy -metadata "comment_test=value" -fflags +bitexact -f mxf diff --git a/tests/ref/fate/mxf-probe-xdcamhd-oit b/tests/ref/fate/mxf-probe-xdcamhd-oit new file mode 100644 index 0000000..fd936f3 --- /dev/null +++ b/tests/ref/fate/mxf-probe-xdcamhd-oit @@ -0,0 +1,452 @@ +[STREAM] +index=0 +codec_name=mpeg2video +profile=0 +codec_type=video +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +width=1920 +height=1080 +coded_width=0 +coded_height=0 +closed_captions=0 +film_grain=0 +has_b_frames=1 +sample_aspect_ratio=1:1 +display_aspect_ratio=16:9 +pix_fmt=yuv422p +level=2 +color_range=tv +color_space=bt709 +color_transfer=bt709 +color_primaries=bt709 +chroma_location=topleft +field_order=tt +refs=1 +id=N/A +r_frame_rate=25/1 +avg_frame_rate=25/1 +time_base=1/25 +start_pts=0 +start_time=0.000000 +duration_ts=18 +duration=0.720000 +bit_rate=50000000 +max_bit_rate=N/A +bits_per_raw_sample=N/A +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +extradata_size=34 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[SIDE_DATA] +side_data_type=CPB properties +max_bitrate=50000000 +min_bitrate=0 +avg_bitrate=0 +buffer_size=17825792 +vbv_delay=-1 +[/SIDE_DATA] +[/STREAM] +[STREAM] +index=1 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=2 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=3 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=4 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=5 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=6 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=7 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=8 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=33909 +duration=0.706437 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[FORMAT] +format_name=mxf +duration=0.720000 +bit_rate=58254222 +TAG:operational_pattern_ul=060e2b34.04010101.0d010201.01010900 +TAG:uid=6e0aa7ca-8bbf-1b1e-a5b4-00d028113d5c +TAG:generation_uid=780aa7ca-8bbf-1b1e-93f8-00d028113d5c +TAG:company_name=Omneon Inc. +TAG:product_name=Omneon Media Subsystem +TAG:modification_date=2021-05-28T08:07:48.620000Z +TAG:product_version=8.3.0.0.release +TAG:product_version_num=8.3.0.0.1 +TAG:application_platform=Omneon Media Api (mqx) +TAG:product_uid=00000000-0000-1000-8000-050e0b010602 +TAG:material_package_umid=0x060A2B340101010501010D2313009472DE0DA7CA8BBF1B1EB07100D028113D5C +TAG:timecode=00:00:00:00 +[/FORMAT] diff --git a/tests/ref/fate/mxf-probe-xdcamhd-tcfooter b/tests/ref/fate/mxf-probe-xdcamhd-tcfooter new file mode 100644 index 0000000..3e9f846 --- /dev/null +++ b/tests/ref/fate/mxf-probe-xdcamhd-tcfooter @@ -0,0 +1,452 @@ +[STREAM] +index=0 +codec_name=mpeg2video +profile=0 +codec_type=video +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +width=1920 +height=1080 +coded_width=0 +coded_height=0 +closed_captions=0 +film_grain=0 +has_b_frames=1 +sample_aspect_ratio=1:1 +display_aspect_ratio=16:9 +pix_fmt=yuv422p +level=2 +color_range=tv +color_space=bt709 +color_transfer=bt709 +color_primaries=bt709 +chroma_location=topleft +field_order=tt +refs=1 +id=N/A +r_frame_rate=25/1 +avg_frame_rate=25/1 +time_base=1/25 +start_pts=0 +start_time=0.000000 +duration_ts=13 +duration=0.520000 +bit_rate=50000000 +max_bit_rate=N/A +bits_per_raw_sample=N/A +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +extradata_size=34 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[SIDE_DATA] +side_data_type=CPB properties +max_bitrate=50000000 +min_bitrate=0 +avg_bitrate=0 +buffer_size=17825792 +vbv_delay=-1 +[/SIDE_DATA] +[/STREAM] +[STREAM] +index=1 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=2 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=3 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=4 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=5 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=6 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=7 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[STREAM] +index=8 +codec_name=pcm_s24le +profile=unknown +codec_type=audio +codec_tag_string=[0][0][0][0] +codec_tag=0x0000 +sample_fmt=s32 +sample_rate=48000 +channels=1 +channel_layout=unknown +bits_per_sample=24 +initial_padding=0 +id=N/A +r_frame_rate=0/0 +avg_frame_rate=0/0 +time_base=1/48000 +start_pts=0 +start_time=0.000000 +duration_ts=24960 +duration=0.520000 +bit_rate=1152000 +max_bit_rate=N/A +bits_per_raw_sample=24 +nb_frames=N/A +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:file_package_umid=0x060A2B340101010501010D231300114B920EA7CA8BBF1B1EAC7100D028113D5C +[/STREAM] +[FORMAT] +format_name=mxf +duration=0.520000 +bit_rate=82212369 +TAG:operational_pattern_ul=060e2b34.04010101.0d010201.01010900 +TAG:application_platform=Omneon Media Api (mqx) +TAG:uid=6e0aa7ca-8bbf-1b1e-a5b4-00d028113d5c +TAG:generation_uid=780aa7ca-8bbf-1b1e-93f8-00d028113d5c +TAG:company_name=Omneon Inc. +TAG:product_name=Omneon Media Subsystem +TAG:modification_date=2021-05-28T08:07:48.620000Z +TAG:product_version=8.3.0.0.release +TAG:product_version_num=8.3.0.0.1 +TAG:product_uid=00000000-0000-1000-8000-050e0b010602 +TAG:material_package_umid=0x060A2B340101010501010D2313009472DE0DA7CA8BBF1B1EB07100D028113D5C +TAG:timecode=10:11:17:21 +[/FORMAT] -- 1.8.3.2