Browse code

Merge remote-tracking branch 'qatar/master'

* qatar/master:
x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86)
x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86)
x86: call most of the x86 dsp init functions under if (ARCH_X86)
doc: support the new website layout
doc: remove a warning from filters.texi
doc: initial nut documentation
segment: drop global headers setting
lavu: fix typo in Makefile

Conflicts:
doc/Makefile
doc/filters.texi
doc/t2h.init
libavcodec/fmtconvert.c
libavcodec/proresdsp.c
libavcodec/x86/Makefile
libavcodec/x86/vc1dsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>

Michael Niedermayer authored on 2012/10/09 04:36:14
Showing 38 changed files
... ...
@@ -6,6 +6,7 @@ HTMLPAGES   = $(PROGS-yes:%=doc/%.html)                                 \
6 6
               doc/fate.html                                             \
7 7
               doc/general.html                                          \
8 8
               doc/git-howto.html                                        \
9
+              doc/nut.html                                              \
9 10
               doc/platform.html                                         \
10 11
               doc/syntax.html                                           \
11 12
 
... ...
@@ -1,31 +1,1137 @@
1
-/* The standard CSS for doxygen */
1
+/*!
2
+ * Bootstrap v2.1.1
3
+ *
4
+ * Copyright 2012 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
+ */
10
+
11
+html {
12
+  font-size: 100%;
13
+  -webkit-text-size-adjust: 100%;
14
+  -ms-text-size-adjust: 100%;
15
+}
16
+a:focus {
17
+  outline: thin dotted #333;
18
+  outline: 5px auto -webkit-focus-ring-color;
19
+  outline-offset: -2px;
20
+}
21
+a:hover,
22
+a:current {
23
+  outline: 0;
24
+}
25
+img {
26
+  /* Responsive images (ensure images don't scale beyond their parents) */
2 27
 
3
-/* @group Heading Levels */
28
+  max-width: 100%;
29
+  /* Part 1: Set a maxium relative to the parent */
30
+
31
+  width: auto\9;
32
+  /* IE7-8 need help adjusting responsive images */
33
+
34
+  height: auto;
35
+  /* Part 2: Scale the height according to the width, otherwise you get stretching */
36
+
37
+  vertical-align: middle;
38
+  border: 0;
39
+  -ms-interpolation-mode: bicubic;
40
+}
41
+body {
42
+  margin: 0;
43
+  font-family: sans-serif;
44
+  font-size: 14px;
45
+  line-height: 20px;
46
+  color: #333333;
47
+  background-color: #ffffff;
48
+}
49
+a {
50
+  color: #0088cc;
51
+  text-decoration: none;
52
+}
53
+a:hover {
54
+  color: #005580;
55
+  text-decoration: underline;
56
+}
57
+.container {
58
+  width: 940px;
59
+}
4 60
 
61
+.container {
62
+  margin-right: auto;
63
+  margin-left: auto;
64
+  *zoom: 1;
65
+}
5 66
 
67
+.container:before,
68
+.container:after {
69
+  display: table;
70
+  content: "";
71
+  line-height: 0;
72
+}
73
+.container:after {
74
+  clear: both;
75
+}
76
+.container-fluid {
77
+  padding-right: 20px;
78
+  padding-left: 20px;
79
+  *zoom: 1;
80
+}
81
+small {
82
+  font-size: 85%;
83
+}
84
+strong {
85
+  font-weight: bold;
86
+}
87
+em {
88
+  font-style: italic;
89
+}
90
+cite {
91
+  font-style: normal;
92
+}
93
+.text-warning {
94
+  color: #c09853;
95
+}
96
+.text-error {
97
+  color: #b94a48;
98
+}
99
+.text-info {
100
+  color: #3a87ad;
101
+}
102
+.text-success {
103
+  color: #468847;
104
+}
105
+h1,
106
+h2,
107
+h3,
108
+h4,
109
+h5,
110
+h6 {
111
+  margin: 10px 0;
112
+  font-family: inherit;
113
+  font-weight: bold;
114
+  line-height: 1;
115
+  color: inherit;
116
+  text-rendering: optimizelegibility;
117
+}
118
+h1 small,
119
+h2 small,
120
+h3 small,
121
+h4 small,
122
+h5 small,
123
+h6 small {
124
+  font-weight: normal;
125
+  line-height: 1;
126
+  color: #999999;
127
+}
6 128
 h1 {
7
-    font-size: 150%;
129
+  font-size: 30px;
130
+  line-height: 40px;
131
+}
132
+h2 {
133
+  font-size: 20px;
134
+  line-height: 40px;
135
+}
136
+h3 {
137
+  font-size: 18px;
138
+  line-height: 40px;
139
+}
140
+h4 {
141
+  font-size: 18px;
142
+  line-height: 20px;
143
+}
144
+h5 {
145
+  font-size: 14px;
146
+  line-height: 20px;
147
+}
148
+h6 {
149
+  font-size: 12px;
150
+  line-height: 20px;
151
+}
152
+ul,
153
+ol {
154
+  padding: 0;
155
+  margin: 0 0 10px 25px;
156
+}
157
+ul ul,
158
+ul ol,
159
+ol ol,
160
+ol ul {
161
+  margin-bottom: 0;
162
+}
163
+li {
164
+  line-height: 20px;
165
+}
166
+ul.unstyled,
167
+ol.unstyled {
168
+  margin-left: 0;
169
+  list-style: none;
170
+}
171
+dl {
172
+  margin-bottom: 20px;
173
+}
174
+dt,
175
+dd {
176
+  line-height: 20px;
177
+}
178
+dt {
179
+  font-weight: bold;
180
+}
181
+dd {
182
+  margin-left: 10px;
183
+}
184
+blockquote {
185
+  padding: 0 0 0 15px;
186
+  margin: 0 0 20px;
187
+  border-left: 5px solid #eeeeee;
188
+}
189
+blockquote p {
190
+  margin-bottom: 0;
191
+  font-size: 16px;
192
+  font-weight: 300;
193
+  line-height: 25px;
194
+}
195
+blockquote:before,
196
+blockquote:after {
197
+  content: "";
198
+}
199
+.fragment,
200
+code,
201
+pre {
202
+  padding: 0 3px 2px;
203
+  font-family: monospace;
204
+  font-size: 12px;
205
+  color: #333333;
206
+  -webkit-border-radius: 3px;
207
+  -moz-border-radius: 3px;
208
+  border-radius: 3px;
209
+}
210
+.fragment,
211
+code {
212
+  padding: 2px 4px;
213
+  color: #d14;
214
+  background-color: #f7f7f9;
215
+  border: 1px solid #e1e1e8;
216
+}
217
+pre {
218
+  display: block;
219
+  padding: 9.5px;
220
+  margin: 0 0 10px;
221
+  font-size: 13px;
222
+  line-height: 20px;
223
+  word-break: break-all;
224
+  word-wrap: break-word;
225
+  white-space: pre;
226
+  white-space: pre-wrap;
227
+  background-color: #f5f5f5;
228
+  border: 1px solid #ccc;
229
+  border: 1px solid rgba(0, 0, 0, 0.15);
230
+  -webkit-border-radius: 4px;
231
+  -moz-border-radius: 4px;
232
+  border-radius: 4px;
233
+}
234
+pre code {
235
+  padding: 0;
236
+  color: inherit;
237
+  background-color: transparent;
238
+  border: 0;
239
+}
240
+.label,
241
+.badge {
242
+  font-size: 11.844px;
243
+  font-weight: bold;
244
+  line-height: 14px;
245
+  color: #ffffff;
246
+  vertical-align: baseline;
247
+  white-space: nowrap;
248
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
249
+  background-color: #999999;
250
+}
251
+.label {
252
+  padding: 1px 4px 2px;
253
+  -webkit-border-radius: 3px;
254
+  -moz-border-radius: 3px;
255
+  border-radius: 3px;
256
+}
257
+.badge {
258
+  padding: 1px 9px 2px;
259
+  -webkit-border-radius: 9px;
260
+  -moz-border-radius: 9px;
261
+  border-radius: 9px;
262
+}
263
+a.label:hover,
264
+a.badge:hover {
265
+  color: #ffffff;
266
+  text-decoration: none;
267
+  cursor: pointer;
268
+}
269
+.label-important,
270
+.badge-important {
271
+  background-color: #b94a48;
272
+}
273
+.label-important[href],
274
+.badge-important[href] {
275
+  background-color: #953b39;
276
+}
277
+.label-warning,
278
+.badge-warning {
279
+  background-color: #f89406;
280
+}
281
+.label-warning[href],
282
+.badge-warning[href] {
283
+  background-color: #c67605;
284
+}
285
+.label-success,
286
+.badge-success {
287
+  background-color: #468847;
288
+}
289
+.label-success[href],
290
+.badge-success[href] {
291
+  background-color: #356635;
292
+}
293
+.label-info,
294
+.badge-info {
295
+  background-color: #3a87ad;
296
+}
297
+.label-info[href],
298
+.badge-info[href] {
299
+  background-color: #2d6987;
300
+}
301
+.label-inverse,
302
+.badge-inverse {
303
+  background-color: #333333;
304
+}
305
+.label-inverse[href],
306
+.badge-inverse[href] {
307
+  background-color: #1a1a1a;
308
+}
309
+table {
310
+  max-width: 100%;
311
+  background-color: transparent;
312
+  border-collapse: collapse;
313
+  border-spacing: 0;
314
+}
315
+
316
+table [class*=span],
317
+.row-fluid table [class*=span] {
318
+  display: table-cell;
319
+  float: none;
320
+  margin-left: 0;
321
+}
322
+fieldset {
323
+  padding: 0;
324
+  margin: 0;
325
+  border: 0;
326
+}
327
+legend {
328
+  display: block;
329
+  width: 100%;
330
+  padding: 0;
331
+  margin-bottom: 20px;
332
+  font-size: 21px;
333
+  line-height: 40px;
334
+  color: #333333;
335
+  border: 0;
336
+  border-bottom: 1px solid #e5e5e5;
337
+}
338
+legend small {
339
+  font-size: 15px;
340
+  color: #999999;
341
+}
342
+label,
343
+input,
344
+button,
345
+select,
346
+textarea {
347
+  font-size: 14px;
348
+  font-weight: normal;
349
+  line-height: 20px;
350
+}
351
+input,
352
+button,
353
+select,
354
+textarea {
355
+  font-family: sans-serif;
356
+}
357
+label {
358
+  display: block;
359
+  margin-bottom: 5px;
360
+}
361
+
362
+.tablist {
363
+  margin-left: 0;
364
+  margin-bottom: 20px;
365
+  list-style: none;
366
+}
367
+.tablist > li > a {
368
+  display: block;
369
+}
370
+.tablist > li > a:hover {
371
+  text-decoration: none;
372
+  background-color: #eeeeee;
373
+}
374
+.tablist > .pull-right {
375
+  float: right;
376
+}
377
+.tablist-header {
378
+  display: block;
379
+  padding: 3px 15px;
380
+  font-size: 11px;
381
+  font-weight: bold;
382
+  line-height: 20px;
383
+  color: #999999;
384
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
385
+  text-transform: uppercase;
386
+}
387
+.tablist li + .tablist-header {
388
+  margin-top: 9px;
389
+}
390
+.tablist-list {
391
+  padding-left: 15px;
392
+  padding-right: 15px;
393
+  margin-bottom: 0;
394
+}
395
+.tablist-list > li > a,
396
+.tablist-list .tablist-header {
397
+  margin-left: -15px;
398
+  margin-right: -15px;
399
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
400
+}
401
+.tablist-list > li > a {
402
+  padding: 3px 15px;
403
+}
404
+.tablist-list > .current > a,
405
+.tablist-list > .current > a:hover {
406
+  color: #ffffff;
407
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
408
+  background-color: #0088cc;
409
+}
410
+.tablist-list [class^="icon-"] {
411
+  margin-right: 2px;
412
+}
413
+.tablist-list .divider {
414
+  *width: 100%;
415
+  height: 1px;
416
+  margin: 9px 1px;
417
+  *margin: -5px 0 5px;
418
+  overflow: hidden;
419
+  background-color: #e5e5e5;
420
+  border-bottom: 1px solid #ffffff;
421
+}
422
+.tablist-tabs,
423
+.tablist {
424
+  *zoom: 1;
425
+}
426
+.tablist-tabs:before,
427
+.tablist:before,
428
+.tablist-tabs:after,
429
+.tablist:after {
430
+  display: table;
431
+  content: "";
432
+  line-height: 0;
433
+}
434
+.tablist-tabs:after,
435
+.tablist:after {
436
+  clear: both;
437
+}
438
+.tablist-tabs > li,
439
+.tablist > li {
440
+  float: left;
441
+}
442
+.tablist-tabs > li > a,
443
+.tablist > li > a {
444
+  padding-right: 12px;
445
+  padding-left: 12px;
446
+  margin-right: 2px;
447
+  line-height: 14px;
448
+}
449
+.tablist-tabs {
450
+  border-bottom: 1px solid #ddd;
451
+}
452
+.tablist-tabs > li {
453
+  margin-bottom: -1px;
454
+}
455
+.tablist-tabs > li > a {
456
+  padding-top: 8px;
457
+  padding-bottom: 8px;
458
+  line-height: 20px;
459
+  border: 1px solid transparent;
460
+  -webkit-border-radius: 4px 4px 0 0;
461
+  -moz-border-radius: 4px 4px 0 0;
462
+  border-radius: 4px 4px 0 0;
463
+}
464
+.tablist-tabs > li > a:hover {
465
+  border-color: #eeeeee #eeeeee #dddddd;
466
+}
467
+.tablist-tabs > .current > a,
468
+.tablist-tabs > .current > a:hover {
469
+  color: #555555;
470
+  background-color: #ffffff;
471
+  border: 1px solid #ddd;
472
+  border-bottom-color: transparent;
473
+  cursor: default;
474
+}
475
+.tablist > li > a {
476
+  padding-top: 8px;
477
+  padding-bottom: 8px;
478
+  margin-top: 2px;
479
+  margin-bottom: 2px;
480
+  -webkit-border-radius: 5px;
481
+  -moz-border-radius: 5px;
482
+  border-radius: 5px;
483
+}
484
+.tablist > .current > a,
485
+.tablist > .current > a:hover {
486
+  color: #ffffff;
487
+  background-color: #0088cc;
488
+}
489
+.tablist-stacked > li {
490
+  float: none;
491
+}
492
+.tablist-stacked > li > a {
493
+  margin-right: 0;
494
+}
495
+.tablist-tabs.tablist-stacked {
496
+  border-bottom: 0;
497
+}
498
+.tablist-tabs.tablist-stacked > li > a {
499
+  border: 1px solid #ddd;
500
+  -webkit-border-radius: 0;
501
+  -moz-border-radius: 0;
502
+  border-radius: 0;
503
+}
504
+.tablist-tabs.tablist-stacked > li:first-child > a {
505
+  -webkit-border-top-right-radius: 4px;
506
+  -moz-border-radius-topright: 4px;
507
+  border-top-right-radius: 4px;
508
+  -webkit-border-top-left-radius: 4px;
509
+  -moz-border-radius-topleft: 4px;
510
+  border-top-left-radius: 4px;
511
+}
512
+.tablist-tabs.tablist-stacked > li:last-child > a {
513
+  -webkit-border-bottom-right-radius: 4px;
514
+  -moz-border-radius-bottomright: 4px;
515
+  border-bottom-right-radius: 4px;
516
+  -webkit-border-bottom-left-radius: 4px;
517
+  -moz-border-radius-bottomleft: 4px;
518
+  border-bottom-left-radius: 4px;
519
+}
520
+.tablist-tabs.tablist-stacked > li > a:hover {
521
+  border-color: #ddd;
522
+  z-index: 2;
523
+}
524
+.tablist.tablist-stacked > li > a {
525
+  margin-bottom: 3px;
526
+}
527
+.tablist.tablist-stacked > li:last-child > a {
528
+  margin-bottom: 1px;
529
+}
530
+.tablist-tabs .dropdown-menu {
531
+  -webkit-border-radius: 0 0 6px 6px;
532
+  -moz-border-radius: 0 0 6px 6px;
533
+  border-radius: 0 0 6px 6px;
534
+}
535
+.tablist .dropdown-menu {
536
+  -webkit-border-radius: 6px;
537
+  -moz-border-radius: 6px;
538
+  border-radius: 6px;
539
+}
540
+.tablist .dropdown-toggle .caret {
541
+  border-top-color: #0088cc;
542
+  border-bottom-color: #0088cc;
543
+  margin-top: 6px;
544
+}
545
+.tablist .dropdown-toggle:hover .caret {
546
+  border-top-color: #005580;
547
+  border-bottom-color: #005580;
548
+}
549
+/* move down carets for tabs */
550
+.tablist-tabs .dropdown-toggle .caret {
551
+  margin-top: 8px;
552
+}
553
+.tablist .current .dropdown-toggle .caret {
554
+  border-top-color: #fff;
555
+  border-bottom-color: #fff;
556
+}
557
+.tablist-tabs .current .dropdown-toggle .caret {
558
+  border-top-color: #555555;
559
+  border-bottom-color: #555555;
560
+}
561
+.tablist > .dropdown.current > a:hover {
562
+  cursor: pointer;
563
+}
564
+.tablist-tabs .open .dropdown-toggle,
565
+.tablist .open .dropdown-toggle,
566
+.tablist > li.dropdown.open.current > a:hover {
567
+  color: #ffffff;
568
+  background-color: #999999;
569
+  border-color: #999999;
570
+}
571
+.tablist li.dropdown.open .caret,
572
+.tablist li.dropdown.open.current .caret,
573
+.tablist li.dropdown.open a:hover .caret {
574
+  border-top-color: #ffffff;
575
+  border-bottom-color: #ffffff;
576
+  opacity: 1;
577
+  filter: alpha(opacity=100);
578
+}
579
+.tabs-stacked .open > a:hover {
580
+  border-color: #999999;
581
+}
582
+.tab-content > .tab-pane,
583
+.pill-content > .pill-pane {
584
+  display: none;
585
+}
586
+.tab-content > .current,
587
+.pill-content > .current {
588
+  display: block;
589
+}
590
+.tabs-below > .tablist-tabs {
591
+  border-top: 1px solid #ddd;
592
+}
593
+.tabs-below > .tablist-tabs > li {
594
+  margin-top: -1px;
595
+  margin-bottom: 0;
596
+}
597
+.tabs-below > .tablist-tabs > li > a {
598
+  -webkit-border-radius: 0 0 4px 4px;
599
+  -moz-border-radius: 0 0 4px 4px;
600
+  border-radius: 0 0 4px 4px;
601
+}
602
+.tabs-below > .tablist-tabs > li > a:hover {
603
+  border-bottom-color: transparent;
604
+  border-top-color: #ddd;
605
+}
606
+.tabs-below > .tablist-tabs > .current > a,
607
+.tabs-below > .tablist-tabs > .current > a:hover {
608
+  border-color: transparent #ddd #ddd #ddd;
609
+}
610
+.tabs-left > .tablist-tabs > li,
611
+.tabs-right > .tablist-tabs > li {
612
+  float: none;
613
+}
614
+.tabs-left > .tablist-tabs > li > a,
615
+.tabs-right > .tablist-tabs > li > a {
616
+  min-width: 74px;
617
+  margin-right: 0;
618
+  margin-bottom: 3px;
619
+}
620
+.tabs-left > .tablist-tabs {
621
+  float: left;
622
+  margin-right: 19px;
623
+  border-right: 1px solid #ddd;
624
+}
625
+.tabs-left > .tablist-tabs > li > a {
626
+  margin-right: -1px;
627
+  -webkit-border-radius: 4px 0 0 4px;
628
+  -moz-border-radius: 4px 0 0 4px;
629
+  border-radius: 4px 0 0 4px;
630
+}
631
+.tabs-left > .tablist-tabs > li > a:hover {
632
+  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
633
+}
634
+.tabs-left > .tablist-tabs .current > a,
635
+.tabs-left > .tablist-tabs .current > a:hover {
636
+  border-color: #ddd transparent #ddd #ddd;
637
+  *border-right-color: #ffffff;
638
+}
639
+.tabs-right > .tablist-tabs {
640
+  float: right;
641
+  margin-left: 19px;
642
+  border-left: 1px solid #ddd;
643
+}
644
+.tabs-right > .tablist-tabs > li > a {
645
+  margin-left: -1px;
646
+  -webkit-border-radius: 0 4px 4px 0;
647
+  -moz-border-radius: 0 4px 4px 0;
648
+  border-radius: 0 4px 4px 0;
649
+}
650
+.tabs-right > .tablist-tabs > li > a:hover {
651
+  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
652
+}
653
+.tabs-right > .tablist-tabs .current > a,
654
+.tabs-right > .tablist-tabs .current > a:hover {
655
+  border-color: #ddd #ddd #ddd transparent;
656
+  *border-left-color: #ffffff;
657
+}
658
+.tablist > .disabled > a {
659
+  color: #999999;
660
+}
661
+.tablist > .disabled > a:hover {
662
+  text-decoration: none;
663
+  background-color: transparent;
664
+  cursor: default;
665
+}
666
+.tablistbar {
667
+  overflow: visible;
668
+  margin-bottom: 20px;
669
+  color: #ffffff;
670
+  *position: relative;
671
+  *z-index: 2;
672
+}
673
+.tablistbar-inner {
674
+  min-height: 40px;
675
+  padding-left: 20px;
676
+  padding-right: 20px;
677
+  background-color: #034c03;
678
+  background-image: -moz-linear-gradient(top, #024002, #045f04);
679
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#024002), to(#045f04));
680
+  background-image: -webkit-linear-gradient(top, #024002, #045f04);
681
+  background-image: -o-linear-gradient(top, #024002, #045f04);
682
+  background-image: linear-gradient(to bottom, #024002, #045f04);
683
+  background-repeat: repeat-x;
684
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff024002', endColorstr='#ff045f04', GradientType=0);
685
+  border: 1px solid #022402;
686
+  -webkit-border-radius: 4px;
687
+  -moz-border-radius: 4px;
688
+  border-radius: 4px;
689
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
690
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
691
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
692
+  *zoom: 1;
693
+}
694
+.tablistbar-inner:before,
695
+.tablistbar-inner:after {
696
+  display: table;
697
+  content: "";
698
+  line-height: 0;
699
+}
700
+.tablistbar-inner:after {
701
+  clear: both;
702
+}
703
+.tablistbar .container {
704
+  width: auto;
705
+}
706
+.tablist-collapse.collapse {
707
+  height: auto;
708
+}
709
+.tablistbar .brand {
710
+  float: left;
711
+  display: block;
712
+  padding: 10px 20px 10px;
713
+  margin-left: -20px;
714
+  font-size: 20px;
715
+  font-weight: 200;
716
+  color: #ffffff;
717
+  text-shadow: 0 1px 0 #024002;
718
+}
719
+.tablistbar .brand:hover {
720
+  text-decoration: none;
721
+}
722
+.tablistbar-text {
723
+  margin-bottom: 0;
724
+  line-height: 40px;
725
+}
726
+.tablistbar-link {
727
+  color: #ffffff;
728
+}
729
+.tablistbar-link:hover {
730
+  color: #333333;
731
+}
732
+.tablistbar .tablist {
733
+  position: relative;
734
+  left: 0;
735
+  display: block;
736
+  float: left;
737
+  margin: 0 10px 0 0;
738
+}
739
+.tablistbar .tablist.pull-right {
740
+  float: right;
741
+  margin-right: 0;
742
+}
743
+.tablistbar .tablist > li {
744
+  float: left;
745
+}
746
+.tablistbar .tablist > li > a {
747
+  float: none;
748
+  padding: 10px 15px 10px;
749
+  color: #ffffff;
750
+  text-decoration: none;
751
+  text-shadow: 0 1px 0 #024002;
752
+}
753
+.tablistbar .tablist .dropdown-toggle .caret {
754
+  margin-top: 8px;
755
+}
756
+.tablistbar .tablist > li > a:focus,
757
+.tablistbar .tablist > li > a:hover {
758
+  background-color: transparent;
759
+  color: white;
760
+  text-decoration: none;
761
+}
762
+.tablistbar .tablist > .current > a,
763
+.tablistbar .tablist > .current > a:hover,
764
+.tablistbar .tablist > .current > a:focus {
765
+  color: #555555;
766
+  text-decoration: none;
767
+  background-color: #034703;
768
+  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
769
+  -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
770
+  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
771
+}
772
+.tablistbar .btn-navbar {
773
+  display: none;
774
+  float: right;
775
+  padding: 7px 10px;
776
+  margin-left: 5px;
777
+  margin-right: 5px;
778
+  color: #ffffff;
779
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
780
+  background-color: #023402;
781
+  background-image: -moz-linear-gradient(top, #012701, #034703);
782
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#012701), to(#034703));
783
+  background-image: -webkit-linear-gradient(top, #012701, #034703);
784
+  background-image: -o-linear-gradient(top, #012701, #034703);
785
+  background-image: linear-gradient(to bottom, #012701, #034703);
786
+  background-repeat: repeat-x;
787
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff012701', endColorstr='#ff034703', GradientType=0);
788
+  border-color: #034703 #034703 #000000;
789
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
790
+  *background-color: #034703;
791
+  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
792
+
793
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
794
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
795
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
796
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
797
+}
798
+.tablistbar .tablist > li > .dropdown-menu:before {
799
+  content: '';
800
+  display: inline-block;
801
+  border-left: 7px solid transparent;
802
+  border-right: 7px solid transparent;
803
+  border-bottom: 7px solid #ccc;
804
+  border-bottom-color: rgba(0, 0, 0, 0.2);
805
+  position: absolute;
806
+  top: -7px;
807
+  left: 9px;
808
+}
809
+.tablistbar .tablist > li > .dropdown-menu:after {
810
+  content: '';
811
+  display: inline-block;
812
+  border-left: 6px solid transparent;
813
+  border-right: 6px solid transparent;
814
+  border-bottom: 6px solid #ffffff;
815
+  position: absolute;
816
+  top: -6px;
817
+  left: 10px;
818
+}
819
+.tablistbar .tablist li.dropdown.open > .dropdown-toggle,
820
+.tablistbar .tablist li.dropdown.current > .dropdown-toggle,
821
+.tablistbar .tablist li.dropdown.open.current > .dropdown-toggle {
822
+  background-color: #034703;
823
+  color: #555555;
824
+}
825
+.tablistbar .tablist li.dropdown > .dropdown-toggle .caret {
826
+  border-top-color: #ffffff;
827
+  border-bottom-color: #ffffff;
828
+}
829
+.tablistbar .tablist li.dropdown.open > .dropdown-toggle .caret,
830
+.tablistbar .tablist li.dropdown.current > .dropdown-toggle .caret,
831
+.tablistbar .tablist li.dropdown.open.current > .dropdown-toggle .caret {
832
+  border-top-color: #555555;
833
+  border-bottom-color: #555555;
834
+}
835
+.tablistbar .pull-right > li > .dropdown-menu,
836
+.tablistbar .tablist > li > .dropdown-menu.pull-right {
837
+  left: auto;
838
+  right: 0;
839
+}
840
+.tablistbar .pull-right > li > .dropdown-menu:before,
841
+.tablistbar .tablist > li > .dropdown-menu.pull-right:before {
842
+  left: auto;
843
+  right: 12px;
844
+}
845
+.tablistbar .pull-right > li > .dropdown-menu:after,
846
+.tablistbar .tablist > li > .dropdown-menu.pull-right:after {
847
+  left: auto;
848
+  right: 13px;
849
+}
850
+.tablistbar .pull-right > li > .dropdown-menu .dropdown-menu,
851
+.tablistbar .tablist > li > .dropdown-menu.pull-right .dropdown-menu {
852
+  left: auto;
853
+  right: 100%;
854
+  margin-left: 0;
855
+  margin-right: -1px;
856
+  -webkit-border-radius: 6px 0 6px 6px;
857
+  -moz-border-radius: 6px 0 6px 6px;
858
+  border-radius: 6px 0 6px 6px;
859
+}
860
+.breadcrumb {
861
+  padding: 8px 15px;
862
+  margin: 0 0 20px;
863
+  list-style: none;
864
+  background-color: #f5f5f5;
865
+  -webkit-border-radius: 4px;
866
+  -moz-border-radius: 4px;
867
+  border-radius: 4px;
868
+}
869
+.breadcrumb li {
870
+  display: inline-block;
871
+  *display: inline;
872
+  /* IE7 inline-block hack */
873
+
874
+  *zoom: 1;
875
+  text-shadow: 0 1px 0 #ffffff;
876
+}
877
+.breadcrumb .divider {
878
+  padding: 0 5px;
879
+  color: #ccc;
880
+}
881
+.breadcrumb .current {
882
+  color: #999999;
883
+}
884
+.pagination-right {
885
+  text-align: right;
886
+}
887
+.fade {
888
+  opacity: 0;
889
+  -webkit-transition: opacity 0.15s linear;
890
+  -moz-transition: opacity 0.15s linear;
891
+  -o-transition: opacity 0.15s linear;
892
+  transition: opacity 0.15s linear;
893
+}
894
+.fade.in {
895
+  opacity: 1;
896
+}
897
+.collapse {
898
+  position: relative;
899
+  height: 0;
900
+  overflow: hidden;
901
+  -webkit-transition: height 0.35s ease;
902
+  -moz-transition: height 0.35s ease;
903
+  -o-transition: height 0.35s ease;
904
+  transition: height 0.35s ease;
905
+}
906
+.collapse.in {
907
+  height: auto;
908
+}
909
+.hidden {
910
+  display: none;
911
+  visibility: hidden;
912
+}
913
+.visible-phone {
914
+  display: none !important;
915
+}
916
+.visible-tablet {
917
+  display: none !important;
918
+}
919
+.hidden-desktop {
920
+  display: none !important;
921
+}
922
+.visible-desktop {
923
+  display: inherit !important;
924
+}
925
+@media (min-width: 768px) and (max-width: 979px) {
926
+  .hidden-desktop {
927
+    display: inherit !important;
928
+  }
929
+  .visible-desktop {
930
+    display: none !important ;
931
+  }
932
+  .visible-tablet {
933
+    display: inherit !important;
934
+  }
935
+  .hidden-tablet {
936
+    display: none !important;
937
+  }
938
+}
939
+@media (max-width: 767px) {
940
+  .hidden-desktop {
941
+    display: inherit !important;
942
+  }
943
+  .visible-desktop {
944
+    display: none !important;
945
+  }
946
+  .visible-phone {
947
+    display: inherit !important;
948
+  }
949
+  .hidden-phone {
950
+    display: none !important;
951
+  }
952
+}
953
+@media (max-width: 767px) {
954
+  body {
955
+    padding-left: 20px;
956
+    padding-right: 20px;
957
+  }
958
+  .container {
959
+    width: auto;
960
+  }
961
+  .row,
962
+  .thumbnails {
963
+    margin-left: 0;
964
+  }
965
+}
966
+@media (max-width: 480px) {
967
+  .tablist-collapse {
968
+    -webkit-transform: translate3d(0, 0, 0);
969
+  }
970
+  .page-header h1 small {
971
+    display: block;
972
+    line-height: 20px;
973
+  }
974
+}
975
+@media (min-width: 768px) and (max-width: 979px) {
976
+  .row {
977
+    margin-left: -20px;
978
+    *zoom: 1;
979
+  }
980
+  .row:before,
981
+  .row:after {
982
+    display: table;
983
+    content: "";
984
+    line-height: 0;
985
+  }
986
+  .row:after {
987
+    clear: both;
988
+  }
989
+  [class*="span"] {
990
+    float: left;
991
+    min-height: 1px;
992
+    margin-left: 20px;
993
+  }
994
+  .container {
995
+    width: 724px;
996
+  }
997
+}
998
+@media (min-width: 1200px) {
999
+  .row {
1000
+    margin-left: -30px;
1001
+    *zoom: 1;
1002
+  }
1003
+  .row:before,
1004
+  .row:after {
1005
+    display: table;
1006
+    content: "";
1007
+    line-height: 0;
1008
+  }
1009
+  .row:after {
1010
+    clear: both;
1011
+  }
1012
+  [class*="span"] {
1013
+    float: left;
1014
+    min-height: 1px;
1015
+    margin-left: 30px;
1016
+  }
1017
+  .container {
1018
+    width: 1070px;
1019
+  }
1020
+}
1021
+@media (max-width: 979px) {
1022
+  body {
1023
+    padding-top: 0;
1024
+  }
1025
+}
1026
+@media (min-width: 980px) {
1027
+  .tablist-collapse.collapse {
1028
+    height: auto !important;
1029
+    overflow: visible !important;
1030
+  }
1031
+}
1032
+.tablistbar .brand {
1033
+  padding: 5px;
1034
+  margin-left: 0;
1035
+}
1036
+.tablistbar .brand img {
1037
+  width: 30px;
1038
+  vertical-align: middle;
8 1039
 }
9 1040
 
1041
+h1 small {
1042
+  font-size: 18px;
1043
+}
1044
+
1045
+h1 small,
1046
+h2 small,
1047
+h3 small,
1048
+h4 small,
1049
+h5 small,
1050
+h6 small,
1051
+.page-header small {
1052
+  line-height: 0.8;
1053
+  font-weight: normal;
1054
+  color: #999999;
1055
+  display:block;
1056
+  vertical-align: middle;
1057
+}
1058
+
1059
+.page-header h1, h1:first-child {
1060
+  font-size: 40px;
1061
+  padding-bottom: 5px;
1062
+}
1063
+
1064
+.page-header h1 {
1065
+  border-bottom: 1px solid #999999;
1066
+  padding-bottom: 9px;
1067
+}
1068
+
1069
+.page-header img {
1070
+  height: 80px;
1071
+  padding-bottom: 5px;
1072
+}
1073
+
1074
+.page-header small {
1075
+  line-height: 1.1;
1076
+  font-size: 18px;
1077
+}
1078
+
1079
+h2,
1080
+h3,
1081
+h4,
1082
+div.ah,
10 1083
 .title {
11
-    font-weight: bold;
12
-    margin: 10px 2px;
13
-    background-color: #7BB37B;
14
-    border: 1px solid #6A996A;
15
-    color: #151515;
16
-    font-size: 1.2em;
17
-    padding-bottom: 0.2em;
18
-    padding-left: 0.4em;
19
-    padding-top: 0.2em;
1084
+  border-color: #D6E9C6;
1085
+  color: #468847;
1086
+  border-style: solid;
1087
+  border-width: 0 0 1px;
1088
+  padding-left: 0.5em;
20 1089
 }
21 1090
 
22
-h2 {
23
-    font-size: 120%;
1091
+
1092
+.google {
1093
+  color: white;
24 1094
 }
25 1095
 
26
-h3 {
27
-    font-size: 100%;
1096
+.breadcrumb {
1097
+  font-size: 11px;
1098
+  padding-top: 2px;
1099
+  padding-bottom: 2px;
1100
+}
1101
+
1102
+h1 a,
1103
+h2 a,
1104
+h3 a,
1105
+h4 a {
1106
+  color: inherit;
1107
+}
1108
+
1109
+.tablistbar-inner a {
1110
+  font-weight: bold;
1111
+}
1112
+
1113
+.list-2panes:before,
1114
+.list-2panes:after {
1115
+  display: table;
1116
+  content: "";
1117
+  line-height: 0;
1118
+}
1119
+
1120
+.list-2panes:after {
1121
+  clear:both;
1122
+}
1123
+
1124
+.list-2panes li {
1125
+  width: 470px;
1126
+  width: 470px;
1127
+  float: left;
1128
+  margin-left: 30px;
1129
+  min-height: 1px;
28 1130
 }
1131
+/* The standard CSS for doxygen */
1132
+
1133
+/* @group Heading Levels */
1134
+
29 1135
 
30 1136
 dt {
31 1137
     font-weight: bold;
... ...
@@ -70,18 +1176,18 @@ h3.version {
70 70
         text-align: center;
71 71
 }
72 72
 
73
-div.qindex, div.navtab{
73
+div.qindex, div.tablisttab{
74 74
     background-color: #EBF6EB;
75 75
     border: 1px solid #A3D7A3;
76 76
     text-align: center;
77 77
 }
78 78
 
79
-div.qindex, div.navpath {
79
+div.qindex, div.tablistpath {
80 80
     width: 100%;
81 81
     line-height: 140%;
82 82
 }
83 83
 
84
-div.navtab {
84
+div.tablisttab {
85 85
     margin-right: 15px;
86 86
 }
87 87
 
... ...
@@ -153,24 +1259,6 @@ pre.fragment {
153 153
     line-height: 125%;
154 154
 }
155 155
 
156
-div.ah {
157
-    background-color: black;
158
-    font-weight: bold;
159
-    color: #ffffff;
160
-    margin-bottom: 3px;
161
-    margin-top: 3px;
162
-    padding: 0.2em;
163
-    border: solid thin #333;
164
-    border-radius: 0.5em;
165
-    -webkit-border-radius: .5em;
166
-    -moz-border-radius: .5em;
167
-    box-shadow: 2px 2px 3px #999;
168
-    -webkit-box-shadow: 2px 2px 3px #999;
169
-    -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
170
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
171
-    background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
172
-}
173
-
174 156
 div.groupHeader {
175 157
     margin-left: 16px;
176 158
     margin-top: 12px;
... ...
@@ -189,21 +1277,10 @@ div.contents {
189 189
 }
190 190
 
191 191
 td.indexkey {
192
-    background-color: #EBF6EB;
193
-    font-weight: bold;
194
-    border: 1px solid #C4E5C4;
195
-    margin: 2px 0px 2px 0;
196
-    padding: 2px 10px;
197
-        white-space: nowrap;
198
-        vertical-align: top;
192
+    white-space: nowrap;
193
+    vertical-align: top;
199 194
 }
200 195
 
201
-td.indexvalue {
202
-    background-color: #EBF6EB;
203
-    border: 1px solid #C4E5C4;
204
-    padding: 2px 10px;
205
-    margin: 2px 0px;
206
-}
207 196
 
208 197
 tr.memlist {
209 198
     background-color: #EEF7EE;
... ...
@@ -696,7 +1773,7 @@ table.fieldtable {
696 696
     font-size: 13px;
697 697
 }
698 698
 
699
-.navpath ul
699
+.tablistpath ul
700 700
 {
701 701
     font-size: 11px;
702 702
     background-image:url('tab_b.png');
... ...
@@ -710,7 +1787,7 @@ table.fieldtable {
710 710
     padding:0px;
711 711
 }
712 712
 
713
-.navpath li
713
+.tablistpath li
714 714
 {
715 715
     list-style-type:none;
716 716
     float:left;
... ...
@@ -722,7 +1799,7 @@ table.fieldtable {
722 722
     color:#367C36;
723 723
 }
724 724
 
725
-.navpath li.navelem a
725
+.tablistpath li.tablistelem a
726 726
 {
727 727
     height:32px;
728 728
     display:block;
... ...
@@ -730,12 +1807,12 @@ table.fieldtable {
730 730
     outline: none;
731 731
 }
732 732
 
733
-.navpath li.navelem a:hover
733
+.tablistpath li.tablistelem a:hover
734 734
 {
735 735
     color:#68BD68;
736 736
 }
737 737
 
738
-.navpath li.footer
738
+.tablistpath li.footer
739 739
 {
740 740
         list-style-type:none;
741 741
         float:right;
... ...
@@ -937,161 +2014,6 @@ dl.citelist dd {
937 937
   }
938 938
 }
939 939
 
940
-/* tabs */
941
-
942
-.tabs, .tabs2, .tabs3 {
943
-    z-index: 101;
944
-}
945
-
946
-.tablist {
947
-    margin: auto;
948
-    display: table;
949
-}
950
-
951
-.tablist li {
952
-    float: left;
953
-    display: table-cell;
954
-    list-style: none;
955
-    margin:0 4px;
956
-}
957
-
958
-.tablist a {
959
-    display: block;
960
-    padding: 0 0.3em;
961
-    color: #285D28;
962
-    text-decoration: none;
963
-    outline: none;
964
-}
965
-
966
-.tabs3 .tablist a {
967
-    padding-left: 10px;
968
-}
969
-
970
-
971
-/* libav.org stylesheet */
972
-
973
-a {
974
-    color: #2D6198;
975
-}
976
-
977
-a:visited {
978
-    color: #884488;
979
-}
980
-
981
-h1 a, h2 a, h3 a {
982
-    text-decoration: inherit;
983
-    color: inherit;
984
-}
985
-
986
-#body {
987
-    margin: 0 1em;
988
-}
989
-
990
-body {
991
-    background-color: #313131;
992
-    margin: 0;
993
-}
994
-
995
-.center {
996
-    margin-left: auto;
997
-    margin-right: auto;
998
-    text-align: center;
999
-}
1000
-
1001
-#container {
1002
-    background-color: white;
1003
-    color: #202020;
1004
-    margin-left: 1em;
1005
-    margin-right: 1em;
1006
-}
1007
-
1008
-h1 {
1009
-    background-color: #7BB37B;
1010
-    border: 1px solid #6A996A;
1011
-    color: #151515;
1012
-    font-size: 1.2em;
1013
-    padding-bottom: 0.2em;
1014
-    padding-left: 0.4em;
1015
-    padding-top: 0.2em;
1016
-}
1017
-
1018
-h2 {
1019
-    color: #313131;
1020
-    font-size: 1.2em;
1021
-}
1022
-
1023
-h3 {
1024
-    color: #313131;
1025
-    font-size: 0.8em;
1026
-    margin-bottom: -8px;
1027
-}
1028
-
1029
-img {
1030
-    border: 0;
1031
-}
1032
-
1033
-.tabs {
1034
-    margin-top: 12px;
1035
-    border-top: 1px solid #5C665C;
1036
-}
1037
-
1038
-.tabs, .tabs2, .tabs3, .tabs4 {
1039
-    background-color: #738073;
1040
-    border-bottom: 1px solid #5C665C;
1041
-    border-left: 1px solid #5C665C;
1042
-    border-right: 1px solid #5C665C;
1043
-    position: relative;
1044
-    text-align: center;
1045
-}
1046
-
1047
-.tabs a,
1048
-.tabs2 a,
1049
-.tabs3 a,
1050
-.tabs4 a {
1051
-    color: white;
1052
-    padding: 0.3em;
1053
-    text-decoration: none;
1054
-}
1055
-
1056
-
1057
-.tabs ul,
1058
-.tabs2 ul,
1059
-.tabs3 ul,
1060
-.tabs4 ul {
1061
-    padding: 0;
1062
-}
1063
-
1064
-.tabs li.current a,
1065
-.tabs2 li.current a,
1066
-.tabs3 li.current a,
1067
-.tabs4 li.current a {
1068
-    background-color: #414141;
1069
-    color: white;
1070
-    text-decoration: none;
1071
-}
1072
-
1073
-.tabs a:hover,
1074
-.tabs2 a:hover,
1075
-.tabs3 a:hover,
1076
-.tabs4 a:hover {
1077
-    background-color: #313131 !important;
1078
-    color: white;
1079
-    text-decoration: none;
1080
-}
1081
-
1082
-p {
1083
-    margin-left: 1em;
1084
-    margin-right: 1em;
1085
-}
1086
-
1087
-table {
1088
-    margin-left: 2em;
1089
-}
1090
-
1091
-pre {
1092
-    margin-left: 2em;
1093
-}
1094
-
1095 940
 #proj_desc {
1096 941
     font-size: 1.2em;
1097 942
 }
... ...
@@ -1,10 +1,9 @@
1
- </div>
2
-
3
- <div id="footer">
4
-   Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
5
- </div>
6 1
 
2
+ <footer class="footer pagination-right">
3
+   <span class="label label-info">
4
+    Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
5
+   </span>
6
+ </footer>
7 7
 </div>
8
-
9 8
 </body>
10 9
 </html>
... ...
@@ -1,14 +1,16 @@
1
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
-<html xmlns="http://www.w3.org/1999/xhtml">
1
+<!DOCTYPE html>
2
+<html>
3 3
 <head>
4
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
5 5
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 6
 <!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
7 7
 <!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
8 8
 <link href="$relpath$doxy_stylesheet.css" rel="stylesheet" type="text/css" />
9
+<!--Header replace -->
10
+
9 11
 </head>
10 12
 
11
-<div id="container">
13
+<div class="container">
12 14
 
13
-<div id="body">
14
- <div>
15
+<!--Header replace -->
16
+<div class="menu">
... ...
@@ -2446,14 +2446,10 @@ corresponding pixel component values.
2446 2446
 The @var{lut} filter requires either YUV or RGB pixel formats in
2447 2447
 input, and accepts the options:
2448 2448
 @table @option
2449
-@item c0
2450
-first  pixel component
2451
-@item c1
2452
-second pixel component
2453
-@item c2
2454
-third  pixel component
2455
-@item c3
2456
-fourth pixel component, corresponds to the alpha component
2449
+@item @var{c0} (first  pixel component)
2450
+@item @var{c1} (second pixel component)
2451
+@item @var{c2} (third  pixel component)
2452
+@item @var{c3} (fourth pixel component, corresponds to the alpha component)
2457 2453
 @end table
2458 2454
 
2459 2455
 The exact component associated to each option depends on the format in
... ...
@@ -2462,27 +2458,19 @@ input.
2462 2462
 The @var{lutrgb} filter requires RGB pixel formats in input, and
2463 2463
 accepts the options:
2464 2464
 @table @option
2465
-@item r
2466
-red component
2467
-@item g
2468
-green component
2469
-@item b
2470
-blue component
2471
-@item a
2472
-alpha component
2465
+@item @var{r} (red component)
2466
+@item @var{g} (green component)
2467
+@item @var{b} (blue component)
2468
+@item @var{a} (alpha component)
2473 2469
 @end table
2474 2470
 
2475 2471
 The @var{lutyuv} filter requires YUV pixel formats in input, and
2476 2472
 accepts the options:
2477 2473
 @table @option
2478
-@item y
2479
-Y/luminance component
2480
-@item u
2481
-U/Cb component
2482
-@item v
2483
-V/Cr component
2484
-@item a
2485
-alpha component
2474
+@item @var{y} (Y/luminance component)
2475
+@item @var{u} (U/Cb component)
2476
+@item @var{v} (V/Cr component)
2477
+@item @var{a} (alpha component)
2486 2478
 @end table
2487 2479
 
2488 2480
 The expressions can contain the following constants and functions:
2489 2481
new file mode 100644
... ...
@@ -0,0 +1,128 @@
0
+\input texinfo @c -*- texinfo -*-
1
+
2
+@settitle NUT
3
+
4
+@titlepage
5
+@center @titlefont{NUT}
6
+@end titlepage
7
+
8
+@top
9
+
10
+@contents
11
+
12
+@chapter Description
13
+NUT is a low overhead generic container format. It stores audio, video,
14
+subtitle and user-defined streams in a simple, yet efficient, way.
15
+
16
+It was created by a group of FFmpeg and MPlayer developers in 2003
17
+and was finalized in 2008.
18
+
19
+@chapter Container-specific codec tags
20
+
21
+@section Generic raw YUVA formats
22
+
23
+Since many exotic planar YUVA pixel formats are not considered by
24
+the AVI/QuickTime FourCC lists, the following scheme is adopted for
25
+representing them.
26
+
27
+The first two bytes can contain the values:
28
+Y1 = only Y
29
+Y2 = Y+A
30
+Y3 = YUV
31
+Y4 = YUVA
32
+
33
+The third byte represents the width and height chroma subsampling
34
+values for the UV planes, that is the amount to shift the luma
35
+width/height right to find the chroma width/height.
36
+
37
+The fourth byte is the number of bits used (8, 16, ...).
38
+
39
+If the order of bytes is inverted, that means that each component has
40
+to be read big-endian.
41
+
42
+@section Raw Audio
43
+
44
+@multitable @columnfractions .4 .4
45
+@item ALAW  @tab A-LAW
46
+@item ULAW  @tab MU-LAW
47
+@item P<type><interleaving><bits> @tab little-endian PCM
48
+@item <bits><interleaving><type>P @tab big-endian PCM
49
+@end multitable
50
+
51
+<type> is S for signed integer, U for unsigned integer, F for IEEE float
52
+<interleaving> is D for default, as a historical artefact.
53
+<bits> is 8/16/24/32
54
+
55
+@example
56
+PFD[32]   would for example be signed 32 bit little-endian IEEE float
57
+@end example
58
+
59
+@section Subtitles
60
+
61
+@multitable @columnfractions .4 .4
62
+@item UTF8   @tab Raw UTF-8
63
+@item SSA[0] @tab SubStation Alpha
64
+@item DVDS   @tab DVD subtitles
65
+@item DVBS   @tab DVB subtitles
66
+@end multitable
67
+
68
+@section Codecs
69
+
70
+@multitable @columnfractions .4 .4
71
+@item 3IV1 @tab non-compliant MPEG-4 generated by old 3ivx
72
+@item ASV1 @tab Asus Video
73
+@item ASV2 @tab Asus Video 2
74
+@item CVID @tab Cinepak
75
+@item CYUV @tab Creative YUV
76
+@item DIVX @tab non-compliant MPEG-4 generated by old DivX
77
+@item DUCK @tab Truemotion 1
78
+@item FFV1 @tab FFmpeg video 1
79
+@item FFVH @tab FFmpeg Huffyuv
80
+@item H261 @tab ITU H.261
81
+@item H262 @tab ITU H.262
82
+@item H263 @tab ITU H.263
83
+@item H264 @tab ITU H.264
84
+@item HFYU @tab Huffyuv
85
+@item I263 @tab Intel H.263
86
+@item IV31 @tab Indeo 3.1
87
+@item IV32 @tab Indeo 3.2
88
+@item IV50 @tab Indeo 5.0
89
+@item LJPG @tab ITU JPEG (lossless)
90
+@item MJLS @tab ITU JPEG-LS
91
+@item MJPG @tab ITU JPEG
92
+@item MPG4 @tab MS MPEG-4v1 (not ISO MPEG-4)
93
+@item MP42 @tab MS MPEG-4v2
94
+@item MP43 @tab MS MPEG-4v3
95
+@item MP4V @tab ISO MPEG-4 Part 2 Video (from old encoders)
96
+@item mpg1 @tab ISO MPEG-1 Video
97
+@item mpg2 @tab ISO MPEG-2 Video
98
+@item MRLE @tab MS RLE
99
+@item MSVC @tab MS Video 1
100
+@item RT21 @tab Indeo 2.1
101
+@item RV10 @tab RealVideo 1.0
102
+@item RV20 @tab RealVideo 2.0
103
+@item RV30 @tab RealVideo 3.0
104
+@item RV40 @tab RealVideo 4.0
105
+@item SNOW @tab FFmpeg Snow
106
+@item SVQ1 @tab Sorenson Video 1
107
+@item SVQ3 @tab Sorenson Video 3
108
+@item theo @tab Xiph Theora
109
+@item TM20 @tab Truemotion 2.0
110
+@item UMP4 @tab non-compliant MPEG-4 generated by UB Video MPEG-4
111
+@item VCR1 @tab ATI VCR1
112
+@item VP30 @tab VP 3.0
113
+@item VP31 @tab VP 3.1
114
+@item VP50 @tab VP 5.0
115
+@item VP60 @tab VP 6.0
116
+@item VP61 @tab VP 6.1
117
+@item VP62 @tab VP 6.2
118
+@item VP70 @tab VP 7.0
119
+@item WMV1 @tab MS WMV7
120
+@item WMV2 @tab MS WMV8
121
+@item WMV3 @tab MS WMV9
122
+@item WV1F @tab non-compliant MPEG-4 generated by ?
123
+@item WVC1 @tab VC-1
124
+@item XVID @tab non-compliant MPEG-4 generated by old Xvid
125
+@item XVIX @tab non-compliant MPEG-4 generated by old Xvid with interlacing bug
126
+@end multitable
127
+
... ...
@@ -6,73 +6,135 @@ sub FFmpeg_end_section($$)
6 6
 
7 7
 $EXTRA_HEAD =
8 8
 '<link rel="icon" href="favicon.png" type="image/png" />
9
-<link rel="stylesheet" type="text/css" href="default.css" />
10 9
 ';
11 10
 
12
-$CSS_LINES = <<EOT;
11
+$CSS_LINES = $ENV{"FFMPEG_CSS"} || <<EOT;
13 12
 <style type="text/css">
14 13
 <!--
15
-a.summary-letter { text-decoration: none }
16
-a { color: #2D6198; }
17
-a:visited { color: #884488; }
18
-h1 a, h2 a, h3 a { text-decoration: inherit; color: inherit; }
19
-p { margin-left: 1em; margin-right: 1em; }
20
-table { margin-left: 2em; }
21
-pre { margin-left: 2em; }
22
-#footer { text-align: center; }
23
-#body { margin-left: 1em; margin-right: 1em; }
24
-body { background-color: #313131; margin: 0; }
25
-
26
-#container {
27
-    background-color: white;
28
-    color: #202020;
29
-    margin-left: 1em;
30
-    margin-right: 1em;
14
+.container {
15
+  margin-right: auto;
16
+  margin-left: auto;
17
+  width: 1070px;
18
+}
19
+body {
20
+  font-size: 14px;
21
+  line-height: 20px;
22
+  color: #333333;
23
+  background-color: #ffffff;
24
+}
25
+a {
26
+  color: #0088cc;
27
+  text-decoration: none;
28
+}
29
+a:hover {
30
+  color: #005580;
31
+  text-decoration: underline;
32
+}
33
+p {
34
+  margin: 0 0 10px;
35
+}
36
+h2,
37
+h3,
38
+h4 {
39
+  margin: 10px 0;
40
+  font-family: inherit;
41
+  font-weight: bold;
42
+  line-height: 1;
43
+  border-color: #D6E9C6;
44
+  color: #468847;
45
+  border-style: solid;
46
+  border-width: 0 0 1px;
47
+  padding-left: 0.5em;
31 48
 }
32 49
 
50
+h1 a,
51
+h2 a,
52
+h3 a,
53
+h4 a {
54
+  color: inherit;
55
+}
33 56
 h1 {
34
-    background-color: #7BB37B;
35
-    border: 1px solid #6A996A;
36
-    color: #151515;
37
-    font-size: 1.2em;
38
-    padding-bottom: 0.2em;
39
-    padding-left: 0.4em;
40
-    padding-top: 0.2em;
57
+  font-size: 30px;
58
+  line-height: 40px;
41 59
 }
42
-
43 60
 h2 {
44
-    color: #313131;
45
-    font-size: 1.2em;
61
+  font-size: 20px;
62
+  line-height: 40px;
46 63
 }
47
-
48 64
 h3 {
49
-    color: #313131;
50
-    font-size: 0.8em;
51
-    margin-bottom: -8px;
65
+  font-size: 18px;
66
+  line-height: 40px;
67
+}
68
+code,
69
+pre {
70
+  padding: 0 3px 2px;
71
+  font-family: monospace;
72
+  font-size: 12px;
73
+  color: #333333;
74
+  border-radius: 3px;
75
+}
76
+pre {
77
+  display: block;
78
+  padding: 9.5px;
79
+  margin: 0 0 10px;
80
+  font-size: 13px;
81
+  line-height: 20px;
82
+  word-break: break-all;
83
+  word-wrap: break-word;
84
+  white-space: pre;
85
+  white-space: pre-wrap;
86
+  background-color: #f5f5f5;
87
+  border: 1px solid #ccc;
88
+  border-radius: 4px;
52 89
 }
53 90
 
54
-.note {
55
-    margin: 1em;
56
-    border: 1px solid #bbc9d8;
57
-    background-color: #dde1e1;
91
+code {
92
+  padding: 2px 4px;
93
+  color: #d14;
94
+  background-color: #f7f7f9;
95
+  border: 1px solid #e1e1e8;
96
+}
97
+pre code {
98
+  padding: 0;
99
+  color: inherit;
100
+  background-color: transparent;
101
+  border: 0;
102
+}
103
+.alert {
104
+  padding: 8px 35px 8px 14px;
105
+  margin-bottom: 20px;
106
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
107
+  background-color: #fcf8e3;
108
+  border: 1px solid #fbeed5;
109
+  border-radius: 4px;
110
+  color: #c09853;
58 111
 }
59 112
 
60
-.important {
61
-    margin: 1em;
62
-    border: 1px solid #d26767;
63
-    background-color: #f8e1e1;
113
+.alert-danger,
114
+.alert-error {
115
+  background-color: #f2dede;
116
+  border-color: #eed3d7;
117
+  color: #b94a48;
118
+}
119
+.alert-info {
120
+  background-color: #d9edf7;
121
+  border-color: #bce8f1;
122
+  color: #3a87ad;
64 123
 }
65 124
 
125
+ul.toc {
126
+  list-style-type: none;
127
+}
66 128
 -->
67 129
 </style>
68 130
 EOT
69 131
 
70
-my $FFMPEG_NAVBAR = $ENV{"FFMPEG_NAVBAR"} || '';
71
-
72
-$AFTER_BODY_OPEN =
73
-'<div id="container">' .
74
-"\n$FFMPEG_NAVBAR\n" .
75
-'<div id="body">';
132
+my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
133
+<link rel="icon" href="favicon.png" type="image/png" />
134
+</head>
135
+<body>
136
+<div class="container">
137
+EOT
76 138
 
77 139
 $PRE_BODY_CLOSE = '</div></div>';
78 140
 
... ...
@@ -83,9 +145,10 @@ $print_page_foot = \&FFmpeg_print_page_foot;
83 83
 sub FFmpeg_print_page_foot($$)
84 84
 {
85 85
     my $fh = shift;
86
-    print $fh '<div id="footer">' . "\n";
87
-    T2H_DEFAULT_print_page_foot($fh);
88
-    print $fh "</div>\n";
86
+    my $program_string = T2H_DEFAULT_program_string();
87
+    print $fh '<footer class="footer pagination-right">' . "\n";
88
+    print $fh '<span class="label label-info">' . $program_string;
89
+    print $fh "</span></footer></div>\n";
89 90
 }
90 91
 
91 92
 $float = \&FFmpeg_float;
... ...
@@ -107,11 +170,11 @@ sub FFmpeg_float($$$$)
107 107
 
108 108
     if ($caption =~ /NOTE/)
109 109
     {
110
-        $class = "note";
110
+        $class = "alert alert-info";
111 111
     }
112 112
     elsif ($caption =~ /IMPORTANT/)
113 113
     {
114
-        $class = "important";
114
+        $class = "alert alert-warning";
115 115
     }
116 116
 
117 117
     return '<div class="float ' . $class . '">' . "$label\n" . $text . '</div>';
... ...
@@ -134,7 +197,7 @@ sub FFmpeg_print_page_head($$)
134 134
     $longtitle = "FFmpeg documentation : " . $longtitle;
135 135
 
136 136
     print $fh <<EOT;
137
-$DOCTYPE
137
+<!DOCTYPE html>
138 138
 <html>
139 139
 $Texi2HTML::THISDOC{'copying'}<!-- Created on $Texi2HTML::THISDOC{today} by $Texi2HTML::THISDOC{program} -->
140 140
 <!--
... ...
@@ -150,11 +213,7 @@ $description
150 150
 <meta name="Generator" content="$Texi2HTML::THISDOC{program}">
151 151
 $encoding
152 152
 $CSS_LINES
153
-$EXTRA_HEAD
154
-</head>
155
-
156
-<body $BODYTEXT>
157
-$AFTER_BODY_OPEN
153
+$TEMPLATE_HEADER
158 154
 EOT
159 155
 }
160 156
 
... ...
@@ -256,6 +256,6 @@ av_cold void ff_ac3dsp_init(AC3DSPContext *c, int bit_exact)
256 256
 
257 257
     if (ARCH_ARM)
258 258
         ff_ac3dsp_init_arm(c, bit_exact);
259
-    if (HAVE_MMX)
259
+    if (ARCH_X86)
260 260
         ff_ac3dsp_init_x86(c, bit_exact);
261 261
 }
... ...
@@ -546,5 +546,6 @@ av_cold void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx) {
546 546
     c->cavs_idct8_add = cavs_idct8_add_c;
547 547
     c->idct_perm = FF_NO_IDCT_PERM;
548 548
 
549
-    if (HAVE_MMX) ff_cavsdsp_init_mmx(c, avctx);
549
+    if (ARCH_X86)
550
+        ff_cavsdsp_init_x86(c, avctx);
550 551
 }
... ...
@@ -37,6 +37,6 @@ typedef struct CAVSDSPContext {
37 37
 } CAVSDSPContext;
38 38
 
39 39
 void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx);
40
-void ff_cavsdsp_init_mmx(CAVSDSPContext* c, AVCodecContext *avctx);
40
+void ff_cavsdsp_init_x86(CAVSDSPContext* c, AVCodecContext *avctx);
41 41
 
42 42
 #endif /* AVCODEC_CAVSDSP_H */
... ...
@@ -209,8 +209,8 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType inverse)
209 209
     }
210 210
 
211 211
     s->dct32 = ff_dct32_float;
212
-    if (HAVE_MMX)
213
-        ff_dct_init_mmx(s);
212
+    if (ARCH_X86)
213
+        ff_dct_init_x86(s);
214 214
 
215 215
     return 0;
216 216
 }
... ...
@@ -47,6 +47,6 @@ struct DCTContext {
47 47
 int  ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType type);
48 48
 void ff_dct_end (DCTContext *s);
49 49
 
50
-void ff_dct_init_mmx(DCTContext *s);
50
+void ff_dct_init_x86(DCTContext *s);
51 51
 
52 52
 #endif /* AVCODEC_DCT_H */
... ...
@@ -160,7 +160,7 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse)
160 160
 #if CONFIG_FFT_FLOAT
161 161
     if (ARCH_ARM)     ff_fft_init_arm(s);
162 162
     if (HAVE_ALTIVEC) ff_fft_init_altivec(s);
163
-    if (HAVE_MMX)     ff_fft_init_mmx(s);
163
+    if (ARCH_X86)     ff_fft_init_x86(s);
164 164
     if (CONFIG_MDCT)  s->mdct_calcw = s->mdct_calc;
165 165
     if (HAVE_MIPSFPU) ff_fft_init_mips(s);
166 166
 #else
... ...
@@ -135,7 +135,7 @@ int ff_fft_init(FFTContext *s, int nbits, int inverse);
135 135
 
136 136
 #if CONFIG_FFT_FLOAT
137 137
 void ff_fft_init_altivec(FFTContext *s);
138
-void ff_fft_init_mmx(FFTContext *s);
138
+void ff_fft_init_x86(FFTContext *s);
139 139
 void ff_fft_init_arm(FFTContext *s);
140 140
 void ff_fft_init_mips(FFTContext *s);
141 141
 #else
... ...
@@ -85,7 +85,7 @@ av_cold void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx)
85 85
 
86 86
     if (ARCH_ARM) ff_fmt_convert_init_arm(c, avctx);
87 87
     if (HAVE_ALTIVEC) ff_fmt_convert_init_altivec(c, avctx);
88
-    if (HAVE_MMX) ff_fmt_convert_init_x86(c, avctx);
88
+    if (ARCH_X86) ff_fmt_convert_init_x86(c, avctx);
89 89
     if (HAVE_MIPSFPU) ff_fmt_convert_init_mips(c);
90 90
 }
91 91
 
... ...
@@ -130,5 +130,5 @@ void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_fo
130 130
 
131 131
     if (ARCH_ARM) ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc);
132 132
     if (HAVE_ALTIVEC) ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc);
133
-    if (HAVE_MMX) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
133
+    if (ARCH_X86) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
134 134
 }
... ...
@@ -549,5 +549,5 @@ void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth, co
549 549
     }
550 550
 
551 551
     if (ARCH_ARM) ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc);
552
-    if (HAVE_MMX) ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
552
+    if (ARCH_X86) ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
553 553
 }
... ...
@@ -262,7 +262,7 @@ av_cold int ff_lpc_init(LPCContext *s, int blocksize, int max_order,
262 262
     s->lpc_apply_welch_window = lpc_apply_welch_window_c;
263 263
     s->lpc_compute_autocorr   = lpc_compute_autocorr_c;
264 264
 
265
-    if (HAVE_MMX)
265
+    if (ARCH_X86)
266 266
         ff_lpc_init_x86(s);
267 267
 
268 268
     return 0;
... ...
@@ -41,7 +41,7 @@ void ff_mpadsp_init(MPADSPContext *s)
41 41
     s->imdct36_blocks_fixed = ff_imdct36_blocks_fixed;
42 42
 
43 43
     if (ARCH_ARM)     ff_mpadsp_init_arm(s);
44
-    if (HAVE_MMX)     ff_mpadsp_init_mmx(s);
44
+    if (ARCH_X86)     ff_mpadsp_init_x86(s);
45 45
     if (HAVE_ALTIVEC) ff_mpadsp_init_altivec(s);
46 46
     if (HAVE_MIPSFPU)   ff_mpadsp_init_mipsfpu(s);
47 47
     if (HAVE_MIPSDSPR1) ff_mpadsp_init_mipsdspr1(s);
... ...
@@ -56,7 +56,7 @@ void ff_mpa_synth_filter_float(MPADSPContext *s,
56 56
                                float *sb_samples);
57 57
 
58 58
 void ff_mpadsp_init_arm(MPADSPContext *s);
59
-void ff_mpadsp_init_mmx(MPADSPContext *s);
59
+void ff_mpadsp_init_x86(MPADSPContext *s);
60 60
 void ff_mpadsp_init_altivec(MPADSPContext *s);
61 61
 void ff_mpadsp_init_mipsfpu(MPADSPContext *s);
62 62
 void ff_mpadsp_init_mipsdspr1(MPADSPContext *s);
... ...
@@ -44,5 +44,5 @@ void ff_pngdsp_init(PNGDSPContext *dsp)
44 44
     dsp->add_bytes_l2         = add_bytes_l2_c;
45 45
     dsp->add_paeth_prediction = ff_add_png_paeth_prediction;
46 46
 
47
-    if (HAVE_MMX) ff_pngdsp_init_x86(dsp);
47
+    if (ARCH_X86) ff_pngdsp_init_x86(dsp);
48 48
 }
... ...
@@ -75,7 +75,7 @@ void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
75 75
     dsp->idct_put = prores_idct_put_c;
76 76
     dsp->idct_permutation_type = FF_NO_IDCT_PERM;
77 77
 
78
-    if (HAVE_MMX) ff_proresdsp_x86_init(dsp, avctx);
78
+    if (ARCH_X86) ff_proresdsp_x86_init(dsp, avctx);
79 79
 
80 80
     ff_init_scantable_permutation(dsp->idct_permutation,
81 81
                                   dsp->idct_permutation_type);
... ...
@@ -137,6 +137,6 @@ av_cold void ff_rv34dsp_init(RV34DSPContext *c, DSPContext* dsp) {
137 137
 
138 138
     if (HAVE_NEON)
139 139
         ff_rv34dsp_init_neon(c, dsp);
140
-    if (HAVE_MMX)
140
+    if (ARCH_X86)
141 141
         ff_rv34dsp_init_x86(c, dsp);
142 142
 }
... ...
@@ -604,7 +604,7 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c, DSPContext* dsp) {
604 604
     c->rv40_loop_filter_strength[0] = rv40_h_loop_filter_strength;
605 605
     c->rv40_loop_filter_strength[1] = rv40_v_loop_filter_strength;
606 606
 
607
-    if (HAVE_MMX)
607
+    if (ARCH_X86)
608 608
         ff_rv40dsp_init_x86(c, dsp);
609 609
     if (HAVE_NEON)
610 610
         ff_rv40dsp_init_neon(c, dsp);
... ...
@@ -243,6 +243,6 @@ av_cold void ff_sbrdsp_init(SBRDSPContext *s)
243 243
 
244 244
     if (ARCH_ARM)
245 245
         ff_sbrdsp_init_arm(s);
246
-    if (HAVE_MMX)
246
+    if (ARCH_X86)
247 247
         ff_sbrdsp_init_x86(s);
248 248
 }
... ...
@@ -850,6 +850,6 @@ av_cold void ff_vc1dsp_init(VC1DSPContext* dsp) {
850 850
 
851 851
     if (HAVE_ALTIVEC)
852 852
         ff_vc1dsp_init_altivec(dsp);
853
-    if (HAVE_MMX)
854
-        ff_vc1dsp_init_mmx(dsp);
853
+    if (ARCH_X86)
854
+        ff_vc1dsp_init_x86(dsp);
855 855
 }
... ...
@@ -74,6 +74,6 @@ typedef struct VC1DSPContext {
74 74
 
75 75
 void ff_vc1dsp_init(VC1DSPContext* c);
76 76
 void ff_vc1dsp_init_altivec(VC1DSPContext* c);
77
-void ff_vc1dsp_init_mmx(VC1DSPContext* dsp);
77
+void ff_vc1dsp_init_x86(VC1DSPContext* dsp);
78 78
 
79 79
 #endif /* AVCODEC_VC1DSP_H */
... ...
@@ -90,5 +90,5 @@ void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec)
90 90
     }
91 91
 
92 92
     if (ARCH_ARM) ff_vp56dsp_init_arm(s, codec);
93
-    if (HAVE_MMX) ff_vp56dsp_init_x86(s, codec);
93
+    if (ARCH_X86) ff_vp56dsp_init_x86(s, codec);
94 94
 }
... ...
@@ -521,7 +521,7 @@ av_cold void ff_vp8dsp_init(VP8DSPContext *dsp)
521 521
     VP8_BILINEAR_MC_FUNC(1, 8);
522 522
     VP8_BILINEAR_MC_FUNC(2, 4);
523 523
 
524
-    if (HAVE_MMX)
524
+    if (ARCH_X86)
525 525
         ff_vp8dsp_init_x86(dsp);
526 526
     if (HAVE_ALTIVEC)
527 527
         ff_vp8dsp_init_altivec(dsp);
... ...
@@ -1,42 +1,43 @@
1
+OBJS                                   += x86/fmtconvert_init.o
2
+
3
+OBJS-$(CONFIG_AAC_DECODER)             += x86/sbrdsp_init.o
4
+OBJS-$(CONFIG_AC3DSP)                  += x86/ac3dsp_init.o
5
+OBJS-$(CONFIG_CAVS_DECODER)            += x86/cavsdsp.o
1 6
 OBJS-$(CONFIG_DNXHD_ENCODER)           += x86/dnxhdenc.o
7
+OBJS-$(CONFIG_FFT)                     += x86/fft_init.o
8
+OBJS-$(CONFIG_GPL)                     += x86/idct_mmx.o
9
+OBJS-$(CONFIG_H264DSP)                 += x86/h264dsp_init.o
10
+OBJS-$(CONFIG_H264PRED)                += x86/h264_intrapred_init.o
11
+OBJS-$(CONFIG_LPC)                     += x86/lpc.o
2 12
 OBJS-$(CONFIG_MLP_DECODER)             += x86/mlpdsp.o
13
+OBJS-$(CONFIG_MPEGAUDIODSP)            += x86/mpegaudiodec.o
3 14
 OBJS-$(CONFIG_MPEGVIDEO)               += x86/mpegvideo.o
4 15
 OBJS-$(CONFIG_MPEGVIDEOENC)            += x86/mpegvideoenc.o
16
+OBJS-$(CONFIG_PNG_DECODER)             += x86/pngdsp_init.o
17
+OBJS-$(CONFIG_PRORES_LGPL_DECODER)     += x86/proresdsp_init.o
18
+OBJS-$(CONFIG_RV30_DECODER)            += x86/rv34dsp_init.o
19
+OBJS-$(CONFIG_RV40_DECODER)            += x86/rv34dsp_init.o            \
20
+                                          x86/rv40dsp_init.o
21
+OBJS-$(CONFIG_V210_DECODER)            += x86/v210-init.o
5 22
 OBJS-$(CONFIG_TRUEHD_DECODER)          += x86/mlpdsp.o
23
+OBJS-$(CONFIG_VC1_DECODER)             += x86/vc1dsp_init.o
6 24
 OBJS-$(CONFIG_VP3DSP)                  += x86/vp3dsp_init.o
25
+OBJS-$(CONFIG_VP5_DECODER)             += x86/vp56dsp_init.o
26
+OBJS-$(CONFIG_VP6_DECODER)             += x86/vp56dsp_init.o
27
+OBJS-$(CONFIG_VP8_DECODER)             += x86/vp8dsp_init.o
7 28
 OBJS-$(CONFIG_XMM_CLOBBER_TEST)        += x86/w64xmmtest.o
8 29
 
9 30
 MMX-OBJS                               += x86/dsputil_mmx.o             \
10 31
                                           x86/fdct.o                    \
11
-                                          x86/fmtconvert_init.o         \
12 32
                                           x86/idct_mmx_xvid.o           \
13 33
                                           x86/idct_sse2_xvid.o          \
14 34
                                           x86/simple_idct.o             \
15 35
 
16
-MMX-OBJS-$(CONFIG_AAC_DECODER)         += x86/sbrdsp_init.o
17
-MMX-OBJS-$(CONFIG_AC3DSP)              += x86/ac3dsp_init.o
18
-MMX-OBJS-$(CONFIG_CAVS_DECODER)        += x86/cavsdsp.o
19 36
 MMX-OBJS-$(CONFIG_DWT)                 += x86/snowdsp.o \
20 37
                                           x86/dwt.o
21 38
 MMX-OBJS-$(CONFIG_ENCODERS)            += x86/dsputilenc_mmx.o          \
22 39
                                           x86/motion_est.o
23
-MMX-OBJS-$(CONFIG_FFT)                 += x86/fft_init.o
24
-MMX-OBJS-$(CONFIG_GPL)                 += x86/idct_mmx.o
25
-MMX-OBJS-$(CONFIG_H264DSP)             += x86/h264dsp_init.o
26
-MMX-OBJS-$(CONFIG_H264PRED)            += x86/h264_intrapred_init.o
27
-MMX-OBJS-$(CONFIG_LPC)                 += x86/lpc.o
28
-MMX-OBJS-$(CONFIG_MPEGAUDIODSP)        += x86/mpegaudiodec.o
29
-MMX-OBJS-$(CONFIG_PNG_DECODER)         += x86/pngdsp_init.o
30
-MMX-OBJS-$(CONFIG_PRORES_DECODER)      += x86/proresdsp_init.o
31
-MMX-OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp_init.o
32
-MMX-OBJS-$(CONFIG_RV30_DECODER)        += x86/rv34dsp_init.o
33
-MMX-OBJS-$(CONFIG_RV40_DECODER)        += x86/rv34dsp_init.o            \
34
-                                          x86/rv40dsp_init.o
35
-MMX-OBJS-$(CONFIG_V210_DECODER)        += x86/v210-init.o
36 40
 MMX-OBJS-$(CONFIG_VC1_DECODER)         += x86/vc1dsp_mmx.o
37
-MMX-OBJS-$(CONFIG_VP5_DECODER)         += x86/vp56dsp_init.o
38
-MMX-OBJS-$(CONFIG_VP6_DECODER)         += x86/vp56dsp_init.o
39
-MMX-OBJS-$(CONFIG_VP8_DECODER)         += x86/vp8dsp_init.o
40 41
 
41 42
 YASM-OBJS-$(CONFIG_AAC_DECODER)        += x86/sbrdsp.o
42 43
 YASM-OBJS-$(CONFIG_AC3DSP)             += x86/ac3dsp.o
... ...
@@ -25,11 +25,13 @@
25 25
 #include "libavutil/common.h"
26 26
 #include "libavutil/cpu.h"
27 27
 #include "libavutil/x86/asm.h"
28
+#include "libavutil/x86/cpu.h"
28 29
 #include "libavcodec/dsputil.h"
29 30
 #include "libavcodec/cavsdsp.h"
30 31
 #include "dsputil_mmx.h"
32
+#include "config.h"
31 33
 
32
-#if HAVE_INLINE_ASM
34
+#if (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE)
33 35
 
34 36
 /* in/out: mma=mma+mmb, mmb=mmb-mma */
35 37
 #define SUMSUB_BA( a, b ) \
... ...
@@ -433,15 +435,12 @@ static void ff_ ## OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, ui
433 433
 "pavgb " #temp ", " #a "          \n\t"\
434 434
 "mov" #size " " #a ", " #b "      \n\t"
435 435
 
436
-QPEL_CAVS(put_,       PUT_OP, 3dnow)
437
-QPEL_CAVS(avg_, AVG_3DNOW_OP, 3dnow)
436
+#endif /* (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE) */
437
+
438
+#if HAVE_MMXEXT_INLINE
438 439
 QPEL_CAVS(put_,       PUT_OP, mmx2)
439 440
 QPEL_CAVS(avg_,  AVG_MMX2_OP, mmx2)
440 441
 
441
-CAVS_MC(put_, 8, 3dnow)
442
-CAVS_MC(put_, 16,3dnow)
443
-CAVS_MC(avg_, 8, 3dnow)
444
-CAVS_MC(avg_, 16,3dnow)
445 442
 CAVS_MC(put_, 8, mmx2)
446 443
 CAVS_MC(put_, 16,mmx2)
447 444
 CAVS_MC(avg_, 8, mmx2)
... ...
@@ -463,6 +462,16 @@ static void ff_cavsdsp_init_mmx2(CAVSDSPContext* c, AVCodecContext *avctx) {
463 463
     c->cavs_idct8_add = cavs_idct8_add_mmx;
464 464
     c->idct_perm = FF_TRANSPOSE_IDCT_PERM;
465 465
 }
466
+#endif /* HAVE_MMXEXT_INLINE */
467
+
468
+#if HAVE_AMD3DNOW_INLINE
469
+QPEL_CAVS(put_,       PUT_OP, 3dnow)
470
+QPEL_CAVS(avg_, AVG_3DNOW_OP, 3dnow)
471
+
472
+CAVS_MC(put_, 8, 3dnow)
473
+CAVS_MC(put_, 16,3dnow)
474
+CAVS_MC(avg_, 8, 3dnow)
475
+CAVS_MC(avg_, 16,3dnow)
466 476
 
467 477
 static void ff_cavsdsp_init_3dnow(CAVSDSPContext* c, AVCodecContext *avctx) {
468 478
 #define dspfunc(PFX, IDX, NUM) \
... ...
@@ -480,15 +489,16 @@ static void ff_cavsdsp_init_3dnow(CAVSDSPContext* c, AVCodecContext *avctx) {
480 480
     c->cavs_idct8_add = cavs_idct8_add_mmx;
481 481
     c->idct_perm = FF_TRANSPOSE_IDCT_PERM;
482 482
 }
483
+#endif /* HAVE_AMD3DNOW_INLINE */
483 484
 
484
-#endif /* HAVE_INLINE_ASM */
485
-
486
-void ff_cavsdsp_init_mmx(CAVSDSPContext *c, AVCodecContext *avctx)
485
+av_cold void ff_cavsdsp_init_x86(CAVSDSPContext *c, AVCodecContext *avctx)
487 486
 {
488 487
     int mm_flags = av_get_cpu_flags();
489 488
 
490
-#if HAVE_INLINE_ASM
489
+#if HAVE_MMXEXT_INLINE
491 490
     if (mm_flags & AV_CPU_FLAG_MMXEXT) ff_cavsdsp_init_mmx2(c, avctx);
491
+#endif /* HAVE_MMXEXT_INLINE */
492
+#if HAVE_AMD3DNOW_INLINE
492 493
     if (mm_flags & AV_CPU_FLAG_3DNOW) ff_cavsdsp_init_3dnow(c, avctx);
493
-#endif /* HAVE_INLINE_ASM */
494
+#endif /* HAVE_AMD3DNOW_INLINE */
494 495
 }
... ...
@@ -22,7 +22,7 @@
22 22
 #include "libavcodec/dct.h"
23 23
 #include "fft.h"
24 24
 
25
-av_cold void ff_fft_init_mmx(FFTContext *s)
25
+av_cold void ff_fft_init_x86(FFTContext *s)
26 26
 {
27 27
     int has_vectors = av_get_cpu_flags();
28 28
 #if ARCH_X86_32
... ...
@@ -56,7 +56,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s)
56 56
 }
57 57
 
58 58
 #if CONFIG_DCT
59
-av_cold void ff_dct_init_mmx(DCTContext *s)
59
+av_cold void ff_dct_init_x86(DCTContext *s)
60 60
 {
61 61
     int has_vectors = av_get_cpu_flags();
62 62
     if (EXTERNAL_SSE(has_vectors))
... ...
@@ -232,7 +232,7 @@ DECL_IMDCT_BLOCKS(avx,avx)
232 232
 #endif
233 233
 #endif /* HAVE_YASM */
234 234
 
235
-void ff_mpadsp_init_mmx(MPADSPContext *s)
235
+void ff_mpadsp_init_x86(MPADSPContext *s)
236 236
 {
237 237
     int mm_flags = av_get_cpu_flags();
238 238
 
... ...
@@ -195,12 +195,12 @@ void ff_rv40dsp_init_x86(RV34DSPContext *c, DSPContext *dsp)
195 195
     if (EXTERNAL_MMX(mm_flags)) {
196 196
         c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx;
197 197
         c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx;
198
-#if HAVE_INLINE_ASM
198
+#if HAVE_MMX_INLINE
199 199
         c->put_pixels_tab[0][15] = ff_put_rv40_qpel16_mc33_mmx;
200 200
         c->put_pixels_tab[1][15] = ff_put_rv40_qpel8_mc33_mmx;
201 201
         c->avg_pixels_tab[0][15] = ff_avg_rv40_qpel16_mc33_mmx;
202 202
         c->avg_pixels_tab[1][15] = ff_avg_rv40_qpel8_mc33_mmx;
203
-#endif /* HAVE_INLINE_ASM */
203
+#endif /* HAVE_MMX_INLINE */
204 204
 #if ARCH_X86_32
205 205
         QPEL_MC_SET(put_, _mmx)
206 206
 #endif
207 207
new file mode 100644
... ...
@@ -0,0 +1,29 @@
0
+/*
1
+ * VC-1 and WMV3 decoder - X86 DSP init functions
2
+ *
3
+ * This file is part of FFmpeg.
4
+ *
5
+ * FFmpeg is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * FFmpeg is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with FFmpeg; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ */
19
+
20
+#ifndef AVCODEC_X86_VC1DSP_H
21
+#define AVCODEC_X86_VC1DSP_H
22
+
23
+#include "libavcodec/vc1dsp.h"
24
+
25
+void ff_vc1dsp_init_mmx(VC1DSPContext *dsp);
26
+void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp);
27
+
28
+#endif /* AVCODEC_X86_VC1DSP_H */
0 29
new file mode 100644
... ...
@@ -0,0 +1,123 @@
0
+/*
1
+ * VC-1 and WMV3 - DSP functions MMX-optimized
2
+ * Copyright (c) 2007 Christophe GISQUET <christophe.gisquet@free.fr>
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person
5
+ * obtaining a copy of this software and associated documentation
6
+ * files (the "Software"), to deal in the Software without
7
+ * restriction, including without limitation the rights to use,
8
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the
10
+ * Software is furnished to do so, subject to the following
11
+ * conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be
14
+ * included in all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23
+ * OTHER DEALINGS IN THE SOFTWARE.
24
+ */
25
+
26
+#include "libavutil/cpu.h"
27
+#include "libavutil/x86/cpu.h"
28
+#include "libavcodec/vc1dsp.h"
29
+#include "vc1dsp.h"
30
+#include "config.h"
31
+
32
+#define LOOP_FILTER(EXT) \
33
+void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
34
+void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
35
+void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
36
+void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
37
+\
38
+static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
39
+{ \
40
+    ff_vc1_v_loop_filter8_ ## EXT(src,   stride, pq); \
41
+    ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
42
+} \
43
+\
44
+static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
45
+{ \
46
+    ff_vc1_h_loop_filter8_ ## EXT(src,          stride, pq); \
47
+    ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
48
+}
49
+
50
+#if HAVE_YASM
51
+LOOP_FILTER(mmx2)
52
+LOOP_FILTER(sse2)
53
+LOOP_FILTER(ssse3)
54
+
55
+void ff_vc1_h_loop_filter8_sse4(uint8_t *src, int stride, int pq);
56
+
57
+static void vc1_h_loop_filter16_sse4(uint8_t *src, int stride, int pq)
58
+{
59
+    ff_vc1_h_loop_filter8_sse4(src,          stride, pq);
60
+    ff_vc1_h_loop_filter8_sse4(src+8*stride, stride, pq);
61
+}
62
+#endif /* HAVE_YASM */
63
+
64
+void ff_put_vc1_chroma_mc8_mmx_nornd  (uint8_t *dst, uint8_t *src,
65
+                                       int stride, int h, int x, int y);
66
+void ff_avg_vc1_chroma_mc8_mmx2_nornd (uint8_t *dst, uint8_t *src,
67
+                                       int stride, int h, int x, int y);
68
+void ff_avg_vc1_chroma_mc8_3dnow_nornd(uint8_t *dst, uint8_t *src,
69
+                                       int stride, int h, int x, int y);
70
+void ff_put_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
71
+                                       int stride, int h, int x, int y);
72
+void ff_avg_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
73
+                                       int stride, int h, int x, int y);
74
+
75
+
76
+av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
77
+{
78
+    int mm_flags = av_get_cpu_flags();
79
+
80
+    if (INLINE_MMX(mm_flags))
81
+        ff_vc1dsp_init_mmx(dsp);
82
+
83
+    if (INLINE_MMXEXT(mm_flags))
84
+        ff_vc1dsp_init_mmxext(dsp);
85
+
86
+#define ASSIGN_LF(EXT) \
87
+        dsp->vc1_v_loop_filter4  = ff_vc1_v_loop_filter4_ ## EXT; \
88
+        dsp->vc1_h_loop_filter4  = ff_vc1_h_loop_filter4_ ## EXT; \
89
+        dsp->vc1_v_loop_filter8  = ff_vc1_v_loop_filter8_ ## EXT; \
90
+        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_ ## EXT; \
91
+        dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
92
+        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
93
+
94
+#if HAVE_YASM
95
+    if (mm_flags & AV_CPU_FLAG_MMX) {
96
+        dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_mmx_nornd;
97
+    }
98
+
99
+    if (mm_flags & AV_CPU_FLAG_MMXEXT) {
100
+        ASSIGN_LF(mmx2);
101
+        dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_mmx2_nornd;
102
+    } else if (mm_flags & AV_CPU_FLAG_3DNOW) {
103
+        dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_3dnow_nornd;
104
+    }
105
+
106
+    if (mm_flags & AV_CPU_FLAG_SSE2) {
107
+        dsp->vc1_v_loop_filter8  = ff_vc1_v_loop_filter8_sse2;
108
+        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_sse2;
109
+        dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_sse2;
110
+        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse2;
111
+    }
112
+    if (mm_flags & AV_CPU_FLAG_SSSE3) {
113
+        ASSIGN_LF(ssse3);
114
+        dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_ssse3_nornd;
115
+        dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_ssse3_nornd;
116
+    }
117
+    if (mm_flags & AV_CPU_FLAG_SSE4) {
118
+        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_sse4;
119
+        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse4;
120
+    }
121
+#endif /* HAVE_YASM */
122
+}
... ...
@@ -27,9 +27,11 @@
27 27
 #include "libavutil/cpu.h"
28 28
 #include "libavutil/mem.h"
29 29
 #include "libavutil/x86/asm.h"
30
+#include "libavutil/x86/cpu.h"
30 31
 #include "libavcodec/dsputil.h"
31 32
 #include "dsputil_mmx.h"
32 33
 #include "libavcodec/vc1dsp.h"
34
+#include "vc1dsp.h"
33 35
 
34 36
 #if HAVE_INLINE_ASM
35 37
 
... ...
@@ -685,57 +687,8 @@ static void vc1_inv_trans_8x8_dc_mmx2(uint8_t *dest, int linesize, DCTELEM *bloc
685 685
     );
686 686
 }
687 687
 
688
-#endif /* HAVE_INLINE_ASM */
689
-
690
-#define LOOP_FILTER(EXT) \
691
-void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
692
-void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
693
-void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
694
-void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
695
-\
696
-static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
697
-{ \
698
-    ff_vc1_v_loop_filter8_ ## EXT(src,   stride, pq); \
699
-    ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
700
-} \
701
-\
702
-static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
703
-{ \
704
-    ff_vc1_h_loop_filter8_ ## EXT(src,          stride, pq); \
705
-    ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
706
-}
707
-
708
-#if HAVE_YASM
709
-LOOP_FILTER(mmx2)
710
-LOOP_FILTER(sse2)
711
-LOOP_FILTER(ssse3)
712
-
713
-void ff_vc1_h_loop_filter8_sse4(uint8_t *src, int stride, int pq);
714
-
715
-static void vc1_h_loop_filter16_sse4(uint8_t *src, int stride, int pq)
716
-{
717
-    ff_vc1_h_loop_filter8_sse4(src,          stride, pq);
718
-    ff_vc1_h_loop_filter8_sse4(src+8*stride, stride, pq);
719
-}
720
-#endif /* HAVE_YASM */
721
-
722
-void ff_put_vc1_chroma_mc8_mmx_nornd  (uint8_t *dst, uint8_t *src,
723
-                                       int stride, int h, int x, int y);
724
-void ff_avg_vc1_chroma_mc8_mmx2_nornd (uint8_t *dst, uint8_t *src,
725
-                                       int stride, int h, int x, int y);
726
-void ff_avg_vc1_chroma_mc8_3dnow_nornd(uint8_t *dst, uint8_t *src,
727
-                                       int stride, int h, int x, int y);
728
-void ff_put_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
729
-                                       int stride, int h, int x, int y);
730
-void ff_avg_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
731
-                                       int stride, int h, int x, int y);
732
-
733
-void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
688
+av_cold void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
734 689
 {
735
-    int mm_flags = av_get_cpu_flags();
736
-
737
-#if HAVE_INLINE_ASM
738
-    if (mm_flags & AV_CPU_FLAG_MMX) {
739 690
         dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_mmx;
740 691
         dsp->put_vc1_mspel_pixels_tab[ 4] = put_vc1_mspel_mc01_mmx;
741 692
         dsp->put_vc1_mspel_pixels_tab[ 8] = put_vc1_mspel_mc02_mmx;
... ...
@@ -755,12 +708,10 @@ void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
755 755
         dsp->put_vc1_mspel_pixels_tab[ 7] = put_vc1_mspel_mc31_mmx;
756 756
         dsp->put_vc1_mspel_pixels_tab[11] = put_vc1_mspel_mc32_mmx;
757 757
         dsp->put_vc1_mspel_pixels_tab[15] = put_vc1_mspel_mc33_mmx;
758
+}
758 759
 
759
-        if (HAVE_YASM)
760
-            dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_mmx_nornd;
761
-    }
762
-
763
-    if (mm_flags & AV_CPU_FLAG_MMXEXT) {
760
+av_cold void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp)
761
+{
764 762
         dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_vc1_mspel_mc00_mmx2;
765 763
         dsp->avg_vc1_mspel_pixels_tab[ 4] = avg_vc1_mspel_mc01_mmx2;
766 764
         dsp->avg_vc1_mspel_pixels_tab[ 8] = avg_vc1_mspel_mc02_mmx2;
... ...
@@ -785,47 +736,5 @@ void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
785 785
         dsp->vc1_inv_trans_4x8_dc = vc1_inv_trans_4x8_dc_mmx2;
786 786
         dsp->vc1_inv_trans_8x4_dc = vc1_inv_trans_8x4_dc_mmx2;
787 787
         dsp->vc1_inv_trans_4x4_dc = vc1_inv_trans_4x4_dc_mmx2;
788
-
789
-        if (HAVE_YASM)
790
-            dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_mmx2_nornd;
791
-    } else if (HAVE_YASM && mm_flags & AV_CPU_FLAG_3DNOW) {
792
-        dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_3dnow_nornd;
793
-    }
794
-
795
-    if (HAVE_YASM && mm_flags & AV_CPU_FLAG_SSSE3) {
796
-        dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_ssse3_nornd;
797
-        dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_ssse3_nornd;
798
-    }
799
-#endif /* HAVE_INLINE_ASM */
800
-
801
-#define ASSIGN_LF(EXT) \
802
-        dsp->vc1_v_loop_filter4  = ff_vc1_v_loop_filter4_ ## EXT; \
803
-        dsp->vc1_h_loop_filter4  = ff_vc1_h_loop_filter4_ ## EXT; \
804
-        dsp->vc1_v_loop_filter8  = ff_vc1_v_loop_filter8_ ## EXT; \
805
-        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_ ## EXT; \
806
-        dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
807
-        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
808
-
809
-#if HAVE_YASM
810
-    if (mm_flags & AV_CPU_FLAG_MMX) {
811
-    }
812
-
813
-    if (mm_flags & AV_CPU_FLAG_MMXEXT) {
814
-        ASSIGN_LF(mmx2);
815
-    }
816
-
817
-    if (mm_flags & AV_CPU_FLAG_SSE2) {
818
-        dsp->vc1_v_loop_filter8  = ff_vc1_v_loop_filter8_sse2;
819
-        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_sse2;
820
-        dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_sse2;
821
-        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse2;
822
-    }
823
-    if (mm_flags & AV_CPU_FLAG_SSSE3) {
824
-        ASSIGN_LF(ssse3);
825
-    }
826
-    if (mm_flags & AV_CPU_FLAG_SSE4) {
827
-        dsp->vc1_h_loop_filter8  = ff_vc1_h_loop_filter8_sse4;
828
-        dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse4;
829
-    }
830
-#endif /* HAVE_YASM */
831 788
 }
789
+#endif /* HAVE_INLINE_ASM */
... ...
@@ -547,7 +547,7 @@ AVOutputFormat ff_segment_muxer = {
547 547
     .name           = "segment",
548 548
     .long_name      = NULL_IF_CONFIG_SMALL("segment"),
549 549
     .priv_data_size = sizeof(SegmentContext),
550
-    .flags          = AVFMT_GLOBALHEADER | AVFMT_NOFILE,
550
+    .flags          = AVFMT_NOFILE,
551 551
     .write_header   = seg_write_header,
552 552
     .write_packet   = seg_write_packet,
553 553
     .write_trailer  = seg_write_trailer,