forked from amiaopensource/vrecord
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathvrecord_policy_ffv1.xml
More file actions
104 lines (104 loc) · 9.06 KB
/
vrecord_policy_ffv1.xml
File metadata and controls
104 lines (104 loc) · 9.06 KB
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
99
100
101
102
103
104
<?xml version="1.0"?>
<policy type="and" name="Check validity of FFV1 Matroska and Quicktime files">
<description>This policy tests FFV1 Matroska and Quicktime files made using vrecord and checks their validity</description>
<policy type="or" name="Is the container Matroska or Quicktime?">
<policy type="and" name="Is it good Matroska?">
<policy type="and" name="Is it new Matroska with an UUID?">
<rule name="Is it Matroska?" value="Format" tracktype="General" operator="=">Matroska</rule>
<rule name="Matroska version 4 or greater?" value="Format_Version" tracktype="General" operator=">=">4</rule>
<rule name="Unique ID is present?" value="UniqueID" tracktype="General"/>
<rule name="Is the FFV1 Codec ID V_MS/VFW/FOURCC / FFV1?" value="CodecID" tracktype="Video" operator="=">V_MS/VFW/FOURCC / FFV1</rule>
<rule name="Is the PCM Codec ID A_PCM/INT/LIT" value="CodecID" tracktype="Audio" operator="=">A_PCM/INT/LIT</rule>
<!-- add Endianness and Signedness when added to report -->
</policy>
<policy type="or" name="Is it NTSC SD or PAL SD?">
<description>Quick test for NTSC vs Pal to validate matrix coefficients. Full NTSC vs PAL test below</description>
<policy type="and" name="Is it NTSC?">
<rule name="NTSC FrameRate 29.970?" value="FrameRate" tracktype="Video" operator="=">29.970</rule>
</policy>
<policy type="and" name="Is it PAL?">
<description>The PAL matrix coefficients value is reported differently depending on container. This test validates for Matroska</description>
<rule name="PAL FrameRate 25.000?" value="FrameRate" tracktype="Video" operator="=">25.000</rule>
<rule name="Are the matrix coefficients BT.470 System B, BT.470 System G?" value="matrix_coefficients" tracktype="Video" operator="=">BT.470 System B, BT.470 System G</rule>
</policy>
</policy>
<policy type="and" name="Has Matroska finished writing?">
<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>
</policy>
<policy type="and" name="Is it good Quicktime?">
<rule name="Is the file extension mov?" value="FileExtension" tracktype="General" operator="=">mov</rule>
<rule name="Is the format MPEG-4?" value="Format" tracktype="General" operator="=">MPEG-4</rule>
<rule name="Is the format profile QuickTime?" value="Format_Profile" tracktype="General" operator="=">QuickTime</rule>
<rule name="Is the FFV1 Codec ID FFV1?" value="CodecID" tracktype="Video" operator="=">FFV1</rule>
<rule name="Is the PCM Codec ID in24?" value="CodecID" tracktype="Audio" operator="=">in24</rule>
<rule name="Is the endianness Little?" value="Format_Settings_Endianness" tracktype="Audio" operator="=">Little</rule>
<rule name="Is the signedness signed?" value="Format_Settings_Sign" tracktype="Audio" operator="=">Signed</rule>
<policy type="or" name="Is it NTSC SD or PAL SD?">
<policy type="and" name="Is it NTSC?">
<rule name="NTSC FrameRate 29.970?" value="FrameRate" tracktype="Video" operator="=">29.970</rule>
</policy>
<policy type="and" name="Is it PAL?">
<description>The PAL matrix coefficients value is reported differently depending on container. This test validates for Quicktime</description>
<rule name="PAL FrameRate 25.000?" value="FrameRate" tracktype="Video" operator="=">25.000</rule>
<rule name="Are the matrix coefficients BT.601?" value="matrix_coefficients" tracktype="Video" operator="=">BT.601</rule>
</policy>
</policy>
</policy>
</policy>
<rule name="Is the video format FFV1?" value="Format" tracktype="Video" operator="=">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="Is the display aspect ratio 1.333?" value="DisplayAspectRatio" tracktype="Video" operator="=">1.333</rule>
<rule name="Is the frame rate mode constant?" value="FrameRate_Mode" tracktype="Video" operator="=">CFR</rule>
<rule name="Is the color space YUV?" value="ColorSpace" tracktype="Video" operator="=">YUV</rule>
<rule name="Is the chroma subsampling 4:2:2?" value="ChromaSubsampling" tracktype="Video" operator="=">4:2:2</rule>
<rule name="Is the video interlaced?" value="ScanType" tracktype="Video" operator="=">Interlaced</rule>
<rule name="Is the compression mode lossless?" value="Compression_Mode" tracktype="Video" operator="=">Lossless</rule>
<rule name="Is max slice count at least 4?" value="extra/MaxSlicesCount" tracktype="Video" operator=">=">4</rule>
<rule name="Is error detection type per slice?" value="extra/ErrorDetectionType" tracktype="Video" operator="=">Per slice</rule>
<rule name="Is the video stream first?" value="StreamOrder" tracktype="Video" operator="=">0</rule>
<rule name="Is the colour description present?" value="colour_description_present" tracktype="Video" operator="=">Yes</rule>
<rule name="Are the transfer characteristics BT.709?" value="transfer_characteristics" tracktype="Video" operator="=">BT.709</rule>
<policy type="or" name="Is the video bit depth 8 or 10?">
<rule name="Is the video bit depth 8?" value="BitDepth" tracktype="Video" operator="=">8</rule>
<rule name="Is the video bit depth 10?" value="BitDepth" tracktype="Video" operator="=">10</rule>
</policy>
<policy type="or" name="Is it NTSC SD or PAL SD?">
<policy type="and" name="Is it NTSC?">
<rule name="NTSC height 486?" value="Height" tracktype="Video" operator="=">486</rule>
<rule name="NTSC width 720?" value="Width" tracktype="Video" operator="=">720</rule>
<rule name="NTSC FrameRate 29.970?" value="FrameRate" tracktype="Video" operator="=">29.970</rule>
<rule name="NTSC pixel aspect ratio 0.900?" value="PixelAspectRatio" tracktype="Video" operator="=">0.900</rule>
<rule name="NTSC scan order bottom field first?" value="ScanOrder" tracktype="Video" operator="=">BFF</rule>
<rule name="NTSC colour primaries BT.601 NTSC?" value="colour_primaries" tracktype="Video" operator="=">BT.601 NTSC</rule>
<rule name="Are the matrix coefficients BT.601?" value="matrix_coefficients" tracktype="Video" operator="=">BT.601</rule>
</policy>
<policy type="and" name="Is it PAL?">
<rule name="PAL height 576?" value="Height" tracktype="Video" operator="=">576</rule>
<rule name="PAL Width 720?" value="Width" tracktype="Video" operator="=">720</rule>
<rule name="PAL FrameRate 25.000?" value="FrameRate" tracktype="Video" operator="=">25.000</rule>
<rule name="PAL pixel aspect ratio 1.067?" value="PixelAspectRatio" tracktype="Video" operator="=">1.067</rule>
<rule name="PAL scan order top field first?" value="ScanOrder" tracktype="Video" operator="=">TFF</rule>
<rule name="PAL colour primaries BT.601 PAL?" value="colour_primaries" tracktype="Video" operator="=">BT.601 PAL</rule>
</policy>
</policy>
<rule name="Is the audio stream on track 2?" value="StreamOrder" tracktype="Audio" operator="=">1</rule>
<rule name="Is the audio PCM?" value="Format" tracktype="Audio" operator="=">PCM</rule>
<rule name="Is the audio bit depth 24?" value="BitDepth" tracktype="Audio" operator="=">24</rule>
<rule name="Is the sample rate 48kHz?" value="SamplingRate" tracktype="Audio" operator="=">48000</rule>
<policy type="or" name="1 or 2 channels of audio?">
<rule name="1 channel of audio?" value="Channels" tracktype="Audio" operator="=">1</rule>
<rule name="2 channels of audio?" value="Channels" tracktype="Audio" operator="=">2</rule>
</policy>
</policy>