mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-26 17:23:19 +00:00
Spelling...
Originally committed as revision 15327 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a9f8587e15
commit
4a0266a0ec
@ -24,18 +24,18 @@ Current (simplified) Architecture:
|
||||
output
|
||||
|
||||
|
||||
Swscale has 2 scaler paths, each side must be capable to handle
|
||||
slices, that is consecutive non overlapping rectangles of dimension
|
||||
Swscale has 2 scaler paths. Each side must be capable of handling
|
||||
slices, that is, consecutive non-overlapping rectangles of dimension
|
||||
(0,slice_top) - (picture_width, slice_bottom)
|
||||
|
||||
special converter
|
||||
This generally are unscaled converters of common
|
||||
These generally are unscaled converters of common
|
||||
formats, like YUV 4:2:0/4:2:2 -> RGB15/16/24/32. Though it could also
|
||||
in principle contain scalers optimized for specific common cases.
|
||||
|
||||
Main path
|
||||
The main path is used when no special converter can be used, the code
|
||||
is designed as a destination line pull architecture. That is for each
|
||||
The main path is used when no special converter can be used. The code
|
||||
is designed as a destination line pull architecture. That is, for each
|
||||
output line the vertical scaler pulls lines from a ring buffer. When
|
||||
the ring buffer does not contain the wanted line then it is pulled from
|
||||
the input slice through the input converter and horizontal scaler, and
|
||||
@ -49,20 +49,20 @@ Main path
|
||||
|
||||
Input to YUV Converter
|
||||
When the input to the main path is not planar 8bit per component yuv or
|
||||
8bit gray then it is converted to planar 8bit YUV, 2 sets of converters
|
||||
exist for this currently one performing horizontal downscaling by 2
|
||||
8bit gray then it is converted to planar 8bit YUV. 2 sets of converters
|
||||
exist for this currently, one performing horizontal downscaling by 2
|
||||
before the conversion and the other leaving the full chroma resolution
|
||||
but being slightly slower. The scaler will try to preserve full chroma
|
||||
here when the output uses it, its possible to force full chroma with
|
||||
SWS_FULL_CHR_H_INP though even for cases where the scaler thinks its
|
||||
here when the output uses it. It is possible to force full chroma with
|
||||
SWS_FULL_CHR_H_INP though even for cases where the scaler thinks it is
|
||||
useless.
|
||||
|
||||
Horizontal scaler
|
||||
There are several horizontal scalers, a special case worth mentioning is
|
||||
There are several horizontal scalers. A special case worth mentioning is
|
||||
the fast bilinear scaler that is made of runtime generated MMX2 code
|
||||
using specially tuned pshufw instructions.
|
||||
The remaining scalers are specially tuned for various filter lengths
|
||||
they scale 8bit unsigned planar data to 16bit signed planar data.
|
||||
The remaining scalers are specially tuned for various filter lengths.
|
||||
They scale 8bit unsigned planar data to 16bit signed planar data.
|
||||
Future >8bit per component inputs will need to add a new scaler here
|
||||
that preserves the input precision.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user