This file is indexed.

/usr/share/mlt/plus/transition_affine.yml is in libmlt-data 6.6.0-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
schema_version: 0.2
type: transition
identifier: affine
title: Transform
version: 1
copyright: Meltytech, LLC
creator: Charles Yates
contributor:
  - Dan Dennedy
license: LGPLv2.1
language: en
tags:
  - Video
parameters:
  - identifier: geometry
    title: Rectangle
    type: geometry

  - identifier: distort
    title: Ignore aspect ratio
    description: >
      Determines whether the image aspect ratio will be distorted while scaling
      to completely fill the geometry rectangle.
    type: boolean
    default: 0
    mutable: yes
    widget: checkbox

  - identifier: fill
    title: Upscale to fill
    description: >
      Determines whether the image will be scaled up to fill the rectangle
      or whether the size will be constrained to 100% of the profile
      resolution.
    type: boolean
    default: 1
    mutable: yes
    widget: checkbox

  - identifier: repeat_off
    title: Disable looping
    description: >
      When animating properties with keyframes, whether to repeat the animation
      after it reaches the last key frame.
    type: boolean
    default: 0
    mutable: yes
    widget: checkbox

  - identifier: mirror_off
    title: Disable ping-pong
    description: >
      When animating properties with keyframes and repeat_off=0, whether
      the animation alternates between reverses and forwards for each
      repetition.
    type: boolean
    default: 0
    mutable: yes
    widget: checkbox

  - identifier: cycle
    title: Period
    description: >
      The duration to use when interpreting key frames for animation.
      If 0, the default, the transition length is used.
      If in range (0, 1), a percentage of transition length; otherwise,
      the number of frames.
    type: float
    default: 0
    mutable: yes

  - identifier: keyed
    title: Key-framed
    description: Whether rotate, shear, and offset are key-framed or not.
    type: boolean
    default: 0
    mutable: yes
    widget: checkbox

  - identifier: ox
    title: Horizontal offset
    type: float
    minimum: 0
    default: 0
    mutable: yes

  - identifier: oy
    title: Vertical offset
    type: float
    minimum: 0
    default: 0
    mutable: yes

  - identifier: rotate_x
    title: Rotate on X axis
    description: >
      Animate rotation around the X axis. If keyed=0, the amount to rotate per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: rotate_y
    title: Rotate on Y axis
    description: >
      Animate rotation around the Y axis. If keyed=0, the amount to rotate per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: rotate_z
    title: Rotate on Z axis
    description: >
      Animate rotation around the Z axis. If keyed=0, the amount to rotate per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_rotate_x
    title: X axis rotation
    description: Fixed amount of rotation around the X axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_rotate_y
    title: Y axis rotation
    description: Fixed amount of rotation around the Y axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_rotate_z
    title: Z axis rotation
    description: Fixed amount of rotation around the Z axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: shear_x
    title: Shear along X axis
    description: >
      Animate shear along the X axis. If keyed=0, the shear angle increment per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: shear_y
    title: Shear along Y axis
    description: >
      Animate shear along the Y axis. If keyed=0, the shear angle increment per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: shear_z
    title: Shear along Z axis
    description: >
      Animate shear along the Z axis. If keyed=0, the shear angle increment per
      frame.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_shear_x
    title: X axis shear
    description: Fixed amount of shear along the X axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_shear_y
    title: Y axis shear
    description: Fixed amount of shear along the Y axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: fix_shear_z
    title: Z axis shear
    description: Fixed amount of shear along the Z axis.
    type: float
    unit: degrees
    default: 0
    mutable: yes

  - identifier: mirror
    title: Ping-pong
    description: >
      When animating properties with key frames, whether the animation should
      behave with a ping-pong effect once over the duration of the transition.
      It will run in the forward direction over the first half the transition
      and in the reverse direction over the second half.
    type: boolean

  - identifier: scale
    title: Scale
    description: >
      Whether to automatic upscale B frame image to ensure the geometry area
      is filled.
    type: boolean
    default: 0
    mutable: yes
    widget: checkbox

  - identifier: scale_x
    title: Horizontal scale
    description: A scale factor applied along the X axis.
    type: float
    default: 0
    mutable: yes

  - identifier: scale_y
    title: Vertical scale
    description: A scale factor applied along the Y axis.
    type: float
    default: 0
    mutable: yes

  - identifier: b_alpha
    title: Affect alpha channel
    description: >
      Whether to use the B frame's alpha channel in transformations for the
      output, The affine filter sets this to 1 by default.
    type: boolean
    default: 0
    mutable: yes

  - identifier: fill
    title: Fill geometry
    description: >
      Determines whether the image will be scaled up to fill the geometry.
      Otherwise, if the B frame image fits within the geometry, it will not
      be scaled. If 0, and the B frame image exceeds the geometry, then it is
      scaled down to fit within the geometry.
    type: integer
    default: 1
    minimum: 0
    maximum: 1
    mutable: yes
    widget: checkbox

  - identifier: halign
    title: Horizontal alignment
    description: >
      Set the horizontal alignment within the geometry rectangle.
    type: string
    default: left
    values:
      - left
      - center
      - right
    mutable: yes
    widget: combo

  - identifier: valign
    title: Vertical alignment
    description: >
      Set the vertical alignment within the geometry rectangle.
    type: string
    default: top
    values:
      - top
      - middle
      - bottom
    mutable: yes
    widget: combo

  - identifier: threads
    title: Thread count
    description: >
      Use 0 to use the slice count, which defaults to the number of detected
      CPUs. Otherwise, set the number of threads to use up to the slice count.
    minimum: 0
    default: 0