Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-08 23:36:14 +0400
committerMichael Niedermayer <michaelni@gmx.at>2012-10-08 23:46:34 +0400
commit52dc18d414f4aa2c5a210edfb82cc1a99942ca3b (patch)
treec2aedd51f56ee49222c76f44b238c16102132db1
parentac627b3d38d370027406c93c2dcaac0b1712a7d4 (diff)
parent7e522859fc463a14875f78957bb57d2f33607d19 (diff)
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>
-rw-r--r--doc/Makefile1
-rw-r--r--doc/doxy/doxy_stylesheet.css1342
-rw-r--r--doc/doxy/footer.html11
-rw-r--r--doc/doxy/header.html14
-rw-r--r--doc/filters.texi36
-rw-r--r--doc/nut.texi128
-rw-r--r--doc/t2h.init173
-rw-r--r--libavcodec/ac3dsp.c2
-rw-r--r--libavcodec/cavsdsp.c3
-rw-r--r--libavcodec/cavsdsp.h2
-rw-r--r--libavcodec/dct.c4
-rw-r--r--libavcodec/dct.h2
-rw-r--r--libavcodec/fft.c2
-rw-r--r--libavcodec/fft.h2
-rw-r--r--libavcodec/fmtconvert.c2
-rw-r--r--libavcodec/h264dsp.c2
-rw-r--r--libavcodec/h264pred.c2
-rw-r--r--libavcodec/lpc.c2
-rw-r--r--libavcodec/mpegaudiodsp.c2
-rw-r--r--libavcodec/mpegaudiodsp.h2
-rw-r--r--libavcodec/pngdsp.c2
-rw-r--r--libavcodec/proresdsp.c2
-rw-r--r--libavcodec/rv34dsp.c2
-rw-r--r--libavcodec/rv40dsp.c2
-rw-r--r--libavcodec/sbrdsp.c2
-rw-r--r--libavcodec/vc1dsp.c4
-rw-r--r--libavcodec/vc1dsp.h2
-rw-r--r--libavcodec/vp56dsp.c2
-rw-r--r--libavcodec/vp8dsp.c2
-rw-r--r--libavcodec/x86/Makefile41
-rw-r--r--libavcodec/x86/cavsdsp.c34
-rw-r--r--libavcodec/x86/fft_init.c4
-rw-r--r--libavcodec/x86/mpegaudiodec.c2
-rw-r--r--libavcodec/x86/rv40dsp_init.c4
-rw-r--r--libavcodec/x86/vc1dsp.h29
-rw-r--r--libavcodec/x86/vc1dsp_init.c123
-rw-r--r--libavcodec/x86/vc1dsp_mmx.c105
-rw-r--r--libavformat/segment.c2
38 files changed, 1635 insertions, 463 deletions
diff --git a/doc/Makefile b/doc/Makefile
index e594c44722..41b0173e07 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -6,6 +6,7 @@ HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
doc/fate.html \
doc/general.html \
doc/git-howto.html \
+ doc/nut.html \
doc/platform.html \
doc/syntax.html \
diff --git a/doc/doxy/doxy_stylesheet.css b/doc/doxy/doxy_stylesheet.css
index ff1e2147d3..63238a2d5c 100644
--- a/doc/doxy/doxy_stylesheet.css
+++ b/doc/doxy/doxy_stylesheet.css
@@ -1,31 +1,1137 @@
-/* The standard CSS for doxygen */
+/*!
+ * Bootstrap v2.1.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+a:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+a:hover,
+a:current {
+ outline: 0;
+}
+img {
+ /* Responsive images (ensure images don't scale beyond their parents) */
-/* @group Heading Levels */
+ max-width: 100%;
+ /* Part 1: Set a maxium relative to the parent */
+
+ width: auto\9;
+ /* IE7-8 need help adjusting responsive images */
+
+ height: auto;
+ /* Part 2: Scale the height according to the width, otherwise you get stretching */
+
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+body {
+ margin: 0;
+ font-family: sans-serif;
+ font-size: 14px;
+ line-height: 20px;
+ color: #333333;
+ background-color: #ffffff;
+}
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+.container {
+ width: 940px;
+}
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ *zoom: 1;
+}
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container:after {
+ clear: both;
+}
+.container-fluid {
+ padding-right: 20px;
+ padding-left: 20px;
+ *zoom: 1;
+}
+small {
+ font-size: 85%;
+}
+strong {
+ font-weight: bold;
+}
+em {
+ font-style: italic;
+}
+cite {
+ font-style: normal;
+}
+.text-warning {
+ color: #c09853;
+}
+.text-error {
+ color: #b94a48;
+}
+.text-info {
+ color: #3a87ad;
+}
+.text-success {
+ color: #468847;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 10px 0;
+ font-family: inherit;
+ font-weight: bold;
+ line-height: 1;
+ color: inherit;
+ text-rendering: optimizelegibility;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+ font-weight: normal;
+ line-height: 1;
+ color: #999999;
+}
h1 {
- font-size: 150%;
+ font-size: 30px;
+ line-height: 40px;
+}
+h2 {
+ font-size: 20px;
+ line-height: 40px;
+}
+h3 {
+ font-size: 18px;
+ line-height: 40px;
+}
+h4 {
+ font-size: 18px;
+ line-height: 20px;
+}
+h5 {
+ font-size: 14px;
+ line-height: 20px;
+}
+h6 {
+ font-size: 12px;
+ line-height: 20px;
+}
+ul,
+ol {
+ padding: 0;
+ margin: 0 0 10px 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+}
+li {
+ line-height: 20px;
+}
+ul.unstyled,
+ol.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+dl {
+ margin-bottom: 20px;
+}
+dt,
+dd {
+ line-height: 20px;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 10px;
+}
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 20px;
+ border-left: 5px solid #eeeeee;
+}
+blockquote p {
+ margin-bottom: 0;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 25px;
+}
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+.fragment,
+code,
+pre {
+ padding: 0 3px 2px;
+ font-family: monospace;
+ font-size: 12px;
+ color: #333333;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.fragment,
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 20px;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+pre code {
+ padding: 0;
+ color: inherit;
+ background-color: transparent;
+ border: 0;
+}
+.label,
+.badge {
+ font-size: 11.844px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ vertical-align: baseline;
+ white-space: nowrap;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #999999;
+}
+.label {
+ padding: 1px 4px 2px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.badge {
+ padding: 1px 9px 2px;
+ -webkit-border-radius: 9px;
+ -moz-border-radius: 9px;
+ border-radius: 9px;
+}
+a.label:hover,
+a.badge:hover {
+ color: #ffffff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.label-important,
+.badge-important {
+ background-color: #b94a48;
+}
+.label-important[href],
+.badge-important[href] {
+ background-color: #953b39;
+}
+.label-warning,
+.badge-warning {
+ background-color: #f89406;
+}
+.label-warning[href],
+.badge-warning[href] {
+ background-color: #c67605;
+}
+.label-success,
+.badge-success {
+ background-color: #468847;
+}
+.label-success[href],
+.badge-success[href] {
+ background-color: #356635;
+}
+.label-info,
+.badge-info {
+ background-color: #3a87ad;
+}
+.label-info[href],
+.badge-info[href] {
+ background-color: #2d6987;
+}
+.label-inverse,
+.badge-inverse {
+ background-color: #333333;
+}
+.label-inverse[href],
+.badge-inverse[href] {
+ background-color: #1a1a1a;
+}
+table {
+ max-width: 100%;
+ background-color: transparent;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+table [class*=span],
+.row-fluid table [class*=span] {
+ display: table-cell;
+ float: none;
+ margin-left: 0;
+}
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 20px;
+ font-size: 21px;
+ line-height: 40px;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+legend small {
+ font-size: 15px;
+ color: #999999;
+}
+label,
+input,
+button,
+select,
+textarea {
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 20px;
+}
+input,
+button,
+select,
+textarea {
+ font-family: sans-serif;
+}
+label {
+ display: block;
+ margin-bottom: 5px;
+}
+
+.tablist {
+ margin-left: 0;
+ margin-bottom: 20px;
+ list-style: none;
+}
+.tablist > li > a {
+ display: block;
+}
+.tablist > li > a:hover {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+.tablist > .pull-right {
+ float: right;
+}
+.tablist-header {
+ display: block;
+ padding: 3px 15px;
+ font-size: 11px;
+ font-weight: bold;
+ line-height: 20px;
+ color: #999999;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ text-transform: uppercase;
+}
+.tablist li + .tablist-header {
+ margin-top: 9px;
+}
+.tablist-list {
+ padding-left: 15px;
+ padding-right: 15px;
+ margin-bottom: 0;
+}
+.tablist-list > li > a,
+.tablist-list .tablist-header {
+ margin-left: -15px;
+ margin-right: -15px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.tablist-list > li > a {
+ padding: 3px 15px;
+}
+.tablist-list > .current > a,
+.tablist-list > .current > a:hover {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ background-color: #0088cc;
+}
+.tablist-list [class^="icon-"] {
+ margin-right: 2px;
+}
+.tablist-list .divider {
+ *width: 100%;
+ height: 1px;
+ margin: 9px 1px;
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+.tablist-tabs,
+.tablist {
+ *zoom: 1;
+}
+.tablist-tabs:before,
+.tablist:before,
+.tablist-tabs:after,
+.tablist:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.tablist-tabs:after,
+.tablist:after {
+ clear: both;
+}
+.tablist-tabs > li,
+.tablist > li {
+ float: left;
+}
+.tablist-tabs > li > a,
+.tablist > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px;
+}
+.tablist-tabs {
+ border-bottom: 1px solid #ddd;
+}
+.tablist-tabs > li {
+ margin-bottom: -1px;
+}
+.tablist-tabs > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ line-height: 20px;
+ border: 1px solid transparent;
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.tablist-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+.tablist-tabs > .current > a,
+.tablist-tabs > .current > a:hover {
+ color: #555555;
+ background-color: #ffffff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+.tablist > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.tablist > .current > a,
+.tablist > .current > a:hover {
+ color: #ffffff;
+ background-color: #0088cc;
+}
+.tablist-stacked > li {
+ float: none;
+}
+.tablist-stacked > li > a {
+ margin-right: 0;
+}
+.tablist-tabs.tablist-stacked {
+ border-bottom: 0;
+}
+.tablist-tabs.tablist-stacked > li > a {
+ border: 1px solid #ddd;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.tablist-tabs.tablist-stacked > li:first-child > a {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+}
+.tablist-tabs.tablist-stacked > li:last-child > a {
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.tablist-tabs.tablist-stacked > li > a:hover {
+ border-color: #ddd;
+ z-index: 2;
+}
+.tablist.tablist-stacked > li > a {
+ margin-bottom: 3px;
+}
+.tablist.tablist-stacked > li:last-child > a {
+ margin-bottom: 1px;
+}
+.tablist-tabs .dropdown-menu {
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+}
+.tablist .dropdown-menu {
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.tablist .dropdown-toggle .caret {
+ border-top-color: #0088cc;
+ border-bottom-color: #0088cc;
+ margin-top: 6px;
+}
+.tablist .dropdown-toggle:hover .caret {
+ border-top-color: #005580;
+ border-bottom-color: #005580;
+}
+/* move down carets for tabs */
+.tablist-tabs .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+.tablist .current .dropdown-toggle .caret {
+ border-top-color: #fff;
+ border-bottom-color: #fff;
+}
+.tablist-tabs .current .dropdown-toggle .caret {
+ border-top-color: #555555;
+ border-bottom-color: #555555;
+}
+.tablist > .dropdown.current > a:hover {
+ cursor: pointer;
+}
+.tablist-tabs .open .dropdown-toggle,
+.tablist .open .dropdown-toggle,
+.tablist > li.dropdown.open.current > a:hover {
+ color: #ffffff;
+ background-color: #999999;
+ border-color: #999999;
+}
+.tablist li.dropdown.open .caret,
+.tablist li.dropdown.open.current .caret,
+.tablist li.dropdown.open a:hover .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.tabs-stacked .open > a:hover {
+ border-color: #999999;
+}
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+ display: none;
+}
+.tab-content > .current,
+.pill-content > .current {
+ display: block;
+}
+.tabs-below > .tablist-tabs {
+ border-top: 1px solid #ddd;
+}
+.tabs-below > .tablist-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+.tabs-below > .tablist-tabs > li > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+.tabs-below > .tablist-tabs > li > a:hover {
+ border-bottom-color: transparent;
+ border-top-color: #ddd;
+}
+.tabs-below > .tablist-tabs > .current > a,
+.tabs-below > .tablist-tabs > .current > a:hover {
+ border-color: transparent #ddd #ddd #ddd;
+}
+.tabs-left > .tablist-tabs > li,
+.tabs-right > .tablist-tabs > li {
+ float: none;
+}
+.tabs-left > .tablist-tabs > li > a,
+.tabs-right > .tablist-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+.tabs-left > .tablist-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+.tabs-left > .tablist-tabs > li > a {
+ margin-right: -1px;
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.tabs-left > .tablist-tabs > li > a:hover {
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+.tabs-left > .tablist-tabs .current > a,
+.tabs-left > .tablist-tabs .current > a:hover {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: #ffffff;
+}
+.tabs-right > .tablist-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+.tabs-right > .tablist-tabs > li > a {
+ margin-left: -1px;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.tabs-right > .tablist-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+.tabs-right > .tablist-tabs .current > a,
+.tabs-right > .tablist-tabs .current > a:hover {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: #ffffff;
+}
+.tablist > .disabled > a {
+ color: #999999;
+}
+.tablist > .disabled > a:hover {
+ text-decoration: none;
+ background-color: transparent;
+ cursor: default;
+}
+.tablistbar {
+ overflow: visible;
+ margin-bottom: 20px;
+ color: #ffffff;
+ *position: relative;
+ *z-index: 2;
+}
+.tablistbar-inner {
+ min-height: 40px;
+ padding-left: 20px;
+ padding-right: 20px;
+ background-color: #034c03;
+ background-image: -moz-linear-gradient(top, #024002, #045f04);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#024002), to(#045f04));
+ background-image: -webkit-linear-gradient(top, #024002, #045f04);
+ background-image: -o-linear-gradient(top, #024002, #045f04);
+ background-image: linear-gradient(to bottom, #024002, #045f04);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff024002', endColorstr='#ff045f04', GradientType=0);
+ border: 1px solid #022402;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ *zoom: 1;
+}
+.tablistbar-inner:before,
+.tablistbar-inner:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.tablistbar-inner:after {
+ clear: both;
+}
+.tablistbar .container {
+ width: auto;
+}
+.tablist-collapse.collapse {
+ height: auto;
+}
+.tablistbar .brand {
+ float: left;
+ display: block;
+ padding: 10px 20px 10px;
+ margin-left: -20px;
+ font-size: 20px;
+ font-weight: 200;
+ color: #ffffff;
+ text-shadow: 0 1px 0 #024002;
+}
+.tablistbar .brand:hover {
+ text-decoration: none;
+}
+.tablistbar-text {
+ margin-bottom: 0;
+ line-height: 40px;
+}
+.tablistbar-link {
+ color: #ffffff;
+}
+.tablistbar-link:hover {
+ color: #333333;
+}
+.tablistbar .tablist {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+.tablistbar .tablist.pull-right {
+ float: right;
+ margin-right: 0;
+}
+.tablistbar .tablist > li {
+ float: left;
+}
+.tablistbar .tablist > li > a {
+ float: none;
+ padding: 10px 15px 10px;
+ color: #ffffff;
+ text-decoration: none;
+ text-shadow: 0 1px 0 #024002;
+}
+.tablistbar .tablist .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+.tablistbar .tablist > li > a:focus,
+.tablistbar .tablist > li > a:hover {
+ background-color: transparent;
+ color: white;
+ text-decoration: none;
+}
+.tablistbar .tablist > .current > a,
+.tablistbar .tablist > .current > a:hover,
+.tablistbar .tablist > .current > a:focus {
+ color: #555555;
+ text-decoration: none;
+ background-color: #034703;
+ -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+ -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+}
+.tablistbar .btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-left: 5px;
+ margin-right: 5px;
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #023402;
+ background-image: -moz-linear-gradient(top, #012701, #034703);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#012701), to(#034703));
+ background-image: -webkit-linear-gradient(top, #012701, #034703);
+ background-image: -o-linear-gradient(top, #012701, #034703);
+ background-image: linear-gradient(to bottom, #012701, #034703);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff012701', endColorstr='#ff034703', GradientType=0);
+ border-color: #034703 #034703 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #034703;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+.tablistbar .tablist > li > .dropdown-menu:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+ top: -7px;
+ left: 9px;
+}
+.tablistbar .tablist > li > .dropdown-menu:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #ffffff;
+ position: absolute;
+ top: -6px;
+ left: 10px;
+}
+.tablistbar .tablist li.dropdown.open > .dropdown-toggle,
+.tablistbar .tablist li.dropdown.current > .dropdown-toggle,
+.tablistbar .tablist li.dropdown.open.current > .dropdown-toggle {
+ background-color: #034703;
+ color: #555555;
+}
+.tablistbar .tablist li.dropdown > .dropdown-toggle .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+.tablistbar .tablist li.dropdown.open > .dropdown-toggle .caret,
+.tablistbar .tablist li.dropdown.current > .dropdown-toggle .caret,
+.tablistbar .tablist li.dropdown.open.current > .dropdown-toggle .caret {
+ border-top-color: #555555;
+ border-bottom-color: #555555;
+}
+.tablistbar .pull-right > li > .dropdown-menu,
+.tablistbar .tablist > li > .dropdown-menu.pull-right {
+ left: auto;
+ right: 0;
+}
+.tablistbar .pull-right > li > .dropdown-menu:before,
+.tablistbar .tablist > li > .dropdown-menu.pull-right:before {
+ left: auto;
+ right: 12px;
+}
+.tablistbar .pull-right > li > .dropdown-menu:after,
+.tablistbar .tablist > li > .dropdown-menu.pull-right:after {
+ left: auto;
+ right: 13px;
+}
+.tablistbar .pull-right > li > .dropdown-menu .dropdown-menu,
+.tablistbar .tablist > li > .dropdown-menu.pull-right .dropdown-menu {
+ left: auto;
+ right: 100%;
+ margin-left: 0;
+ margin-right: -1px;
+ -webkit-border-radius: 6px 0 6px 6px;
+ -moz-border-radius: 6px 0 6px 6px;
+ border-radius: 6px 0 6px 6px;
+}
+.breadcrumb {
+ padding: 8px 15px;
+ margin: 0 0 20px;
+ list-style: none;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.breadcrumb li {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb .divider {
+ padding: 0 5px;
+ color: #ccc;
+}
+.breadcrumb .current {
+ color: #999999;
+}
+.pagination-right {
+ text-align: right;
+}
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -moz-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+.fade.in {
+ opacity: 1;
+}
+.collapse {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ -moz-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+.collapse.in {
+ height: auto;
+}
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+.visible-phone {
+ display: none !important;
+}
+.visible-tablet {
+ display: none !important;
+}
+.hidden-desktop {
+ display: none !important;
+}
+.visible-desktop {
+ display: inherit !important;
+}
+@media (min-width: 768px) and (max-width: 979px) {
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important ;
+ }
+ .visible-tablet {
+ display: inherit !important;
+ }
+ .hidden-tablet {
+ display: none !important;
+ }
+}
+@media (max-width: 767px) {
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important;
+ }
+ .visible-phone {
+ display: inherit !important;
+ }
+ .hidden-phone {
+ display: none !important;
+ }
+}
+@media (max-width: 767px) {
+ body {
+ padding-left: 20px;
+ padding-right: 20px;
+ }
+ .container {
+ width: auto;
+ }
+ .row,
+ .thumbnails {
+ margin-left: 0;
+ }
+}
+@media (max-width: 480px) {
+ .tablist-collapse {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+ .page-header h1 small {
+ display: block;
+ line-height: 20px;
+ }
+}
+@media (min-width: 768px) and (max-width: 979px) {
+ .row {
+ margin-left: -20px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 20px;
+ }
+ .container {
+ width: 724px;
+ }
+}
+@media (min-width: 1200px) {
+ .row {
+ margin-left: -30px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 30px;
+ }
+ .container {
+ width: 1070px;
+ }
+}
+@media (max-width: 979px) {
+ body {
+ padding-top: 0;
+ }
+}
+@media (min-width: 980px) {
+ .tablist-collapse.collapse {
+ height: auto !important;
+ overflow: visible !important;
+ }
+}
+.tablistbar .brand {
+ padding: 5px;
+ margin-left: 0;
+}
+.tablistbar .brand img {
+ width: 30px;
+ vertical-align: middle;
}
+h1 small {
+ font-size: 18px;
+}
+
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.page-header small {
+ line-height: 0.8;
+ font-weight: normal;
+ color: #999999;
+ display:block;
+ vertical-align: middle;
+}
+
+.page-header h1, h1:first-child {
+ font-size: 40px;
+ padding-bottom: 5px;
+}
+
+.page-header h1 {
+ border-bottom: 1px solid #999999;
+ padding-bottom: 9px;
+}
+
+.page-header img {
+ height: 80px;
+ padding-bottom: 5px;
+}
+
+.page-header small {
+ line-height: 1.1;
+ font-size: 18px;
+}
+
+h2,
+h3,
+h4,
+div.ah,
.title {
- font-weight: bold;
- margin: 10px 2px;
- background-color: #7BB37B;
- border: 1px solid #6A996A;
- color: #151515;
- font-size: 1.2em;
- padding-bottom: 0.2em;
- padding-left: 0.4em;
- padding-top: 0.2em;
+ border-color: #D6E9C6;
+ color: #468847;
+ border-style: solid;
+ border-width: 0 0 1px;
+ padding-left: 0.5em;
}
-h2 {
- font-size: 120%;
+
+.google {
+ color: white;
}
-h3 {
- font-size: 100%;
+.breadcrumb {
+ font-size: 11px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+h1 a,
+h2 a,
+h3 a,
+h4 a {
+ color: inherit;
+}
+
+.tablistbar-inner a {
+ font-weight: bold;
+}
+
+.list-2panes:before,
+.list-2panes:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+
+.list-2panes:after {
+ clear:both;
+}
+
+.list-2panes li {
+ width: 470px;
+ width: 470px;
+ float: left;
+ margin-left: 30px;
+ min-height: 1px;
}
+/* The standard CSS for doxygen */
+
+/* @group Heading Levels */
+
dt {
font-weight: bold;
@@ -70,18 +1176,18 @@ h3.version {
text-align: center;
}
-div.qindex, div.navtab{
+div.qindex, div.tablisttab{
background-color: #EBF6EB;
border: 1px solid #A3D7A3;
text-align: center;
}
-div.qindex, div.navpath {
+div.qindex, div.tablistpath {
width: 100%;
line-height: 140%;
}
-div.navtab {
+div.tablisttab {
margin-right: 15px;
}
@@ -153,24 +1259,6 @@ pre.fragment {
line-height: 125%;
}
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- box-shadow: 2px 2px 3px #999;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
@@ -189,21 +1277,10 @@ div.contents {
}
td.indexkey {
- background-color: #EBF6EB;
- font-weight: bold;
- border: 1px solid #C4E5C4;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
- white-space: nowrap;
- vertical-align: top;
+ white-space: nowrap;
+ vertical-align: top;
}
-td.indexvalue {
- background-color: #EBF6EB;
- border: 1px solid #C4E5C4;
- padding: 2px 10px;
- margin: 2px 0px;
-}
tr.memlist {
background-color: #EEF7EE;
@@ -696,7 +1773,7 @@ table.fieldtable {
font-size: 13px;
}
-.navpath ul
+.tablistpath ul
{
font-size: 11px;
background-image:url('tab_b.png');
@@ -710,7 +1787,7 @@ table.fieldtable {
padding:0px;
}
-.navpath li
+.tablistpath li
{
list-style-type:none;
float:left;
@@ -722,7 +1799,7 @@ table.fieldtable {
color:#367C36;
}
-.navpath li.navelem a
+.tablistpath li.tablistelem a
{
height:32px;
display:block;
@@ -730,12 +1807,12 @@ table.fieldtable {
outline: none;
}
-.navpath li.navelem a:hover
+.tablistpath li.tablistelem a:hover
{
color:#68BD68;
}
-.navpath li.footer
+.tablistpath li.footer
{
list-style-type:none;
float:right;
@@ -937,161 +2014,6 @@ dl.citelist dd {
}
}
-/* tabs */
-
-.tabs, .tabs2, .tabs3 {
- z-index: 101;
-}
-
-.tablist {
- margin: auto;
- display: table;
-}
-
-.tablist li {
- float: left;
- display: table-cell;
- list-style: none;
- margin:0 4px;
-}
-
-.tablist a {
- display: block;
- padding: 0 0.3em;
- color: #285D28;
- text-decoration: none;
- outline: none;
-}
-
-.tabs3 .tablist a {
- padding-left: 10px;
-}
-
-
-/* libav.org stylesheet */
-
-a {
- color: #2D6198;
-}
-
-a:visited {
- color: #884488;
-}
-
-h1 a, h2 a, h3 a {
- text-decoration: inherit;
- color: inherit;
-}
-
-#body {
- margin: 0 1em;
-}
-
-body {
- background-color: #313131;
- margin: 0;
-}
-
-.center {
- margin-left: auto;
- margin-right: auto;
- text-align: center;
-}
-
-#container {
- background-color: white;
- color: #202020;
- margin-left: 1em;
- margin-right: 1em;
-}
-
-h1 {
- background-color: #7BB37B;
- border: 1px solid #6A996A;
- color: #151515;
- font-size: 1.2em;
- padding-bottom: 0.2em;
- padding-left: 0.4em;
- padding-top: 0.2em;
-}
-
-h2 {
- color: #313131;
- font-size: 1.2em;
-}
-
-h3 {
- color: #313131;
- font-size: 0.8em;
- margin-bottom: -8px;
-}
-
-img {
- border: 0;
-}
-
-.tabs {
- margin-top: 12px;
- border-top: 1px solid #5C665C;
-}
-
-.tabs, .tabs2, .tabs3, .tabs4 {
- background-color: #738073;
- border-bottom: 1px solid #5C665C;
- border-left: 1px solid #5C665C;
- border-right: 1px solid #5C665C;
- position: relative;
- text-align: center;
-}
-
-.tabs a,
-.tabs2 a,
-.tabs3 a,
-.tabs4 a {
- color: white;
- padding: 0.3em;
- text-decoration: none;
-}
-
-
-.tabs ul,
-.tabs2 ul,
-.tabs3 ul,
-.tabs4 ul {
- padding: 0;
-}
-
-.tabs li.current a,
-.tabs2 li.current a,
-.tabs3 li.current a,
-.tabs4 li.current a {
- background-color: #414141;
- color: white;
- text-decoration: none;
-}
-
-.tabs a:hover,
-.tabs2 a:hover,
-.tabs3 a:hover,
-.tabs4 a:hover {
- background-color: #313131 !important;
- color: white;
- text-decoration: none;
-}
-
-p {
- margin-left: 1em;
- margin-right: 1em;
-}
-
-table {
- margin-left: 2em;
-}
-
-pre {
- margin-left: 2em;
-}
-
#proj_desc {
font-size: 1.2em;
}
diff --git a/doc/doxy/footer.html b/doc/doxy/footer.html
index 721735164a..101e6fe70b 100644
--- a/doc/doxy/footer.html
+++ b/doc/doxy/footer.html
@@ -1,10 +1,9 @@
- </div>
-
- <div id="footer">
- Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
- </div>
+ <footer class="footer pagination-right">
+ <span class="label label-info">
+ Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
+ </span>
+ </footer>
</div>
-
</body>
</html>
diff --git a/doc/doxy/header.html b/doc/doxy/header.html
index 9e57c98e42..312990cdbc 100644
--- a/doc/doxy/header.html
+++ b/doc/doxy/header.html
@@ -1,14 +1,16 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath$doxy_stylesheet.css" rel="stylesheet" type="text/css" />
+<!--Header replace -->
+
</head>
-<div id="container">
+<div class="container">
-<div id="body">
- <div>
+<!--Header replace -->
+<div class="menu">
diff --git a/doc/filters.texi b/doc/filters.texi
index f7f9ee70b1..725c7b5d84 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -2446,14 +2446,10 @@ corresponding pixel component values.
The @var{lut} filter requires either YUV or RGB pixel formats in
input, and accepts the options:
@table @option
-@item c0
-first pixel component
-@item c1
-second pixel component
-@item c2
-third pixel component
-@item c3
-fourth pixel component, corresponds to the alpha component
+@item @var{c0} (first pixel component)
+@item @var{c1} (second pixel component)
+@item @var{c2} (third pixel component)
+@item @var{c3} (fourth pixel component, corresponds to the alpha component)
@end table
The exact component associated to each option depends on the format in
@@ -2462,27 +2458,19 @@ input.
The @var{lutrgb} filter requires RGB pixel formats in input, and
accepts the options:
@table @option
-@item r
-red component
-@item g
-green component
-@item b
-blue component
-@item a
-alpha component
+@item @var{r} (red component)
+@item @var{g} (green component)
+@item @var{b} (blue component)
+@item @var{a} (alpha component)
@end table
The @var{lutyuv} filter requires YUV pixel formats in input, and
accepts the options:
@table @option
-@item y
-Y/luminance component
-@item u
-U/Cb component
-@item v
-V/Cr component
-@item a
-alpha component
+@item @var{y} (Y/luminance component)
+@item @var{u} (U/Cb component)
+@item @var{v} (V/Cr component)
+@item @var{a} (alpha component)
@end table
The expressions can contain the following constants and functions:
diff --git a/doc/nut.texi b/doc/nut.texi
new file mode 100644
index 0000000000..dafbb392e7
--- /dev/null
+++ b/doc/nut.texi
@@ -0,0 +1,128 @@
+\input texinfo @c -*- texinfo -*-
+
+@settitle NUT
+
+@titlepage
+@center @titlefont{NUT}
+@end titlepage
+
+@top
+
+@contents
+
+@chapter Description
+NUT is a low overhead generic container format. It stores audio, video,
+subtitle and user-defined streams in a simple, yet efficient, way.
+
+It was created by a group of FFmpeg and MPlayer developers in 2003
+and was finalized in 2008.
+
+@chapter Container-specific codec tags
+
+@section Generic raw YUVA formats
+
+Since many exotic planar YUVA pixel formats are not considered by
+the AVI/QuickTime FourCC lists, the following scheme is adopted for
+representing them.
+
+The first two bytes can contain the values:
+Y1 = only Y
+Y2 = Y+A
+Y3 = YUV
+Y4 = YUVA
+
+The third byte represents the width and height chroma subsampling
+values for the UV planes, that is the amount to shift the luma
+width/height right to find the chroma width/height.
+
+The fourth byte is the number of bits used (8, 16, ...).
+
+If the order of bytes is inverted, that means that each component has
+to be read big-endian.
+
+@section Raw Audio
+
+@multitable @columnfractions .4 .4
+@item ALAW @tab A-LAW
+@item ULAW @tab MU-LAW
+@item P<type><interleaving><bits> @tab little-endian PCM
+@item <bits><interleaving><type>P @tab big-endian PCM
+@end multitable
+
+<type> is S for signed integer, U for unsigned integer, F for IEEE float
+<interleaving> is D for default, as a historical artefact.
+<bits> is 8/16/24/32
+
+@example
+PFD[32] would for example be signed 32 bit little-endian IEEE float
+@end example
+
+@section Subtitles
+
+@multitable @columnfractions .4 .4
+@item UTF8 @tab Raw UTF-8
+@item SSA[0] @tab SubStation Alpha
+@item DVDS @tab DVD subtitles
+@item DVBS @tab DVB subtitles
+@end multitable
+
+@section Codecs
+
+@multitable @columnfractions .4 .4
+@item 3IV1 @tab non-compliant MPEG-4 generated by old 3ivx
+@item ASV1 @tab Asus Video
+@item ASV2 @tab Asus Video 2
+@item CVID @tab Cinepak
+@item CYUV @tab Creative YUV
+@item DIVX @tab non-compliant MPEG-4 generated by old DivX
+@item DUCK @tab Truemotion 1
+@item FFV1 @tab FFmpeg video 1
+@item FFVH @tab FFmpeg Huffyuv
+@item H261 @tab ITU H.261
+@item H262 @tab ITU H.262
+@item H263 @tab ITU H.263
+@item H264 @tab ITU H.264
+@item HFYU @tab Huffyuv
+@item I263 @tab Intel H.263
+@item IV31 @tab Indeo 3.1
+@item IV32 @tab Indeo 3.2
+@item IV50 @tab Indeo 5.0
+@item LJPG @tab ITU JPEG (lossless)
+@item MJLS @tab ITU JPEG-LS
+@item MJPG @tab ITU JPEG
+@item MPG4 @tab MS MPEG-4v1 (not ISO MPEG-4)
+@item MP42 @tab MS MPEG-4v2
+@item MP43 @tab MS MPEG-4v3
+@item MP4V @tab ISO MPEG-4 Part 2 Video (from old encoders)
+@item mpg1 @tab ISO MPEG-1 Video
+@item mpg2 @tab ISO MPEG-2 Video
+@item MRLE @tab MS RLE
+@item MSVC @tab MS Video 1
+@item RT21 @tab Indeo 2.1
+@item RV10 @tab RealVideo 1.0
+@item RV20 @tab RealVideo 2.0
+@item RV30 @tab RealVideo 3.0
+@item RV40 @tab RealVideo 4.0
+@item SNOW @tab FFmpeg Snow
+@item SVQ1 @tab Sorenson Video 1
+@item SVQ3 @tab Sorenson Video 3
+@item theo @tab Xiph Theora
+@item TM20 @tab Truemotion 2.0
+@item UMP4 @tab non-compliant MPEG-4 generated by UB Video MPEG-4
+@item VCR1 @tab ATI VCR1
+@item VP30 @tab VP 3.0
+@item VP31 @tab VP 3.1
+@item VP50 @tab VP 5.0
+@item VP60 @tab VP 6.0
+@item VP61 @tab VP 6.1
+@item VP62 @tab VP 6.2
+@item VP70 @tab VP 7.0
+@item WMV1 @tab MS WMV7
+@item WMV2 @tab MS WMV8
+@item WMV3 @tab MS WMV9
+@item WV1F @tab non-compliant MPEG-4 generated by ?
+@item WVC1 @tab VC-1
+@item XVID @tab non-compliant MPEG-4 generated by old Xvid
+@item XVIX @tab non-compliant MPEG-4 generated by old Xvid with interlacing bug
+@end multitable
+
diff --git a/doc/t2h.init b/doc/t2h.init
index 1eb6658a6b..40e77f85d9 100644
--- a/doc/t2h.init
+++ b/doc/t2h.init
@@ -6,73 +6,135 @@ sub FFmpeg_end_section($$)
$EXTRA_HEAD =
'<link rel="icon" href="favicon.png" type="image/png" />
-<link rel="stylesheet" type="text/css" href="default.css" />
';
-$CSS_LINES = <<EOT;
+$CSS_LINES = $ENV{"FFMPEG_CSS"} || <<EOT;
<style type="text/css">
<!--
-a.summary-letter { text-decoration: none }
-a { color: #2D6198; }
-a:visited { color: #884488; }
-h1 a, h2 a, h3 a { text-decoration: inherit; color: inherit; }
-p { margin-left: 1em; margin-right: 1em; }
-table { margin-left: 2em; }
-pre { margin-left: 2em; }
-#footer { text-align: center; }
-#body { margin-left: 1em; margin-right: 1em; }
-body { background-color: #313131; margin: 0; }
-
-#container {
- background-color: white;
- color: #202020;
- margin-left: 1em;
- margin-right: 1em;
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ width: 1070px;
+}
+body {
+ font-size: 14px;
+ line-height: 20px;
+ color: #333333;
+ background-color: #ffffff;
+}
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+p {
+ margin: 0 0 10px;
+}
+h2,
+h3,
+h4 {
+ margin: 10px 0;
+ font-family: inherit;
+ font-weight: bold;
+ line-height: 1;
+ border-color: #D6E9C6;
+ color: #468847;
+ border-style: solid;
+ border-width: 0 0 1px;
+ padding-left: 0.5em;
}
+h1 a,
+h2 a,
+h3 a,
+h4 a {
+ color: inherit;
+}
h1 {
- background-color: #7BB37B;
- border: 1px solid #6A996A;
- color: #151515;
- font-size: 1.2em;
- padding-bottom: 0.2em;
- padding-left: 0.4em;
- padding-top: 0.2em;
+ font-size: 30px;
+ line-height: 40px;
}
-
h2 {
- color: #313131;
- font-size: 1.2em;
+ font-size: 20px;
+ line-height: 40px;
}
-
h3 {
- color: #313131;
- font-size: 0.8em;
- margin-bottom: -8px;
+ font-size: 18px;
+ line-height: 40px;
+}
+code,
+pre {
+ padding: 0 3px 2px;
+ font-family: monospace;
+ font-size: 12px;
+ color: #333333;
+ border-radius: 3px;
+}
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 20px;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border-radius: 4px;
}
-.note {
- margin: 1em;
- border: 1px solid #bbc9d8;
- background-color: #dde1e1;
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+pre code {
+ padding: 0;
+ color: inherit;
+ background-color: transparent;
+ border: 0;
+}
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: 20px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ background-color: #fcf8e3;
+ border: 1px solid #fbeed5;
+ border-radius: 4px;
+ color: #c09853;
}
-.important {
- margin: 1em;
- border: 1px solid #d26767;
- background-color: #f8e1e1;
+.alert-danger,
+.alert-error {
+ background-color: #f2dede;
+ border-color: #eed3d7;
+ color: #b94a48;
+}
+.alert-info {
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+ color: #3a87ad;
}
+ul.toc {
+ list-style-type: none;
+}
-->
</style>
EOT
-my $FFMPEG_NAVBAR = $ENV{"FFMPEG_NAVBAR"} || '';
-
-$AFTER_BODY_OPEN =
-'<div id="container">' .
-"\n$FFMPEG_NAVBAR\n" .
-'<div id="body">';
+my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
+<link rel="icon" href="favicon.png" type="image/png" />
+</head>
+<body>
+<div class="container">
+EOT
$PRE_BODY_CLOSE = '</div></div>';
@@ -83,9 +145,10 @@ $print_page_foot = \&FFmpeg_print_page_foot;
sub FFmpeg_print_page_foot($$)
{
my $fh = shift;
- print $fh '<div id="footer">' . "\n";
- T2H_DEFAULT_print_page_foot($fh);
- print $fh "</div>\n";
+ my $program_string = T2H_DEFAULT_program_string();
+ print $fh '<footer class="footer pagination-right">' . "\n";
+ print $fh '<span class="label label-info">' . $program_string;
+ print $fh "</span></footer></div>\n";
}
$float = \&FFmpeg_float;
@@ -107,11 +170,11 @@ sub FFmpeg_float($$$$)
if ($caption =~ /NOTE/)
{
- $class = "note";
+ $class = "alert alert-info";
}
elsif ($caption =~ /IMPORTANT/)
{
- $class = "important";
+ $class = "alert alert-warning";
}
return '<div class="float ' . $class . '">' . "$label\n" . $text . '</div>';
@@ -134,7 +197,7 @@ sub FFmpeg_print_page_head($$)
$longtitle = "FFmpeg documentation : " . $longtitle;
print $fh <<EOT;
-$DOCTYPE
+<!DOCTYPE html>
<html>
$Texi2HTML::THISDOC{'copying'}<!-- Created on $Texi2HTML::THISDOC{today} by $Texi2HTML::THISDOC{program} -->
<!--
@@ -150,11 +213,7 @@ $description
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$encoding
$CSS_LINES
-$EXTRA_HEAD
-</head>
-
-<body $BODYTEXT>
-$AFTER_BODY_OPEN
+$TEMPLATE_HEADER
EOT
}
diff --git a/libavcodec/ac3dsp.c b/libavcodec/ac3dsp.c
index 4e1e4bd709..49866eb767 100644
--- a/libavcodec/ac3dsp.c
+++ b/libavcodec/ac3dsp.c
@@ -256,6 +256,6 @@ av_cold void ff_ac3dsp_init(AC3DSPContext *c, int bit_exact)
if (ARCH_ARM)
ff_ac3dsp_init_arm(c, bit_exact);
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_ac3dsp_init_x86(c, bit_exact);
}
diff --git a/libavcodec/cavsdsp.c b/libavcodec/cavsdsp.c
index 7eb8eca4d0..a9b136e2a3 100644
--- a/libavcodec/cavsdsp.c
+++ b/libavcodec/cavsdsp.c
@@ -546,5 +546,6 @@ av_cold void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx) {
c->cavs_idct8_add = cavs_idct8_add_c;
c->idct_perm = FF_NO_IDCT_PERM;
- if (HAVE_MMX) ff_cavsdsp_init_mmx(c, avctx);
+ if (ARCH_X86)
+ ff_cavsdsp_init_x86(c, avctx);
}
diff --git a/libavcodec/cavsdsp.h b/libavcodec/cavsdsp.h
index b281133ff1..f6e3e18e83 100644
--- a/libavcodec/cavsdsp.h
+++ b/libavcodec/cavsdsp.h
@@ -37,6 +37,6 @@ typedef struct CAVSDSPContext {
} CAVSDSPContext;
void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx);
-void ff_cavsdsp_init_mmx(CAVSDSPContext* c, AVCodecContext *avctx);
+void ff_cavsdsp_init_x86(CAVSDSPContext* c, AVCodecContext *avctx);
#endif /* AVCODEC_CAVSDSP_H */
diff --git a/libavcodec/dct.c b/libavcodec/dct.c
index 2782bd96f4..e2ac0a856e 100644
--- a/libavcodec/dct.c
+++ b/libavcodec/dct.c
@@ -209,8 +209,8 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType inverse)
}
s->dct32 = ff_dct32_float;
- if (HAVE_MMX)
- ff_dct_init_mmx(s);
+ if (ARCH_X86)
+ ff_dct_init_x86(s);
return 0;
}
diff --git a/libavcodec/dct.h b/libavcodec/dct.h
index bb17d75d0c..8995f10a80 100644
--- a/libavcodec/dct.h
+++ b/libavcodec/dct.h
@@ -47,6 +47,6 @@ struct DCTContext {
int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType type);
void ff_dct_end (DCTContext *s);
-void ff_dct_init_mmx(DCTContext *s);
+void ff_dct_init_x86(DCTContext *s);
#endif /* AVCODEC_DCT_H */
diff --git a/libavcodec/fft.c b/libavcodec/fft.c
index e5bdcbd7ab..00c434a905 100644
--- a/libavcodec/fft.c
+++ b/libavcodec/fft.c
@@ -160,7 +160,7 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse)
#if CONFIG_FFT_FLOAT
if (ARCH_ARM) ff_fft_init_arm(s);
if (HAVE_ALTIVEC) ff_fft_init_altivec(s);
- if (HAVE_MMX) ff_fft_init_mmx(s);
+ if (ARCH_X86) ff_fft_init_x86(s);
if (CONFIG_MDCT) s->mdct_calcw = s->mdct_calc;
if (HAVE_MIPSFPU) ff_fft_init_mips(s);
#else
diff --git a/libavcodec/fft.h b/libavcodec/fft.h
index 15e5a121d2..9d92b2c2d2 100644
--- a/libavcodec/fft.h
+++ b/libavcodec/fft.h
@@ -135,7 +135,7 @@ int ff_fft_init(FFTContext *s, int nbits, int inverse);
#if CONFIG_FFT_FLOAT
void ff_fft_init_altivec(FFTContext *s);
-void ff_fft_init_mmx(FFTContext *s);
+void ff_fft_init_x86(FFTContext *s);
void ff_fft_init_arm(FFTContext *s);
void ff_fft_init_mips(FFTContext *s);
#else
diff --git a/libavcodec/fmtconvert.c b/libavcodec/fmtconvert.c
index 372f2a36ce..79e9645837 100644
--- a/libavcodec/fmtconvert.c
+++ b/libavcodec/fmtconvert.c
@@ -85,7 +85,7 @@ av_cold void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx)
if (ARCH_ARM) ff_fmt_convert_init_arm(c, avctx);
if (HAVE_ALTIVEC) ff_fmt_convert_init_altivec(c, avctx);
- if (HAVE_MMX) ff_fmt_convert_init_x86(c, avctx);
+ if (ARCH_X86) ff_fmt_convert_init_x86(c, avctx);
if (HAVE_MIPSFPU) ff_fmt_convert_init_mips(c);
}
diff --git a/libavcodec/h264dsp.c b/libavcodec/h264dsp.c
index ce6545ba8e..69d0536981 100644
--- a/libavcodec/h264dsp.c
+++ b/libavcodec/h264dsp.c
@@ -130,5 +130,5 @@ void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_fo
if (ARCH_ARM) ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc);
if (HAVE_ALTIVEC) ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc);
- if (HAVE_MMX) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
+ if (ARCH_X86) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
}
diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c
index 2d8b9a4b83..5619efd109 100644
--- a/libavcodec/h264pred.c
+++ b/libavcodec/h264pred.c
@@ -549,5 +549,5 @@ void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth, co
}
if (ARCH_ARM) ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc);
- if (HAVE_MMX) ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
+ if (ARCH_X86) ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
}
diff --git a/libavcodec/lpc.c b/libavcodec/lpc.c
index ac8984a583..c8d24c03f3 100644
--- a/libavcodec/lpc.c
+++ b/libavcodec/lpc.c
@@ -262,7 +262,7 @@ av_cold int ff_lpc_init(LPCContext *s, int blocksize, int max_order,
s->lpc_apply_welch_window = lpc_apply_welch_window_c;
s->lpc_compute_autocorr = lpc_compute_autocorr_c;
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_lpc_init_x86(s);
return 0;
diff --git a/libavcodec/mpegaudiodsp.c b/libavcodec/mpegaudiodsp.c
index 82a3652d9f..aadc747814 100644
--- a/libavcodec/mpegaudiodsp.c
+++ b/libavcodec/mpegaudiodsp.c
@@ -41,7 +41,7 @@ void ff_mpadsp_init(MPADSPContext *s)
s->imdct36_blocks_fixed = ff_imdct36_blocks_fixed;
if (ARCH_ARM) ff_mpadsp_init_arm(s);
- if (HAVE_MMX) ff_mpadsp_init_mmx(s);
+ if (ARCH_X86) ff_mpadsp_init_x86(s);
if (HAVE_ALTIVEC) ff_mpadsp_init_altivec(s);
if (HAVE_MIPSFPU) ff_mpadsp_init_mipsfpu(s);
if (HAVE_MIPSDSPR1) ff_mpadsp_init_mipsdspr1(s);
diff --git a/libavcodec/mpegaudiodsp.h b/libavcodec/mpegaudiodsp.h
index aae8ac0cb5..623d2dfffb 100644
--- a/libavcodec/mpegaudiodsp.h
+++ b/libavcodec/mpegaudiodsp.h
@@ -56,7 +56,7 @@ void ff_mpa_synth_filter_float(MPADSPContext *s,
float *sb_samples);
void ff_mpadsp_init_arm(MPADSPContext *s);
-void ff_mpadsp_init_mmx(MPADSPContext *s);
+void ff_mpadsp_init_x86(MPADSPContext *s);
void ff_mpadsp_init_altivec(MPADSPContext *s);
void ff_mpadsp_init_mipsfpu(MPADSPContext *s);
void ff_mpadsp_init_mipsdspr1(MPADSPContext *s);
diff --git a/libavcodec/pngdsp.c b/libavcodec/pngdsp.c
index 75ec996ca1..1ee8b57bc9 100644
--- a/libavcodec/pngdsp.c
+++ b/libavcodec/pngdsp.c
@@ -44,5 +44,5 @@ void ff_pngdsp_init(PNGDSPContext *dsp)
dsp->add_bytes_l2 = add_bytes_l2_c;
dsp->add_paeth_prediction = ff_add_png_paeth_prediction;
- if (HAVE_MMX) ff_pngdsp_init_x86(dsp);
+ if (ARCH_X86) ff_pngdsp_init_x86(dsp);
}
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index 867e4030e9..9e063b0974 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -75,7 +75,7 @@ void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
dsp->idct_put = prores_idct_put_c;
dsp->idct_permutation_type = FF_NO_IDCT_PERM;
- if (HAVE_MMX) ff_proresdsp_x86_init(dsp, avctx);
+ if (ARCH_X86) ff_proresdsp_x86_init(dsp, avctx);
ff_init_scantable_permutation(dsp->idct_permutation,
dsp->idct_permutation_type);
diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c
index ac14ed9ab1..25e8c3d83d 100644
--- a/libavcodec/rv34dsp.c
+++ b/libavcodec/rv34dsp.c
@@ -137,6 +137,6 @@ av_cold void ff_rv34dsp_init(RV34DSPContext *c, DSPContext* dsp) {
if (HAVE_NEON)
ff_rv34dsp_init_neon(c, dsp);
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_rv34dsp_init_x86(c, dsp);
}
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index 66f53263f2..2799f1ae25 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -604,7 +604,7 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c, DSPContext* dsp) {
c->rv40_loop_filter_strength[0] = rv40_h_loop_filter_strength;
c->rv40_loop_filter_strength[1] = rv40_v_loop_filter_strength;
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_rv40dsp_init_x86(c, dsp);
if (HAVE_NEON)
ff_rv40dsp_init_neon(c, dsp);
diff --git a/libavcodec/sbrdsp.c b/libavcodec/sbrdsp.c
index 8c88fb3329..781ec83fe8 100644
--- a/libavcodec/sbrdsp.c
+++ b/libavcodec/sbrdsp.c
@@ -243,6 +243,6 @@ av_cold void ff_sbrdsp_init(SBRDSPContext *s)
if (ARCH_ARM)
ff_sbrdsp_init_arm(s);
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_sbrdsp_init_x86(s);
}
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c
index c2b7eff278..a874509ca9 100644
--- a/libavcodec/vc1dsp.c
+++ b/libavcodec/vc1dsp.c
@@ -850,6 +850,6 @@ av_cold void ff_vc1dsp_init(VC1DSPContext* dsp) {
if (HAVE_ALTIVEC)
ff_vc1dsp_init_altivec(dsp);
- if (HAVE_MMX)
- ff_vc1dsp_init_mmx(dsp);
+ if (ARCH_X86)
+ ff_vc1dsp_init_x86(dsp);
}
diff --git a/libavcodec/vc1dsp.h b/libavcodec/vc1dsp.h
index d96853aa16..877581861f 100644
--- a/libavcodec/vc1dsp.h
+++ b/libavcodec/vc1dsp.h
@@ -74,6 +74,6 @@ typedef struct VC1DSPContext {
void ff_vc1dsp_init(VC1DSPContext* c);
void ff_vc1dsp_init_altivec(VC1DSPContext* c);
-void ff_vc1dsp_init_mmx(VC1DSPContext* dsp);
+void ff_vc1dsp_init_x86(VC1DSPContext* dsp);
#endif /* AVCODEC_VC1DSP_H */
diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c
index 339c3d210c..a72c48e1e7 100644
--- a/libavcodec/vp56dsp.c
+++ b/libavcodec/vp56dsp.c
@@ -90,5 +90,5 @@ void ff_vp56dsp_init(VP56DSPContext *s, enum AVCodecID codec)
}
if (ARCH_ARM) ff_vp56dsp_init_arm(s, codec);
- if (HAVE_MMX) ff_vp56dsp_init_x86(s, codec);
+ if (ARCH_X86) ff_vp56dsp_init_x86(s, codec);
}
diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c
index bacd10e25c..a53643cd26 100644
--- a/libavcodec/vp8dsp.c
+++ b/libavcodec/vp8dsp.c
@@ -521,7 +521,7 @@ av_cold void ff_vp8dsp_init(VP8DSPContext *dsp)
VP8_BILINEAR_MC_FUNC(1, 8);
VP8_BILINEAR_MC_FUNC(2, 4);
- if (HAVE_MMX)
+ if (ARCH_X86)
ff_vp8dsp_init_x86(dsp);
if (HAVE_ALTIVEC)
ff_vp8dsp_init_altivec(dsp);
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 39d27271ec..4ddd06d678 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -1,42 +1,43 @@
+OBJS += x86/fmtconvert_init.o
+
+OBJS-$(CONFIG_AAC_DECODER) += x86/sbrdsp_init.o
+OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
+OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc.o
+OBJS-$(CONFIG_FFT) += x86/fft_init.o
+OBJS-$(CONFIG_GPL) += x86/idct_mmx.o
+OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
+OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
+OBJS-$(CONFIG_LPC) += x86/lpc.o
OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp.o
+OBJS-$(CONFIG_MPEGAUDIODSP) += x86/mpegaudiodec.o
OBJS-$(CONFIG_MPEGVIDEO) += x86/mpegvideo.o
OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoenc.o
+OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
+OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp_init.o
+OBJS-$(CONFIG_RV30_DECODER) += x86/rv34dsp_init.o
+OBJS-$(CONFIG_RV40_DECODER) += x86/rv34dsp_init.o \
+ x86/rv40dsp_init.o
+OBJS-$(CONFIG_V210_DECODER) += x86/v210-init.o
OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp.o
+OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_init.o
OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
+OBJS-$(CONFIG_VP5_DECODER) += x86/vp56dsp_init.o
+OBJS-$(CONFIG_VP6_DECODER) += x86/vp56dsp_init.o
+OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp_init.o
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
MMX-OBJS += x86/dsputil_mmx.o \
x86/fdct.o \
- x86/fmtconvert_init.o \
x86/idct_mmx_xvid.o \
x86/idct_sse2_xvid.o \
x86/simple_idct.o \
-MMX-OBJS-$(CONFIG_AAC_DECODER) += x86/sbrdsp_init.o
-MMX-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
-MMX-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
MMX-OBJS-$(CONFIG_DWT) += x86/snowdsp.o \
x86/dwt.o
MMX-OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc_mmx.o \
x86/motion_est.o
-MMX-OBJS-$(CONFIG_FFT) += x86/fft_init.o
-MMX-OBJS-$(CONFIG_GPL) += x86/idct_mmx.o
-MMX-OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
-MMX-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
-MMX-OBJS-$(CONFIG_LPC) += x86/lpc.o
-MMX-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/mpegaudiodec.o
-MMX-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
-MMX-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
-MMX-OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp_init.o
-MMX-OBJS-$(CONFIG_RV30_DECODER) += x86/rv34dsp_init.o
-MMX-OBJS-$(CONFIG_RV40_DECODER) += x86/rv34dsp_init.o \
- x86/rv40dsp_init.o
-MMX-OBJS-$(CONFIG_V210_DECODER) += x86/v210-init.o
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
-MMX-OBJS-$(CONFIG_VP5_DECODER) += x86/vp56dsp_init.o
-MMX-OBJS-$(CONFIG_VP6_DECODER) += x86/vp56dsp_init.o
-MMX-OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp_init.o
YASM-OBJS-$(CONFIG_AAC_DECODER) += x86/sbrdsp.o
YASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp.o
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index 03a8b87ec3..9643b81af3 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -25,11 +25,13 @@
#include "libavutil/common.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/asm.h"
+#include "libavutil/x86/cpu.h"
#include "libavcodec/dsputil.h"
#include "libavcodec/cavsdsp.h"
#include "dsputil_mmx.h"
+#include "config.h"
-#if HAVE_INLINE_ASM
+#if (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE)
/* in/out: mma=mma+mmb, mmb=mmb-mma */
#define SUMSUB_BA( a, b ) \
@@ -433,15 +435,12 @@ static void ff_ ## OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, ui
"pavgb " #temp ", " #a " \n\t"\
"mov" #size " " #a ", " #b " \n\t"
-QPEL_CAVS(put_, PUT_OP, 3dnow)
-QPEL_CAVS(avg_, AVG_3DNOW_OP, 3dnow)
+#endif /* (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE) */
+
+#if HAVE_MMXEXT_INLINE
QPEL_CAVS(put_, PUT_OP, mmx2)
QPEL_CAVS(avg_, AVG_MMX2_OP, mmx2)
-CAVS_MC(put_, 8, 3dnow)
-CAVS_MC(put_, 16,3dnow)
-CAVS_MC(avg_, 8, 3dnow)
-CAVS_MC(avg_, 16,3dnow)
CAVS_MC(put_, 8, mmx2)
CAVS_MC(put_, 16,mmx2)
CAVS_MC(avg_, 8, mmx2)
@@ -463,6 +462,16 @@ static void ff_cavsdsp_init_mmx2(CAVSDSPContext* c, AVCodecContext *avctx) {
c->cavs_idct8_add = cavs_idct8_add_mmx;
c->idct_perm = FF_TRANSPOSE_IDCT_PERM;
}
+#endif /* HAVE_MMXEXT_INLINE */
+
+#if HAVE_AMD3DNOW_INLINE
+QPEL_CAVS(put_, PUT_OP, 3dnow)
+QPEL_CAVS(avg_, AVG_3DNOW_OP, 3dnow)
+
+CAVS_MC(put_, 8, 3dnow)
+CAVS_MC(put_, 16,3dnow)
+CAVS_MC(avg_, 8, 3dnow)
+CAVS_MC(avg_, 16,3dnow)
static void ff_cavsdsp_init_3dnow(CAVSDSPContext* c, AVCodecContext *avctx) {
#define dspfunc(PFX, IDX, NUM) \
@@ -480,15 +489,16 @@ static void ff_cavsdsp_init_3dnow(CAVSDSPContext* c, AVCodecContext *avctx) {
c->cavs_idct8_add = cavs_idct8_add_mmx;
c->idct_perm = FF_TRANSPOSE_IDCT_PERM;
}
+#endif /* HAVE_AMD3DNOW_INLINE */
-#endif /* HAVE_INLINE_ASM */
-
-void ff_cavsdsp_init_mmx(CAVSDSPContext *c, AVCodecContext *avctx)
+av_cold void ff_cavsdsp_init_x86(CAVSDSPContext *c, AVCodecContext *avctx)
{
int mm_flags = av_get_cpu_flags();
-#if HAVE_INLINE_ASM
+#if HAVE_MMXEXT_INLINE
if (mm_flags & AV_CPU_FLAG_MMXEXT) ff_cavsdsp_init_mmx2(c, avctx);
+#endif /* HAVE_MMXEXT_INLINE */
+#if HAVE_AMD3DNOW_INLINE
if (mm_flags & AV_CPU_FLAG_3DNOW) ff_cavsdsp_init_3dnow(c, avctx);
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_AMD3DNOW_INLINE */
}
diff --git a/libavcodec/x86/fft_init.c b/libavcodec/x86/fft_init.c
index d7a31d4efa..a9d95799ba 100644
--- a/libavcodec/x86/fft_init.c
+++ b/libavcodec/x86/fft_init.c
@@ -22,7 +22,7 @@
#include "libavcodec/dct.h"
#include "fft.h"
-av_cold void ff_fft_init_mmx(FFTContext *s)
+av_cold void ff_fft_init_x86(FFTContext *s)
{
int has_vectors = av_get_cpu_flags();
#if ARCH_X86_32
@@ -56,7 +56,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s)
}
#if CONFIG_DCT
-av_cold void ff_dct_init_mmx(DCTContext *s)
+av_cold void ff_dct_init_x86(DCTContext *s)
{
int has_vectors = av_get_cpu_flags();
if (EXTERNAL_SSE(has_vectors))
diff --git a/libavcodec/x86/mpegaudiodec.c b/libavcodec/x86/mpegaudiodec.c
index a8b55aedf0..44cbf9a428 100644
--- a/libavcodec/x86/mpegaudiodec.c
+++ b/libavcodec/x86/mpegaudiodec.c
@@ -232,7 +232,7 @@ DECL_IMDCT_BLOCKS(avx,avx)
#endif
#endif /* HAVE_YASM */
-void ff_mpadsp_init_mmx(MPADSPContext *s)
+void ff_mpadsp_init_x86(MPADSPContext *s)
{
int mm_flags = av_get_cpu_flags();
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index 966e3f22f5..902ae19075 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -195,12 +195,12 @@ void ff_rv40dsp_init_x86(RV34DSPContext *c, DSPContext *dsp)
if (EXTERNAL_MMX(mm_flags)) {
c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx;
c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx;
-#if HAVE_INLINE_ASM
+#if HAVE_MMX_INLINE
c->put_pixels_tab[0][15] = ff_put_rv40_qpel16_mc33_mmx;
c->put_pixels_tab[1][15] = ff_put_rv40_qpel8_mc33_mmx;
c->avg_pixels_tab[0][15] = ff_avg_rv40_qpel16_mc33_mmx;
c->avg_pixels_tab[1][15] = ff_avg_rv40_qpel8_mc33_mmx;
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_MMX_INLINE */
#if ARCH_X86_32
QPEL_MC_SET(put_, _mmx)
#endif
diff --git a/libavcodec/x86/vc1dsp.h b/libavcodec/x86/vc1dsp.h
new file mode 100644
index 0000000000..fdd4de1813
--- /dev/null
+++ b/libavcodec/x86/vc1dsp.h
@@ -0,0 +1,29 @@
+/*
+ * VC-1 and WMV3 decoder - X86 DSP init functions
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_X86_VC1DSP_H
+#define AVCODEC_X86_VC1DSP_H
+
+#include "libavcodec/vc1dsp.h"
+
+void ff_vc1dsp_init_mmx(VC1DSPContext *dsp);
+void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp);
+
+#endif /* AVCODEC_X86_VC1DSP_H */
diff --git a/libavcodec/x86/vc1dsp_init.c b/libavcodec/x86/vc1dsp_init.c
new file mode 100644
index 0000000000..d2548fc348
--- /dev/null
+++ b/libavcodec/x86/vc1dsp_init.c
@@ -0,0 +1,123 @@
+/*
+ * VC-1 and WMV3 - DSP functions MMX-optimized
+ * Copyright (c) 2007 Christophe GISQUET <christophe.gisquet@free.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "libavutil/cpu.h"
+#include "libavutil/x86/cpu.h"
+#include "libavcodec/vc1dsp.h"
+#include "vc1dsp.h"
+#include "config.h"
+
+#define LOOP_FILTER(EXT) \
+void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
+void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
+void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
+void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
+\
+static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
+{ \
+ ff_vc1_v_loop_filter8_ ## EXT(src, stride, pq); \
+ ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
+} \
+\
+static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
+{ \
+ ff_vc1_h_loop_filter8_ ## EXT(src, stride, pq); \
+ ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
+}
+
+#if HAVE_YASM
+LOOP_FILTER(mmx2)
+LOOP_FILTER(sse2)
+LOOP_FILTER(ssse3)
+
+void ff_vc1_h_loop_filter8_sse4(uint8_t *src, int stride, int pq);
+
+static void vc1_h_loop_filter16_sse4(uint8_t *src, int stride, int pq)
+{
+ ff_vc1_h_loop_filter8_sse4(src, stride, pq);
+ ff_vc1_h_loop_filter8_sse4(src+8*stride, stride, pq);
+}
+#endif /* HAVE_YASM */
+
+void ff_put_vc1_chroma_mc8_mmx_nornd (uint8_t *dst, uint8_t *src,
+ int stride, int h, int x, int y);
+void ff_avg_vc1_chroma_mc8_mmx2_nornd (uint8_t *dst, uint8_t *src,
+ int stride, int h, int x, int y);
+void ff_avg_vc1_chroma_mc8_3dnow_nornd(uint8_t *dst, uint8_t *src,
+ int stride, int h, int x, int y);
+void ff_put_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
+ int stride, int h, int x, int y);
+void ff_avg_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
+ int stride, int h, int x, int y);
+
+
+av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
+{
+ int mm_flags = av_get_cpu_flags();
+
+ if (INLINE_MMX(mm_flags))
+ ff_vc1dsp_init_mmx(dsp);
+
+ if (INLINE_MMXEXT(mm_flags))
+ ff_vc1dsp_init_mmxext(dsp);
+
+#define ASSIGN_LF(EXT) \
+ dsp->vc1_v_loop_filter4 = ff_vc1_v_loop_filter4_ ## EXT; \
+ dsp->vc1_h_loop_filter4 = ff_vc1_h_loop_filter4_ ## EXT; \
+ dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_ ## EXT; \
+ dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_ ## EXT; \
+ dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
+ dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
+
+#if HAVE_YASM
+ if (mm_flags & AV_CPU_FLAG_MMX) {
+ dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_mmx_nornd;
+ }
+
+ if (mm_flags & AV_CPU_FLAG_MMXEXT) {
+ ASSIGN_LF(mmx2);
+ dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_mmx2_nornd;
+ } else if (mm_flags & AV_CPU_FLAG_3DNOW) {
+ dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_3dnow_nornd;
+ }
+
+ if (mm_flags & AV_CPU_FLAG_SSE2) {
+ dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_sse2;
+ dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_sse2;
+ dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_sse2;
+ dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse2;
+ }
+ if (mm_flags & AV_CPU_FLAG_SSSE3) {
+ ASSIGN_LF(ssse3);
+ dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_ssse3_nornd;
+ dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_ssse3_nornd;
+ }
+ if (mm_flags & AV_CPU_FLAG_SSE4) {
+ dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_sse4;
+ dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse4;
+ }
+#endif /* HAVE_YASM */
+}
diff --git a/libavcodec/x86/vc1dsp_mmx.c b/libavcodec/x86/vc1dsp_mmx.c
index 66251d0b15..adf89b2f0c 100644
--- a/libavcodec/x86/vc1dsp_mmx.c
+++ b/libavcodec/x86/vc1dsp_mmx.c
@@ -27,9 +27,11 @@
#include "libavutil/cpu.h"
#include "libavutil/mem.h"
#include "libavutil/x86/asm.h"
+#include "libavutil/x86/cpu.h"
#include "libavcodec/dsputil.h"
#include "dsputil_mmx.h"
#include "libavcodec/vc1dsp.h"
+#include "vc1dsp.h"
#if HAVE_INLINE_ASM
@@ -685,57 +687,8 @@ static void vc1_inv_trans_8x8_dc_mmx2(uint8_t *dest, int linesize, DCTELEM *bloc
);
}
-#endif /* HAVE_INLINE_ASM */
-
-#define LOOP_FILTER(EXT) \
-void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
-void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
-void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
-void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
-\
-static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
-{ \
- ff_vc1_v_loop_filter8_ ## EXT(src, stride, pq); \
- ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
-} \
-\
-static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
-{ \
- ff_vc1_h_loop_filter8_ ## EXT(src, stride, pq); \
- ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
-}
-
-#if HAVE_YASM
-LOOP_FILTER(mmx2)
-LOOP_FILTER(sse2)
-LOOP_FILTER(ssse3)
-
-void ff_vc1_h_loop_filter8_sse4(uint8_t *src, int stride, int pq);
-
-static void vc1_h_loop_filter16_sse4(uint8_t *src, int stride, int pq)
-{
- ff_vc1_h_loop_filter8_sse4(src, stride, pq);
- ff_vc1_h_loop_filter8_sse4(src+8*stride, stride, pq);
-}
-#endif /* HAVE_YASM */
-
-void ff_put_vc1_chroma_mc8_mmx_nornd (uint8_t *dst, uint8_t *src,
- int stride, int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_mmx2_nornd (uint8_t *dst, uint8_t *src,
- int stride, int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_3dnow_nornd(uint8_t *dst, uint8_t *src,
- int stride, int h, int x, int y);
-void ff_put_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
- int stride, int h, int x, int y);
-void ff_avg_vc1_chroma_mc8_ssse3_nornd(uint8_t *dst, uint8_t *src,
- int stride, int h, int x, int y);
-
-void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
+av_cold void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
{
- int mm_flags = av_get_cpu_flags();
-
-#if HAVE_INLINE_ASM
- if (mm_flags & AV_CPU_FLAG_MMX) {
dsp->put_vc1_mspel_pixels_tab[ 0] = ff_put_vc1_mspel_mc00_mmx;
dsp->put_vc1_mspel_pixels_tab[ 4] = put_vc1_mspel_mc01_mmx;
dsp->put_vc1_mspel_pixels_tab[ 8] = put_vc1_mspel_mc02_mmx;
@@ -755,12 +708,10 @@ void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
dsp->put_vc1_mspel_pixels_tab[ 7] = put_vc1_mspel_mc31_mmx;
dsp->put_vc1_mspel_pixels_tab[11] = put_vc1_mspel_mc32_mmx;
dsp->put_vc1_mspel_pixels_tab[15] = put_vc1_mspel_mc33_mmx;
+}
- if (HAVE_YASM)
- dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_mmx_nornd;
- }
-
- if (mm_flags & AV_CPU_FLAG_MMXEXT) {
+av_cold void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp)
+{
dsp->avg_vc1_mspel_pixels_tab[ 0] = ff_avg_vc1_mspel_mc00_mmx2;
dsp->avg_vc1_mspel_pixels_tab[ 4] = avg_vc1_mspel_mc01_mmx2;
dsp->avg_vc1_mspel_pixels_tab[ 8] = avg_vc1_mspel_mc02_mmx2;
@@ -785,47 +736,5 @@ void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
dsp->vc1_inv_trans_4x8_dc = vc1_inv_trans_4x8_dc_mmx2;
dsp->vc1_inv_trans_8x4_dc = vc1_inv_trans_8x4_dc_mmx2;
dsp->vc1_inv_trans_4x4_dc = vc1_inv_trans_4x4_dc_mmx2;
-
- if (HAVE_YASM)
- dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_mmx2_nornd;
- } else if (HAVE_YASM && mm_flags & AV_CPU_FLAG_3DNOW) {
- dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_3dnow_nornd;
- }
-
- if (HAVE_YASM && mm_flags & AV_CPU_FLAG_SSSE3) {
- dsp->put_no_rnd_vc1_chroma_pixels_tab[0]= ff_put_vc1_chroma_mc8_ssse3_nornd;
- dsp->avg_no_rnd_vc1_chroma_pixels_tab[0]= ff_avg_vc1_chroma_mc8_ssse3_nornd;
- }
-#endif /* HAVE_INLINE_ASM */
-
-#define ASSIGN_LF(EXT) \
- dsp->vc1_v_loop_filter4 = ff_vc1_v_loop_filter4_ ## EXT; \
- dsp->vc1_h_loop_filter4 = ff_vc1_h_loop_filter4_ ## EXT; \
- dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_ ## EXT; \
- dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_ ## EXT; \
- dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
- dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
-
-#if HAVE_YASM
- if (mm_flags & AV_CPU_FLAG_MMX) {
- }
-
- if (mm_flags & AV_CPU_FLAG_MMXEXT) {
- ASSIGN_LF(mmx2);
- }
-
- if (mm_flags & AV_CPU_FLAG_SSE2) {
- dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_sse2;
- dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_sse2;
- dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_sse2;
- dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse2;
- }
- if (mm_flags & AV_CPU_FLAG_SSSE3) {
- ASSIGN_LF(ssse3);
- }
- if (mm_flags & AV_CPU_FLAG_SSE4) {
- dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_sse4;
- dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse4;
- }
-#endif /* HAVE_YASM */
}
+#endif /* HAVE_INLINE_ASM */
diff --git a/libavformat/segment.c b/libavformat/segment.c
index b0f8a856fe..ad9770eb5d 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -547,7 +547,7 @@ AVOutputFormat ff_segment_muxer = {
.name = "segment",
.long_name = NULL_IF_CONFIG_SMALL("segment"),
.priv_data_size = sizeof(SegmentContext),
- .flags = AVFMT_GLOBALHEADER | AVFMT_NOFILE,
+ .flags = AVFMT_NOFILE,
.write_header = seg_write_header,
.write_packet = seg_write_packet,
.write_trailer = seg_write_trailer,