forked from mediamicroservices/mm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
object_policies.xml
98 lines (98 loc) · 8.32 KB
/
object_policies.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<policy type="or" name="Apply policy if result of audio or video digitization">
<description>Example of a digitization specification of analog SD video to FFV1 and Matroska or audio to Wave. For video, this policy contains a copy of another policy (Is this NTSC or PAL SD).</description>
<policy type="and" name="Neither FFV1 nor Matroska and not Wave?">
<rule name="Is it not Matroska?" value="Format" tracktype="General" occurrence="*" operator="!=">Matroska</rule>
<rule name="Is it not FFV1?" value="Format" tracktype="Video" occurrence="*" operator="!=">FFV1</rule>
<rule name="Is it not Wave?" value="Format" tracktype="General" occurrence="*" operator="!=">Wave</rule>
</policy>
<policy type="and" name="Video Digitzation Test: Meets Matroska/FFV1 Recommandations?">
<description>Example of a digitization specification of analog SD video to FFV1 and Matroska.</description>
<rule name="Is it Matroska?" value="Format" tracktype="General" occurrence="*" operator="=">Matroska</rule>
<rule name="Matroska version 4 or greater?" value="Format_Version" tracktype="General" occurrence="*" operator=">=">4</rule>
<rule name="SegmentUID is present?" scope="mmt" value="Segment/Info/SegmentUID/"/>
<rule name="Duration is greater than zero?" scope="mmt" operator=">" value="Segment/Info/Duration/Data">0</rule>
<rule name="SeekHead is present?" scope="mmt" value="Segment/SeekHead/"/>
<rule name="Cues is present?" scope="mmt" value="Segment/Cues/"/>
<policy type="and" name="Select Top-Level Elements have CRCs">
<rule name="SeekHead CRC-32 is present?" scope="mmt" value="Segment/SeekHead/CRC-32/"/>
<rule name="Info CRC-32 is present?" scope="mmt" value="Segment/Info/CRC-32/"/>
<rule name="Tracks CRC-32 is present?" scope="mmt" value="Segment/Tracks/CRC-32/"/>
<rule name="Cluster CRC-32 is present?" scope="mmt" value="Segment/Cluster/CRC-32/"/>
<rule name="Cues CRC-32 is present?" scope="mmt" value="Segment/Cues/CRC-32/"/>
<rule name="Tags CRC-32 is present?" scope="mmt" value="Segment/Tags/CRC-32/"/>
</policy>
<policy type="or" name="Video Scan Type is clarified?">
<policy type="and" name="Interlaced video is clarified?">
<rule name="Video is interlaced?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FlagInterlaced/Data" operator="=">1</rule>
<policy type="or" name="FieldOrder is clarified?">
<rule name="Video is Top Field displayed and stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">1</rule>
<rule name="Video is Bottom Field displayed and stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">6</rule>
<rule name="Video is Bottom Field displayed and Top Field stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">9</rule>
<rule name="Video is Top Field displayed and Bottom Field stored first?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FieldOrder/Data" operator="=">14</rule>
</policy>
</policy>
<rule name="Video is progressive?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/FlagInterlaced/Data" operator="=">2</rule>
</policy>
<policy type="or" name="Video Sample Range is clarified?">
<rule name="Video is in Broadcast Range?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">1</rule>
<rule name="Video is in Full Range?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">2</rule>
<rule name="Video is defined by MatrixCoefficients/TransferCharacteristics?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Range/Data" operator="=">3</rule>
</policy>
<policy type="or" name="Video Colour Primary is clarified?">
<rule name="Colour Primary data is stored?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Primaries"/>
<rule name="Colour Primary data is not Unspecified?" scope="mmt" value="Segment/Tracks/TrackEntry/Video/Colour/Primaries/Data" operator="!=">2</rule>
</policy>
<rule name="Is the video FFV1?" value="Format" tracktype="Video">FFV1</rule>
<rule name="FFV1 is version 3.4 or later?" value="Format_Version" tracktype="Video" operator=">=">3.4</rule>
<rule name="FFV1 is encoded in GOP size of 1?" value="Format_Settings_GOP" tracktype="Video" operator="=">N=1</rule>
<rule name="FFV1 uses slice crcs?" value="extra/ErrorDetectionType" tracktype="Video" operator="=">Per slice</rule>
<policy type="or" name="Is this NTSC or PAL SD?">
<description>A test to see if the files use NTSC or PAL frame rates and sizes.</description>
<policy type="or" name="Is this NTSC SD or PAL SD?">
<policy type="and" name="Is this PAL?">
<rule name="PAL height" value="Height" tracktype="Video" occurrence="1" operator="=">576</rule>
<rule name="PAL Width" value="Width" tracktype="Video" occurrence="1" operator="=">720</rule>
<rule name="PAL FrameRate" value="FrameRate" tracktype="Video" occurrence="1" operator="=">25.000</rule>
</policy>
<policy type="and" name="Is this NTSC?">
<policy type="or" name="NTSC Height">
<rule name="NTSC height" value="Height" tracktype="Video" occurrence="1" operator="=">486</rule>
<rule name="NTSC-ish height" value="Height" tracktype="Video" occurrence="1" operator="=">480</rule>
</policy>
<rule name="NTSC Width" value="Width" tracktype="Video" occurrence="1" operator="=">720</rule>
<rule name="NTSC FrameRate" value="FrameRate" tracktype="Video" occurrence="1" operator="=">29.970</rule>
</policy>
</policy>
<rule name="Is Interlaced?" value="ScanType" tracktype="Video" occurrence="1" operator="=">Interlaced</rule>
</policy>
</policy>
<policy type="and" name="Audio Digitization Test: Meets Wave/PCM Reccomendations?" license="CC-BY-4.0+">
<description>This is the common norm for WAVE audiofiles.
Any WAVs not matching this policy should be inspected and possibly normalized to conform to this.</description>
<policy type="or" name="Signed Integer or Float?">
<rule name="Is signed Integer?" value="Format_Settings_Sign" tracktype="Audio" occurrence="*" operator="=">Signed</rule>
<rule name="Is floating point?" value="Format_Profile" tracktype="Audio" occurrence="*" operator="=">Float</rule>
</policy>
<policy type="and" name="Audio: Proper resolution?">
<description>This policy defines audio-resolution values that are proper for WAV.</description>
<policy type="or" name="Valid samplerate?">
<description>This was not implemented as rule in order to avoid irregular sampling rates.</description>
<rule name="Audio is 32 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">32000</rule>
<rule name="Audio is 44.1 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">44100</rule>
<rule name="Audio is 48 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">48000</rule>
<rule name="Audio is 88.2 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">88200</rule>
<rule name="Audio is 96 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">96000</rule>
<rule name="Audio is 192 kHz?" value="SamplingRate" tracktype="Audio" occurrence="*" operator="=">192000</rule>
</policy>
<policy type="or" name="Valid bit depth?">
<rule name="Audio is 16 bit?" value="BitDepth" tracktype="Audio" occurrence="*" operator="=">16</rule>
<rule name="Audio is 24 bit?" value="BitDepth" tracktype="Audio" occurrence="*" operator="=">24</rule>
<rule name="Audio is 32 bit?" value="BitDepth" tracktype="Audio" occurrence="*" operator="=">32</rule>
<rule name="Audio is 8 bit?" value="BitDepth" tracktype="Audio" occurrence="*" operator="=">8</rule>
</policy>
</policy>
<rule name="Container is RIFF (WAV)?" value="Format" tracktype="General" occurrence="*" operator="=">Wave</rule>
<rule name="Encoding is linear PCM?" value="Format" tracktype="Audio" occurrence="*" operator="=">PCM</rule>
<rule name="Audio is 'Little Endian'?" value="Format_Settings_Endianness" tracktype="Audio" occurrence="*" operator="=">Little</rule>
</policy>
</policy>