Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
4a0266a0
Commit
4a0266a0
authored
Sep 14, 2008
by
Ramiro Polla
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Spelling...
Originally committed as revision 15327 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
a9f8587e
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
12 deletions
+12
-12
swscale.txt
doc/swscale.txt
+12
-12
No files found.
doc/swscale.txt
View file @
4a0266a0
...
...
@@ -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
Th
is
generally are unscaled converters of common
Th
ese
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
, t
he 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
. T
he 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
, it
s 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 i
s possible to force full chroma with
SWS_FULL_CHR_H_INP though even for cases where the scaler thinks it
i
s
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
t
hey scale 8bit unsigned planar data to 16bit signed planar data.
The remaining scalers are specially tuned for various filter lengths
.
T
hey 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.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment