yading@10: .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) yading@10: .\" yading@10: .\" Standard preamble: yading@10: .\" ======================================================================== yading@10: .de Sp \" Vertical space (when we can't use .PP) yading@10: .if t .sp .5v yading@10: .if n .sp yading@10: .. yading@10: .de Vb \" Begin verbatim text yading@10: .ft CW yading@10: .nf yading@10: .ne \\$1 yading@10: .. yading@10: .de Ve \" End verbatim text yading@10: .ft R yading@10: .fi yading@10: .. yading@10: .\" Set up some character translations and predefined strings. \*(-- will yading@10: .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left yading@10: .\" double quote, and \*(R" will give a right double quote. \*(C+ will yading@10: .\" give a nicer C++. Capital omega is used to do unbreakable dashes and yading@10: .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, yading@10: .\" nothing in troff, for use with C<>. yading@10: .tr \(*W- yading@10: .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' yading@10: .ie n \{\ yading@10: . ds -- \(*W- yading@10: . ds PI pi yading@10: . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch yading@10: . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch yading@10: . ds L" "" yading@10: . ds R" "" yading@10: . ds C` "" yading@10: . ds C' "" yading@10: 'br\} yading@10: .el\{\ yading@10: . ds -- \|\(em\| yading@10: . ds PI \(*p yading@10: . ds L" `` yading@10: . ds R" '' yading@10: 'br\} yading@10: .\" yading@10: .\" Escape single quotes in literal strings from groff's Unicode transform. yading@10: .ie \n(.g .ds Aq \(aq yading@10: .el .ds Aq ' yading@10: .\" yading@10: .\" If the F register is turned on, we'll generate index entries on stderr for yading@10: .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index yading@10: .\" entries marked with X<> in POD. Of course, you'll have to process the yading@10: .\" output yourself in some meaningful fashion. yading@10: .ie \nF \{\ yading@10: . de IX yading@10: . tm Index:\\$1\t\\n%\t"\\$2" yading@10: .. yading@10: . nr % 0 yading@10: . rr F yading@10: .\} yading@10: .el \{\ yading@10: . de IX yading@10: .. yading@10: .\} yading@10: .\" yading@10: .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). yading@10: .\" Fear. Run. Save yourself. No user-serviceable parts. yading@10: . \" fudge factors for nroff and troff yading@10: .if n \{\ yading@10: . ds #H 0 yading@10: . ds #V .8m yading@10: . ds #F .3m yading@10: . ds #[ \f1 yading@10: . ds #] \fP yading@10: .\} yading@10: .if t \{\ yading@10: . ds #H ((1u-(\\\\n(.fu%2u))*.13m) yading@10: . ds #V .6m yading@10: . ds #F 0 yading@10: . ds #[ \& yading@10: . ds #] \& yading@10: .\} yading@10: . \" simple accents for nroff and troff yading@10: .if n \{\ yading@10: . ds ' \& yading@10: . ds ` \& yading@10: . ds ^ \& yading@10: . ds , \& yading@10: . ds ~ ~ yading@10: . ds / yading@10: .\} yading@10: .if t \{\ yading@10: . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" yading@10: . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' yading@10: . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' yading@10: . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' yading@10: . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' yading@10: . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' yading@10: .\} yading@10: . \" troff and (daisy-wheel) nroff accents yading@10: .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' yading@10: .ds 8 \h'\*(#H'\(*b\h'-\*(#H' yading@10: .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] yading@10: .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' yading@10: .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' yading@10: .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] yading@10: .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] yading@10: .ds ae a\h'-(\w'a'u*4/10)'e yading@10: .ds Ae A\h'-(\w'A'u*4/10)'E yading@10: . \" corrections for vroff yading@10: .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' yading@10: .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' yading@10: . \" for low resolution devices (crt and lpr) yading@10: .if \n(.H>23 .if \n(.V>19 \ yading@10: \{\ yading@10: . ds : e yading@10: . ds 8 ss yading@10: . ds o a yading@10: . ds d- d\h'-1'\(ga yading@10: . ds D- D\h'-1'\(hy yading@10: . ds th \o'bp' yading@10: . ds Th \o'LP' yading@10: . ds ae ae yading@10: . ds Ae AE yading@10: .\} yading@10: .rm #[ #] #H #V #F C yading@10: .\" ======================================================================== yading@10: .\" yading@10: .IX Title "FFMPEG-RESAMPLER 1" yading@10: .TH FFMPEG-RESAMPLER 1 "2013-04-21" " " " " yading@10: .\" For nroff, turn off justification. Always turn off hyphenation; it makes yading@10: .\" way too many mistakes in technical documents. yading@10: .if n .ad l yading@10: .nh yading@10: .SH "NAME" yading@10: ffmpeg\-resampler \- FFmpeg Resampler yading@10: .SH "DESCRIPTION" yading@10: .IX Header "DESCRIPTION" yading@10: The FFmpeg resampler provides an high-level interface to the yading@10: libswresample library audio resampling utilities. In particular it yading@10: allows to perform audio resampling, audio channel layout rematrixing, yading@10: and convert audio format and packing layout. yading@10: .SH "RESAMPLER OPTIONS" yading@10: .IX Header "RESAMPLER OPTIONS" yading@10: The audio resampler supports the following named options. yading@10: .PP yading@10: Options may be set by specifying \-\fIoption\fR \fIvalue\fR in the yading@10: FFmpeg tools, \fIoption\fR=\fIvalue\fR for the aresample filter, yading@10: by setting the value explicitly in the yading@10: \&\f(CW\*(C`SwrContext\*(C'\fR options or using the \fIlibavutil/opt.h\fR \s-1API\s0 for yading@10: programmatic use. yading@10: .IP "\fBich, in_channel_count\fR" 4 yading@10: .IX Item "ich, in_channel_count" yading@10: Set the number of input channels. Default value is 0. Setting this yading@10: value is not mandatory if the corresponding channel layout yading@10: \&\fBin_channel_layout\fR is set. yading@10: .IP "\fBoch, out_channel_count\fR" 4 yading@10: .IX Item "och, out_channel_count" yading@10: Set the number of output channels. Default value is 0. Setting this yading@10: value is not mandatory if the corresponding channel layout yading@10: \&\fBout_channel_layout\fR is set. yading@10: .IP "\fBuch, used_channel_count\fR" 4 yading@10: .IX Item "uch, used_channel_count" yading@10: Set the number of used input channels. Default value is 0. This option is yading@10: only used for special remapping. yading@10: .IP "\fBisr, in_sample_rate\fR" 4 yading@10: .IX Item "isr, in_sample_rate" yading@10: Set the input sample rate. Default value is 0. yading@10: .IP "\fBosr, out_sample_rate\fR" 4 yading@10: .IX Item "osr, out_sample_rate" yading@10: Set the output sample rate. Default value is 0. yading@10: .IP "\fBisf, in_sample_fmt\fR" 4 yading@10: .IX Item "isf, in_sample_fmt" yading@10: Specify the input sample format. It is set by default to \f(CW\*(C`none\*(C'\fR. yading@10: .IP "\fBosf, out_sample_fmt\fR" 4 yading@10: .IX Item "osf, out_sample_fmt" yading@10: Specify the output sample format. It is set by default to \f(CW\*(C`none\*(C'\fR. yading@10: .IP "\fBtsf, internal_sample_fmt\fR" 4 yading@10: .IX Item "tsf, internal_sample_fmt" yading@10: Set the internal sample format. Default value is \f(CW\*(C`none\*(C'\fR. yading@10: This will automatically be chosen when it is not explicitly set. yading@10: .IP "\fBicl, in_channel_layout\fR" 4 yading@10: .IX Item "icl, in_channel_layout" yading@10: Set the input channel layout. yading@10: .IP "\fBocl, out_channel_layout\fR" 4 yading@10: .IX Item "ocl, out_channel_layout" yading@10: Set the output channel layout. yading@10: .IP "\fBclev, center_mix_level\fR" 4 yading@10: .IX Item "clev, center_mix_level" yading@10: Set the center mix level. It is a value expressed in deciBel, and must be yading@10: in the interval [\-32,32]. yading@10: .IP "\fBslev, surround_mix_level\fR" 4 yading@10: .IX Item "slev, surround_mix_level" yading@10: Set the surround mix level. It is a value expressed in deciBel, and must yading@10: be in the interval [\-32,32]. yading@10: .IP "\fBlfe_mix_level\fR" 4 yading@10: .IX Item "lfe_mix_level" yading@10: Set \s-1LFE\s0 mix into non \s-1LFE\s0 level. It is used when there is a \s-1LFE\s0 input but no yading@10: \&\s-1LFE\s0 output. It is a value expressed in deciBel, and must yading@10: be in the interval [\-32,32]. yading@10: .IP "\fBrmvol, rematrix_volume\fR" 4 yading@10: .IX Item "rmvol, rematrix_volume" yading@10: Set rematrix volume. Default value is 1.0. yading@10: .IP "\fBflags, swr_flags\fR" 4 yading@10: .IX Item "flags, swr_flags" yading@10: Set flags used by the converter. Default value is 0. yading@10: .Sp yading@10: It supports the following individual flags: yading@10: .RS 4 yading@10: .IP "\fBres\fR" 4 yading@10: .IX Item "res" yading@10: force resampling, this flag forces resampling to be used even when the yading@10: input and output sample rates match. yading@10: .RE yading@10: .RS 4 yading@10: .RE yading@10: .IP "\fBdither_scale\fR" 4 yading@10: .IX Item "dither_scale" yading@10: Set the dither scale. Default value is 1. yading@10: .IP "\fBdither_method\fR" 4 yading@10: .IX Item "dither_method" yading@10: Set dither method. Default value is 0. yading@10: .Sp yading@10: Supported values: yading@10: .RS 4 yading@10: .IP "\fBrectangular\fR" 4 yading@10: .IX Item "rectangular" yading@10: select rectangular dither yading@10: .IP "\fBtriangular\fR" 4 yading@10: .IX Item "triangular" yading@10: select triangular dither yading@10: .IP "\fBtriangular_hp\fR" 4 yading@10: .IX Item "triangular_hp" yading@10: select triangular dither with high pass yading@10: .IP "\fBlipshitz\fR" 4 yading@10: .IX Item "lipshitz" yading@10: select lipshitz noise shaping dither yading@10: .IP "\fBshibata\fR" 4 yading@10: .IX Item "shibata" yading@10: select shibata noise shaping dither yading@10: .IP "\fBlow_shibata\fR" 4 yading@10: .IX Item "low_shibata" yading@10: select low shibata noise shaping dither yading@10: .IP "\fBhigh_shibata\fR" 4 yading@10: .IX Item "high_shibata" yading@10: select high shibata noise shaping dither yading@10: .IP "\fBf_weighted\fR" 4 yading@10: .IX Item "f_weighted" yading@10: select f\-weighted noise shaping dither yading@10: .IP "\fBmodified_e_weighted\fR" 4 yading@10: .IX Item "modified_e_weighted" yading@10: select modified-e-weighted noise shaping dither yading@10: .IP "\fBimproved_e_weighted\fR" 4 yading@10: .IX Item "improved_e_weighted" yading@10: select improved-e-weighted noise shaping dither yading@10: .RE yading@10: .RS 4 yading@10: .RE yading@10: .IP "\fBresampler\fR" 4 yading@10: .IX Item "resampler" yading@10: Set resampling engine. Default value is swr. yading@10: .Sp yading@10: Supported values: yading@10: .RS 4 yading@10: .IP "\fBswr\fR" 4 yading@10: .IX Item "swr" yading@10: select the native \s-1SW\s0 Resampler; filter options precision and cheby are not yading@10: applicable in this case. yading@10: .IP "\fBsoxr\fR" 4 yading@10: .IX Item "soxr" yading@10: select the SoX Resampler (where available); compensation, and filter options yading@10: filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this yading@10: case. yading@10: .RE yading@10: .RS 4 yading@10: .RE yading@10: .IP "\fBfilter_size\fR" 4 yading@10: .IX Item "filter_size" yading@10: For swr only, set resampling filter size, default value is 32. yading@10: .IP "\fBphase_shift\fR" 4 yading@10: .IX Item "phase_shift" yading@10: For swr only, set resampling phase shift, default value is 10, and must be in yading@10: the interval [0,30]. yading@10: .IP "\fBlinear_interp\fR" 4 yading@10: .IX Item "linear_interp" yading@10: Use Linear Interpolation if set to 1, default value is 0. yading@10: .IP "\fBcutoff\fR" 4 yading@10: .IX Item "cutoff" yading@10: Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float yading@10: value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr yading@10: (which, with a sample-rate of 44100, preserves the entire audio band to 20kHz). yading@10: .IP "\fBprecision\fR" 4 yading@10: .IX Item "precision" yading@10: For soxr only, the precision in bits to which the resampled signal will be yading@10: calculated. The default value of 20 (which, with suitable dithering, is yading@10: appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a yading@10: value of 28 gives SoX's 'Very High Quality'. yading@10: .IP "\fBcheby\fR" 4 yading@10: .IX Item "cheby" yading@10: For soxr only, selects passband rolloff none (Chebyshev) & higher-precision yading@10: approximation for 'irrational' ratios. Default value is 0. yading@10: .IP "\fBasync\fR" 4 yading@10: .IX Item "async" yading@10: For swr only, simple 1 parameter audio sync to timestamps using stretching, yading@10: squeezing, filling and trimming. Setting this to 1 will enable filling and yading@10: trimming, larger values represent the maximum amount in samples that the data yading@10: may be stretched or squeezed for each second. yading@10: Default value is 0, thus no compensation is applied to make the samples match yading@10: the audio timestamps. yading@10: .IP "\fBfirst_pts\fR" 4 yading@10: .IX Item "first_pts" yading@10: For swr only, assume the first pts should be this value. The time unit is 1 / sample rate. yading@10: This allows for padding/trimming at the start of stream. By default, no yading@10: assumption is made about the first frame's expected pts, so no padding or yading@10: trimming is done. For example, this could be set to 0 to pad the beginning with yading@10: silence if an audio stream starts after the video stream or to trim any samples yading@10: with a negative pts due to encoder delay. yading@10: .IP "\fBmin_comp\fR" 4 yading@10: .IX Item "min_comp" yading@10: For swr only, set the minimum difference between timestamps and audio data (in yading@10: seconds) to trigger stretching/squeezing/filling or trimming of the yading@10: data to make it match the timestamps. The default is that yading@10: stretching/squeezing/filling and trimming is disabled yading@10: (\fBmin_comp\fR = \f(CW\*(C`FLT_MAX\*(C'\fR). yading@10: .IP "\fBmin_hard_comp\fR" 4 yading@10: .IX Item "min_hard_comp" yading@10: For swr only, set the minimum difference between timestamps and audio data (in yading@10: seconds) to trigger adding/dropping samples to make it match the yading@10: timestamps. This option effectively is a threshold to select between yading@10: hard (trim/fill) and soft (squeeze/stretch) compensation. Note that yading@10: all compensation is by default disabled through \fBmin_comp\fR. yading@10: The default is 0.1. yading@10: .IP "\fBcomp_duration\fR" 4 yading@10: .IX Item "comp_duration" yading@10: For swr only, set duration (in seconds) over which data is stretched/squeezed yading@10: to make it match the timestamps. Must be a non-negative double float value, yading@10: default value is 1.0. yading@10: .IP "\fBmax_soft_comp\fR" 4 yading@10: .IX Item "max_soft_comp" yading@10: For swr only, set maximum factor by which data is stretched/squeezed to make it yading@10: match the timestamps. Must be a non-negative double float value, default value yading@10: is 0. yading@10: .IP "\fBmatrix_encoding\fR" 4 yading@10: .IX Item "matrix_encoding" yading@10: Select matrixed stereo encoding. yading@10: .Sp yading@10: It accepts the following values: yading@10: .RS 4 yading@10: .IP "\fBnone\fR" 4 yading@10: .IX Item "none" yading@10: select none yading@10: .IP "\fBdolby\fR" 4 yading@10: .IX Item "dolby" yading@10: select Dolby yading@10: .IP "\fBdplii\fR" 4 yading@10: .IX Item "dplii" yading@10: select Dolby Pro Logic \s-1II\s0 yading@10: .RE yading@10: .RS 4 yading@10: .Sp yading@10: Default value is \f(CW\*(C`none\*(C'\fR. yading@10: .RE yading@10: .IP "\fBfilter_type\fR" 4 yading@10: .IX Item "filter_type" yading@10: For swr only, select resampling filter type. This only affects resampling yading@10: operations. yading@10: .Sp yading@10: It accepts the following values: yading@10: .RS 4 yading@10: .IP "\fBcubic\fR" 4 yading@10: .IX Item "cubic" yading@10: select cubic yading@10: .IP "\fBblackman_nuttall\fR" 4 yading@10: .IX Item "blackman_nuttall" yading@10: select Blackman Nuttall Windowed Sinc yading@10: .IP "\fBkaiser\fR" 4 yading@10: .IX Item "kaiser" yading@10: select Kaiser Windowed Sinc yading@10: .RE yading@10: .RS 4 yading@10: .RE yading@10: .IP "\fBkaiser_beta\fR" 4 yading@10: .IX Item "kaiser_beta" yading@10: For swr only, set Kaiser Window Beta value. Must be an integer in the yading@10: interval [2,16], default value is 9. yading@10: .SH "SEE ALSO" yading@10: .IX Header "SEE ALSO" yading@10: \&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibswresample\fR\|(3) yading@10: .SH "AUTHORS" yading@10: .IX Header "AUTHORS" yading@10: The FFmpeg developers. yading@10: .PP yading@10: For details about the authorship, see the Git history of the project yading@10: (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command yading@10: \&\fBgit log\fR in the FFmpeg source directory, or browsing the yading@10: online repository at <\fBhttp://source.ffmpeg.org\fR>. yading@10: .PP yading@10: Maintainers for the specific components are listed in the file yading@10: \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.