Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2
.\"
3
.\" Standard preamble:
4
.\" ========================================================================
5
.de Sh \" Subsection heading
6
.br
7
.if t .Sp
8
.ne 5
9
.PP
10
\fB\\$1\fR
11
.PP
12
..
13
.de Sp \" Vertical space (when we can't use .PP)
14
.if t .sp .5v
15
.if n .sp
16
..
17
.de Vb \" Begin verbatim text
18
.ft CW
19
.nf
20
.ne \\$1
21
..
22
.de Ve \" End verbatim text
23
.ft R
24
.fi
25
..
26
.\" Set up some character translations and predefined strings.  \*(-- will
27
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28
.\" double quote, and \*(R" will give a right double quote.  | will give a
29
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31
.\" expand to `' in nroff, nothing in troff, for use with C<>.
32
.tr \(*W-|\(bv\*(Tr
33
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34
.ie n \{\
35
.    ds -- \(*W-
36
.    ds PI pi
37
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39
.    ds L" ""
40
.    ds R" ""
41
.    ds C` ""
42
.    ds C' ""
43
'br\}
44
.el\{\
45
.    ds -- \|\(em\|
46
.    ds PI \(*p
47
.    ds L" ``
48
.    ds R" ''
49
'br\}
50
.\"
51
.\" If the F register is turned on, we'll generate index entries on stderr for
52
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53
.\" entries marked with X<> in POD.  Of course, you'll have to process the
54
.\" output yourself in some meaningful fashion.
55
.if \nF \{\
56
.    de IX
57
.    tm Index:\\$1\t\\n%\t"\\$2"
58
..
59
.    nr % 0
60
.    rr F
61
.\}
62
.\"
63
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64
.\" way too many mistakes in technical documents.
65
.hy 0
66
.if n .na
67
.\"
68
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70
.    \" fudge factors for nroff and troff
71
.if n \{\
72
.    ds #H 0
73
.    ds #V .8m
74
.    ds #F .3m
75
.    ds #[ \f1
76
.    ds #] \fP
77
.\}
78
.if t \{\
79
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80
.    ds #V .6m
81
.    ds #F 0
82
.    ds #[ \&
83
.    ds #] \&
84
.\}
85
.    \" simple accents for nroff and troff
86
.if n \{\
87
.    ds ' \&
88
.    ds ` \&
89
.    ds ^ \&
90
.    ds , \&
91
.    ds ~ ~
92
.    ds /
93
.\}
94
.if t \{\
95
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101
.\}
102
.    \" troff and (daisy-wheel) nroff accents
103
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110
.ds ae a\h'-(\w'a'u*4/10)'e
111
.ds Ae A\h'-(\w'A'u*4/10)'E
112
.    \" corrections for vroff
113
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115
.    \" for low resolution devices (crt and lpr)
116
.if \n(.H>23 .if \n(.V>19 \
117
\{\
118
.    ds : e
119
.    ds 8 ss
120
.    ds o a
121
.    ds d- d\h'-1'\(ga
122
.    ds D- D\h'-1'\(hy
123
.    ds th \o'bp'
124
.    ds Th \o'LP'
125
.    ds ae ae
126
.    ds Ae AE
127
.\}
128
.rm #[ #] #H #V #F C
129
.\" ========================================================================
130
.\"
131
.IX Title "FFMPEG-BITSTREAM-FILTERS 1"
132
.TH FFMPEG-BITSTREAM-FILTERS 1 "2013-12-14" " " " "
133
.SH "NAME"
134
ffmpeg\-bitstream\-filters \- FFmpeg bitstream filters
135
.SH "DESCRIPTION"
136
.IX Header "DESCRIPTION"
137
This document describes the bitstream filters provided by the
138
libavcodec library.
139
.PP
140
A bitstream filter operates on the encoded stream data, and performs
141
bitstream level modifications without performing decoding.
142
.SH "BITSTREAM FILTERS"
143
.IX Header "BITSTREAM FILTERS"
144
When you configure your FFmpeg build, all the supported bitstream
145
filters are enabled by default. You can list all available ones using
146
the configure option \f(CW\*(C`\-\-list\-bsfs\*(C'\fR.
147
.PP
148
You can disable all the bitstream filters using the configure option
149
\&\f(CW\*(C`\-\-disable\-bsfs\*(C'\fR, and selectively enable any bitstream filter using
150
the option \f(CW\*(C`\-\-enable\-bsf=BSF\*(C'\fR, or you can disable a particular
151
bitstream filter using the option \f(CW\*(C`\-\-disable\-bsf=BSF\*(C'\fR.
152
.PP
153
The option \f(CW\*(C`\-bsfs\*(C'\fR of the ff* tools will display the list of
154
all the supported bitstream filters included in your build.
155
.PP
156
Below is a description of the currently available bitstream filters.
157
.Sh "aac_adtstoasc"
158
.IX Subsection "aac_adtstoasc"
159
Convert \s-1MPEG\-2/4\s0 \s-1AAC\s0 \s-1ADTS\s0 to \s-1MPEG\-4\s0 Audio Specific Configuration
160
bitstream filter.
161
.PP
162
This filter creates an \s-1MPEG\-4\s0 AudioSpecificConfig from an \s-1MPEG\-2/4\s0
163
\&\s-1ADTS\s0 header and removes the \s-1ADTS\s0 header.
164
.PP
165
This is required for example when copying an \s-1AAC\s0 stream from a raw
166
\&\s-1ADTS\s0 \s-1AAC\s0 container to a \s-1FLV\s0 or a \s-1MOV/MP4\s0 file.
167
.Sh "chomp"
168
.IX Subsection "chomp"
169
Remove zero padding at the end of a packet.
170
.Sh "dump_extra"
171
.IX Subsection "dump_extra"
172
Add extradata to the beginning of the filtered packets.
173
.PP
174
The additional argument specifies which packets should be filtered.
175
It accepts the values:
176
.IP "\fBa\fR" 4
177
.IX Item "a"
178
add extradata to all key packets, but only if \fIlocal_header\fR is
179
set in the \fBflags2\fR codec context field
180
.IP "\fBk\fR" 4
181
.IX Item "k"
182
add extradata to all key packets
183
.IP "\fBe\fR" 4
184
.IX Item "e"
185
add extradata to all packets
186
.PP
187
If not specified it is assumed \fBk\fR.
188
.PP
189
For example the following \fBffmpeg\fR command forces a global
190
header (thus disabling individual packet headers) in the H.264 packets
191
generated by the \f(CW\*(C`libx264\*(C'\fR encoder, but corrects them by adding
192
the header stored in extradata to the key packets:
193
.PP
194
.Vb 1
195
\&        ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
196
.Ve
197
.Sh "h264_mp4toannexb"
198
.IX Subsection "h264_mp4toannexb"
199
Convert an H.264 bitstream from length prefixed mode to start code
200
prefixed mode (as defined in the Annex B of the ITU-T H.264
201
specification).
202
.PP
203
This is required by some streaming formats, typically the \s-1MPEG\-2\s0
204
transport stream format (\*(L"mpegts\*(R").
205
.PP
206
For example to remux an \s-1MP4\s0 file containing an H.264 stream to mpegts
207
format with \fBffmpeg\fR, you can use the command:
208
.PP
209
.Vb 1
210
\&        ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
211
.Ve
212
.Sh "imx_dump_header"
213
.IX Subsection "imx_dump_header"
214
.Sh "mjpeg2jpeg"
215
.IX Subsection "mjpeg2jpeg"
216
Convert \s-1MJPEG/AVI1\s0 packets to full \s-1JPEG/JFIF\s0 packets.
217
.PP
218
\&\s-1MJPEG\s0 is a video codec wherein each video frame is essentially a
219
\&\s-1JPEG\s0 image. The individual frames can be extracted without loss,
220
e.g. by
221
.PP
222
.Vb 1
223
\&        ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
224
.Ve
225
.PP
226
Unfortunately, these chunks are incomplete \s-1JPEG\s0 images, because
227
they lack the \s-1DHT\s0 segment required for decoding. Quoting from
228
<\fBhttp://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml\fR>:
229
.PP
230
Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
231
commented that \*(L"\s-1MJPEG\s0, or at least the \s-1MJPEG\s0 in AVIs having the
232
\&\s-1MJPG\s0 fourcc, is restricted \s-1JPEG\s0 with a fixed \*(-- and *omitted* \*(--
233
Huffman table. The \s-1JPEG\s0 must be YCbCr colorspace, it must be 4:2:2,
234
and it must use basic Huffman encoding, not arithmetic or
235
progressive. . . . You can indeed extract the \s-1MJPEG\s0 frames and
236
decode them with a regular \s-1JPEG\s0 decoder, but you have to prepend
237
the \s-1DHT\s0 segment to them, or else the decoder won't have any idea
238
how to decompress the data. The exact table necessary is given in
239
the OpenDML spec.\*(R"
240
.PP
241
This bitstream filter patches the header of frames extracted from an \s-1MJPEG\s0
242
stream (carrying the \s-1AVI1\s0 header \s-1ID\s0 and lacking a \s-1DHT\s0 segment) to
243
produce fully qualified \s-1JPEG\s0 images.
244
.PP
245
.Vb 3
246
\&        ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
247
\&        exiftran -i -9 frame*.jpg
248
\&        ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
249
.Ve
250
.Sh "mjpega_dump_header"
251
.IX Subsection "mjpega_dump_header"
252
.Sh "movsub"
253
.IX Subsection "movsub"
254
.Sh "mp3_header_compress"
255
.IX Subsection "mp3_header_compress"
256
.Sh "mp3_header_decompress"
257
.IX Subsection "mp3_header_decompress"
258
.Sh "noise"
259
.IX Subsection "noise"
260
.Sh "remove_extra"
261
.IX Subsection "remove_extra"
262
.SH "SEE ALSO"
263
.IX Header "SEE ALSO"
264
\&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibavcodec\fR\|(3)
265
.SH "AUTHORS"
266
.IX Header "AUTHORS"
267
The FFmpeg developers.
268
.PP
269
For details about the authorship, see the Git history of the project
270
(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
271
\&\fBgit log\fR in the FFmpeg source directory, or browsing the
272
online repository at <\fBhttp://source.ffmpeg.org\fR>.
273
.PP
274
Maintainers for the specific components are listed in the file
275
\&\fI\s-1MAINTAINERS\s0\fR in the source code tree.