|
| 1 | +<policy type="or" name="Apply policy if Matroska"> |
| 2 | + <description>Example of a digitization specification of analog SD video to FFV1 and Matroska. This policy contains a copy of another policy (Is this NTSC or PAL SD).</description> |
| 3 | + <policy type="and" name="Not FFV1 and not Matroska?"> |
| 4 | + <rule name="Is it not Matroska?" value="Format" tracktype="General" occurrence="*" operator="!=">Matroska</rule> |
| 5 | + <rule name="Is it not FFV1?" value="Format" tracktype="Video" occurrence="*" operator="!=">FFV1</rule> |
| 6 | + </policy> |
| 7 | + <policy type="and" name="Meets Matroska/FFV1 recommandations?"> |
| 8 | + <description>Example of a digitization specification of analog SD video to FFV1 and Matroska.</description> |
| 9 | + <rule name="Is it Matroska?" value="Format" tracktype="General" occurrence="*" operator="=">Matroska</rule> |
| 10 | + <rule name="Matroska version 4 or greater?" value="Format_Version" tracktype="General" occurrence="*" operator=">=">4</rule> |
| 11 | + <rule name="SegmentUID is present?" scope="mmt" value="Segment/Info/SegmentUID/"/> |
| 12 | + <rule name="Duration is greater than zero?" scope="mmt" operator=">" value="Segment/Info/Duration/Data">0</rule> |
| 13 | + <rule name="SeekHead is present?" scope="mmt" value="Segment/SeekHead/"/> |
| 14 | + <rule name="Cues is present?" scope="mmt" value="Segment/Cues/"/> |
| 15 | + <policy type="and" name="Select Top-Level Elements have CRCs"> |
| 16 | + <rule name="SeekHead CRC-32 is present?" scope="mmt" value="Segment/SeekHead/CRC-32/"/> |
| 17 | + <rule name="Info CRC-32 is present?" scope="mmt" value="Segment/Info/CRC-32/"/> |
| 18 | + <rule name="Tracks CRC-32 is present?" scope="mmt" value="Segment/Tracks/CRC-32/"/> |
| 19 | + <rule name="Cluster CRC-32 is present?" scope="mmt" value="Segment/Cluster/CRC-32/"/> |
| 20 | + <rule name="Cues CRC-32 is present?" scope="mmt" value="Segment/Cues/CRC-32/"/> |
| 21 | + <rule name="Tags CRC-32 is present?" scope="mmt" value="Segment/Tags/CRC-32/"/> |
| 22 | + </policy> |
| 23 | + <policy type="or" name="Video Scan Type is clarified?"> |
| 24 | + <policy type="and" name="Interlaced video is clarified?"> |
| 25 | + <rule name="Video is interlaced?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FlagInterlaced/Data" operator="=">1</rule> |
| 26 | + <policy type="or" name="FieldOrder is clarified?"> |
| 27 | + <rule name="Video is Top Field displayed and stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">1</rule> |
| 28 | + <rule name="Video is Bottom Field displayed and stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">6</rule> |
| 29 | + <rule name="Video is Bottom Field displayed and Top Field stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">9</rule> |
| 30 | + <rule name="Video is Top Field displayed and Bottom Field stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">14</rule> |
| 31 | + </policy> |
| 32 | + </policy> |
| 33 | + <rule name="Video is progressive?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FlagInterlaced/Data" operator="=">2</rule> |
| 34 | + </policy> |
| 35 | + <policy type="or" name="Video Sample Range is clarified?"> |
| 36 | + <rule name="Video is in Broadcast Range?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">1</rule> |
| 37 | + <rule name="Video is in Full Range?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">2</rule> |
| 38 | + <rule name="Video is defined by MatrixCoefficients/TransferCharacteristics?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">3</rule> |
| 39 | + </policy> |
| 40 | + <policy type="or" name="Video Colour Primary is clarified?"> |
| 41 | + <rule name="Colour Primary data is stored?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Primaries"/> |
| 42 | + <rule name="Colour Primary data is not Unspecified?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Primaries/Data" operator="!=">2</rule> |
| 43 | + </policy> |
| 44 | + <rule name="Is the video FFV1?" value="Format" tracktype="Video">FFV1</rule> |
| 45 | + <rule name="FFV1 is version 3.4 or later?" value="Format_Version" tracktype="Video" operator=">=">3.4</rule> |
| 46 | + <rule name="FFV1 is encoded in GOP size of 1?" value="Format_Settings_GOP" tracktype="Video" operator="=">N=1</rule> |
| 47 | + <rule name="FFV1 uses slice crcs?" value="extra/ErrorDetectionType" tracktype="Video" operator="=">Per slice</rule> |
| 48 | + <policy type="or" name="Is this NTSC or PAL SD?"> |
| 49 | + <description>A test to see if the files use NTSC or PAL frame rates and sizes.</description> |
| 50 | + <policy type="or" name="Is this NTSC SD or PAL SD?"> |
| 51 | + <policy type="and" name="Is this PAL?"> |
| 52 | + <rule name="PAL height" value="Height" tracktype="Video" occurrence="1" operator="=">576</rule> |
| 53 | + <rule name="PAL Width" value="Width" tracktype="Video" occurrence="1" operator="=">720</rule> |
| 54 | + <rule name="PAL FrameRate" value="FrameRate" tracktype="Video" occurrence="1" operator="=">25.000</rule> |
| 55 | + </policy> |
| 56 | + <policy type="and" name="Is this NTSC?"> |
| 57 | + <policy type="or" name="NTSC Height"> |
| 58 | + <rule name="NTSC height" value="Height" tracktype="Video" occurrence="1" operator="=">486</rule> |
| 59 | + <rule name="NTSC-ish height" value="Height" tracktype="Video" occurrence="1" operator="=">480</rule> |
| 60 | + </policy> |
| 61 | + <rule name="NTSC Width" value="Width" tracktype="Video" occurrence="1" operator="=">720</rule> |
| 62 | + <rule name="NTSC FrameRate" value="FrameRate" tracktype="Video" occurrence="1" operator="=">29.970</rule> |
| 63 | + </policy> |
| 64 | + </policy> |
| 65 | + <rule name="Is Interlaced?" value="ScanType" tracktype="Video" occurrence="1" operator="=">Interlaced</rule> |
| 66 | + </policy> |
| 67 | + </policy> |
| 68 | +</policy> |
0 commit comments