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
f99654d4
Commit
f99654d4
authored
Oct 05, 2011
by
Ronald S. Bultje
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swscale: reintroduce full precision in 16-bit output.
parent
ff7913ae
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
39 additions
and
33 deletions
+39
-33
swscale.c
libswscale/swscale.c
+11
-5
pixdesc
tests/ref/lavfi/pixdesc
+4
-4
pixfmts_copy
tests/ref/lavfi/pixfmts_copy
+4
-4
pixfmts_crop
tests/ref/lavfi/pixfmts_crop
+2
-2
pixfmts_hflip
tests/ref/lavfi/pixfmts_hflip
+4
-4
pixfmts_null
tests/ref/lavfi/pixfmts_null
+4
-4
pixfmts_scale
tests/ref/lavfi/pixfmts_scale
+6
-6
pixfmts_vflip
tests/ref/lavfi/pixfmts_vflip
+4
-4
No files found.
libswscale/swscale.c
View file @
f99654d4
...
@@ -202,20 +202,26 @@ yuv2yuvX16_c_template(const int16_t *filter, int filterSize,
...
@@ -202,20 +202,26 @@ yuv2yuvX16_c_template(const int16_t *filter, int filterSize,
{
{
#define output_pixel(pos, val) \
#define output_pixel(pos, val) \
if (big_endian) { \
if (big_endian) { \
AV_WB16(pos,
av_clip_u
int16(val >> shift)); \
AV_WB16(pos,
0x8000 + av_clip_
int16(val >> shift)); \
} else { \
} else { \
AV_WL16(pos,
av_clip_u
int16(val >> shift)); \
AV_WL16(pos,
0x8000 + av_clip_
int16(val >> shift)); \
}
}
int
i
;
int
i
;
int
shift
=
15
+
16
-
output_bits
-
1
;
int
shift
=
15
+
16
-
output_bits
;
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
for
(
i
=
0
;
i
<
dstW
;
i
++
)
{
int
val
=
1
<<
(
30
-
output_bits
-
1
);
int
val
=
1
<<
(
30
-
output_bits
);
int
j
;
int
j
;
/* range of val is [0,0x7FFFFFFF], so 31 bits, but with lanczos/spline
* filters (or anything with negative coeffs, the range can be slightly
* wider in both directions. To account for this overflow, we subtract
* a constant so it always fits in the signed range (assuming a
* reasonable filterSize), and re-add that at the end. */
val
-=
0x40000000
;
for
(
j
=
0
;
j
<
filterSize
;
j
++
)
for
(
j
=
0
;
j
<
filterSize
;
j
++
)
val
+=
(
src
[
j
][
i
]
*
filter
[
j
])
>>
1
;
val
+=
src
[
j
][
i
]
*
filter
[
j
]
;
output_pixel
(
&
dest
[
i
],
val
);
output_pixel
(
&
dest
[
i
],
val
);
}
}
...
...
tests/ref/lavfi/pixdesc
View file @
f99654d4
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p16be
4e9b3b3467aeebb6a528cee5966800ed
yuv422p16be
5499502e1c29534a158a1fe60e889f60
yuv422p16le
f87c81bf16916b64d201359be0b4b6f4
yuv422p16le
e3d61fde6978591596bc36b914386623
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p16be
3ad639fff73e56f3b09dd20c335478d6
yuv444p16be
1c6ea2c2f5e539006112ceec3d4e7d90
yuv444p16le
8a7e66dc91ab7971fd24a9105ff2699b
yuv444p16le
20f86bc2f68d2b3f1f2b48b97b2189f4
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
...
...
tests/ref/lavfi/pixfmts_copy
View file @
f99654d4
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p16be
4e9b3b3467aeebb6a528cee5966800ed
yuv422p16be
5499502e1c29534a158a1fe60e889f60
yuv422p16le
f87c81bf16916b64d201359be0b4b6f4
yuv422p16le
e3d61fde6978591596bc36b914386623
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p16be
3ad639fff73e56f3b09dd20c335478d6
yuv444p16be
1c6ea2c2f5e539006112ceec3d4e7d90
yuv444p16le
8a7e66dc91ab7971fd24a9105ff2699b
yuv444p16le
20f86bc2f68d2b3f1f2b48b97b2189f4
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
...
...
tests/ref/lavfi/pixfmts_crop
View file @
f99654d4
...
@@ -33,8 +33,8 @@ yuv422p16be 167e4338811a7d272925a4c6417d60da
...
@@ -33,8 +33,8 @@ yuv422p16be 167e4338811a7d272925a4c6417d60da
yuv422p16le 3359395d5875d581fa1e975013d30114
yuv422p16le 3359395d5875d581fa1e975013d30114
yuv440p 2472417d980e395ad6843cbb8b633b29
yuv440p 2472417d980e395ad6843cbb8b633b29
yuv444p 1f151980486848c96bc5585ced99003e
yuv444p 1f151980486848c96bc5585ced99003e
yuv444p16be
5d0c0ea66ab43c0c590d8c2a9256e43f
yuv444p16be
1ce8fcd4712d525af983e6179d6a4f9e
yuv444p16le
3c0a747c1b64feb0ab8dfba92f92579
a
yuv444p16le
5f1441e18345aadb3f881dac99c6c08
a
yuva420p 7536753dfbc7932560fb50c921369a0e
yuva420p 7536753dfbc7932560fb50c921369a0e
yuvj420p 21f891093006d42d7683b0e1d773a657
yuvj420p 21f891093006d42d7683b0e1d773a657
yuvj422p 9a43d474c407590ad8f213880586b45e
yuvj422p 9a43d474c407590ad8f213880586b45e
...
...
tests/ref/lavfi/pixfmts_hflip
View file @
f99654d4
...
@@ -29,12 +29,12 @@ yuv420p 2d5c80f9ba2ddd85b2aeda3564cc7d64
...
@@ -29,12 +29,12 @@ yuv420p 2d5c80f9ba2ddd85b2aeda3564cc7d64
yuv420p16be 758b0c1e2113b15e7afde48da4e4d024
yuv420p16be 758b0c1e2113b15e7afde48da4e4d024
yuv420p16le 480ccd951dcb806bc875d307e02e50a0
yuv420p16le 480ccd951dcb806bc875d307e02e50a0
yuv422p 6e728f4eb9eae287c224f396d84be6ea
yuv422p 6e728f4eb9eae287c224f396d84be6ea
yuv422p16be
69cf0605496c321546899a8442ee64fb
yuv422p16be
a05d43cd62b790087bd37083174557de
yuv422p16le
f0b443fea72f4b6f462859a73b159664
yuv422p16le
6954abebcbc62d81068d58d0c62bdd5b
yuv440p a99e2b57ed601f39852715c9d675d0d3
yuv440p a99e2b57ed601f39852715c9d675d0d3
yuv444p 947e47f7bb5fdccc659d19b7df2b6fc3
yuv444p 947e47f7bb5fdccc659d19b7df2b6fc3
yuv444p16be
bc7d53923cff1d7e98d24540845fb64b
yuv444p16be
58c012e5ab73b066ef3c2b6411a395f1
yuv444p16le
5df206a93f85ef8b77f5bdc81d9b0a0b
yuv444p16le
32c12794e184042a59738ab2de608c8d
yuva420p d83ec0c01498189f179ec574918185f1
yuva420p d83ec0c01498189f179ec574918185f1
yuvj420p df3aaaec3bb157c3bde5f0365af30f4f
yuvj420p df3aaaec3bb157c3bde5f0365af30f4f
yuvj422p d113871528d510a192797af59df9c05c
yuvj422p d113871528d510a192797af59df9c05c
...
...
tests/ref/lavfi/pixfmts_null
View file @
f99654d4
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
...
@@ -40,16 +40,16 @@ yuv420p9le 16543fda8f87d94a6cf857d2e8d4461a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p c9bba4529821d796a6ab09f6a5fd355a
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10be bdc13b630fd668b34c6fe1aae28dfc71
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p10le d0607c260a45c973e6639f4e449730ad
yuv422p16be
4e9b3b3467aeebb6a528cee5966800ed
yuv422p16be
5499502e1c29534a158a1fe60e889f60
yuv422p16le
f87c81bf16916b64d201359be0b4b6f4
yuv422p16le
e3d61fde6978591596bc36b914386623
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9be 29b71579946940a8c00fa844c9dff507
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv422p9le 062b7f9cbb972bf36b5bdb1a7623701a
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv440p 5a064afe2b453bb52cdb3f176b1aa1cf
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p 0a98447b78fd476aa39686da6a74fa2e
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10be e65cbae7e4f1892c23defbc8e8052cf6
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p10le 767179dd82846cf00ee4c340c9c1ab74
yuv444p16be
3ad639fff73e56f3b09dd20c335478d6
yuv444p16be
1c6ea2c2f5e539006112ceec3d4e7d90
yuv444p16le
8a7e66dc91ab7971fd24a9105ff2699b
yuv444p16le
20f86bc2f68d2b3f1f2b48b97b2189f4
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9be 6ab31f4c12b533ce318ecdff83cdd054
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuv444p9le f0606604a5c08becab6ba500124c4b7c
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
yuva420p a29884f3f3dfe1e00b961bc17bef3d47
...
...
tests/ref/lavfi/pixfmts_scale
View file @
f99654d4
...
@@ -33,23 +33,23 @@ yuv411p 1143e7c5cc28fe0922b051b17733bc4c
...
@@ -33,23 +33,23 @@ yuv411p 1143e7c5cc28fe0922b051b17733bc4c
yuv420p fdad2d8df8985e3d17e73c71f713cb14
yuv420p fdad2d8df8985e3d17e73c71f713cb14
yuv420p10be c143e77e97d2f7d62c3b518857ba9f9b
yuv420p10be c143e77e97d2f7d62c3b518857ba9f9b
yuv420p10le 72d90eccf5c34691ff057dafb7447aa2
yuv420p10le 72d90eccf5c34691ff057dafb7447aa2
yuv420p16be
9688e33e03b8c8275ab2fb1df0f06bee
yuv420p16be
d7270efce54eb59c7b01c14157a1b890
yuv420p16le
cba8b390ad5e7b8678e419b8ce79c008
yuv420p16le
e85abf00bad940a922b623c91c9026d7
yuv420p9be bb87fddca65d1742412c8d2b1caf96c6
yuv420p9be bb87fddca65d1742412c8d2b1caf96c6
yuv420p9le 828eec50014a41258a5423c1fe56ac97
yuv420p9le 828eec50014a41258a5423c1fe56ac97
yuv422p 918e37701ee7377d16a8a6c119c56a40
yuv422p 918e37701ee7377d16a8a6c119c56a40
yuv422p10be cea7ca6b0e66d6f29539885896c88603
yuv422p10be cea7ca6b0e66d6f29539885896c88603
yuv422p10le a10c4a5837547716f13cd61918b145f9
yuv422p10le a10c4a5837547716f13cd61918b145f9
yuv422p16be
285993ee0c0f4f8e511ee46f93c5f38c
yuv422p16be
e7e34fe9264784763ab6cb406524c0f3
yuv422p16le
61bfcee8e54465f760164f5a75d40b5e
yuv422p16le
c435b76b08204dda6908640fb5fd4621
yuv422p9be 82494823944912f73cebc58ad2979bbd
yuv422p9be 82494823944912f73cebc58ad2979bbd
yuv422p9le fc69c8a21f473916a4b4225636b97e06
yuv422p9le fc69c8a21f473916a4b4225636b97e06
yuv440p 461503fdb9b90451020aa3b25ddf041c
yuv440p 461503fdb9b90451020aa3b25ddf041c
yuv444p 81b2eba962d12e8d64f003ac56f6faf2
yuv444p 81b2eba962d12e8d64f003ac56f6faf2
yuv444p10be e9d3c8e744b8b0d8187ca092fa203fc9
yuv444p10be e9d3c8e744b8b0d8187ca092fa203fc9
yuv444p10le 02f0a336e9da062a64df1ba487e102c5
yuv444p10le 02f0a336e9da062a64df1ba487e102c5
yuv444p16be
2677f3074d255f9dab625e9e2e092ca5
yuv444p16be
0da9bed80f5542682ab286f3261cf24c
yuv444p16le
65fa92521ef97088599ea83f9508cd5b
yuv444p16le
a0c5d3c7bf3f181db503cf8e450d1335
yuv444p9be 9ac2643ce7f7e5c4e17c8c9fd8494d4a
yuv444p9be 9ac2643ce7f7e5c4e17c8c9fd8494d4a
yuv444p9le 896a1cc9cccca1ba410dd53942d33cc4
yuv444p9le 896a1cc9cccca1ba410dd53942d33cc4
yuva420p 8673a9131fb47de69788863f93a50eb7
yuva420p 8673a9131fb47de69788863f93a50eb7
...
...
tests/ref/lavfi/pixfmts_vflip
View file @
f99654d4
...
@@ -40,16 +40,16 @@ yuv420p9le 7e606310d3f5ff12badf911e8f333471
...
@@ -40,16 +40,16 @@ yuv420p9le 7e606310d3f5ff12badf911e8f333471
yuv422p d7f5cb44d9b0210d66d6a8762640ab34
yuv422p d7f5cb44d9b0210d66d6a8762640ab34
yuv422p10be 588fe319b96513c32e21d3e32b45447f
yuv422p10be 588fe319b96513c32e21d3e32b45447f
yuv422p10le 11b57f2bd9661024153f3973b9090cdb
yuv422p10le 11b57f2bd9661024153f3973b9090cdb
yuv422p16be
c092d083548c2a144c372a98c46875c7
yuv422p16be
9bd8f8c961822b586fa4cf992be54acc
yuv422p16le
c071b9397a416d51cbe339345cbcba8
4
yuv422p16le
9c4a1239605c7952b736ac3130163f1
4
yuv422p9be 7c6f1e140b3999ee7d923854e507752a
yuv422p9be 7c6f1e140b3999ee7d923854e507752a
yuv422p9le 51f10d79c07989060dd06e767e6d7d60
yuv422p9le 51f10d79c07989060dd06e767e6d7d60
yuv440p 876385e96165acf51271b20e5d85a416
yuv440p 876385e96165acf51271b20e5d85a416
yuv444p 9c3c667d1613b72d15bc6d851c5eb8f7
yuv444p 9c3c667d1613b72d15bc6d851c5eb8f7
yuv444p10be 944a4997c4edb3a8dd0f0493cfd5a1fd
yuv444p10be 944a4997c4edb3a8dd0f0493cfd5a1fd
yuv444p10le 2d0947ae89ecc6a501eee6832cb27e06
yuv444p10le 2d0947ae89ecc6a501eee6832cb27e06
yuv444p16be
6a954614fd2a8ae0df53e4fd76937af8
yuv444p16be
de2dedfc6f12073ffead113f86e07ecf
yuv444p16le
65613965fb58cc4c3cd480a68b6540ea
yuv444p16le
8e83323cf102d6c823a03ae8a7b7e033
yuv444p9be 6ac92b7dc9ab2fc59bee99204886899a
yuv444p9be 6ac92b7dc9ab2fc59bee99204886899a
yuv444p9le 85aef13a654953d3455d89770b0d74bd
yuv444p9le 85aef13a654953d3455d89770b0d74bd
yuva420p c705d1cf061d8c6580ac690b55f92276
yuva420p c705d1cf061d8c6580ac690b55f92276
...
...
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