Ronald S. Bultje
4e3e333a79
swscale: error dithering for 16/9/10-bit to 8-bit.
...
Based on a somewhat similar idea in FFmpeg's swscale copy.
14 years ago
Ronald S. Bultje
f28aaae1c5
swscale: amend documentation to mention use of native depth for scaling.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Mans Rullgard
abc78a5a7c
Do not include log.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
d49ea4afb4
Do not include pixfmt.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
8a8d0ce208
swscale: for >8bit scaling, read in native bit-depth.
...
For 9/10bit, it means we don't have to upscale to 16bit before
actual scaling or pixel format conversion, and thus a performance
gain.
14 years ago
Ronald S. Bultje
45f6ffe5e9
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Ronald S. Bultje
ef1ee362b3
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Ronald S. Bultje
4578435f35
swscale: Add Doxygen for hyscale_fast/hScale.
14 years ago
Ronald S. Bultje
d6cc6ac6b8
swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.
14 years ago
Ronald S. Bultje
13a099799e
swscale: change prototypes of scaled YUV output functions.
...
Remove unused variables "flags" and "dstFormat" in yuv2packed1,
merge source rows per plane for yuv2packed[12], and make every
source argument int16_t (some where invalidly set to uint16_t).
This prevents stack pollution and is part of the Great Evil Plan
to simplify swscale.
14 years ago
Ronald S. Bultje
97535ffb97
swscale: remove unused xInc/srcW arguments from hScale().
14 years ago
Michael Niedermayer
0af8a71d66
swscale: fix JPEG-range YUV scaling artifacts.
...
YUV planes were marked as uint16_t, but they contained signed data.
Fixes issue 1108 and 675.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
103278f7b0
libavutil/swscale: YUV444P10/YUV444P9 support.
...
Also add missing glue code for recently added YUV422P10 formats
to swscale.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
b73fe70025
swscale: add yuv2planar/packed function typedefs.
14 years ago
Ronald S. Bultje
df91d09174
swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.
14 years ago
Ronald S. Bultje
ea28175312
swscale: remove alp/chr/lumSrcOffset.
...
They are hacks added to reuse the same scaling function for
different formats and they may cause problems when SIMD
implementation of the same functions are used along with pure
C functions.
14 years ago
Michael Niedermayer
7a8228c05e
sws: make dither_scale const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
6af2801088
swscale: split swscale.c in unscaled and generic conversion routines.
...
This duplicates the function fillPlane().
14 years ago
Ronald S. Bultje
983260b0a4
swscale: split out x86/swscale_template.c from swscale.c.
14 years ago
Ronald S. Bultje
67d80a5421
swscale: split out ppc _template.c files from main swscale.c.
14 years ago
Ronald S. Bultje
0e5d31b16b
swscale: split out unscaled altivec YUV converters in their own file.
14 years ago
Stefano Sabatini
b932eb1be6
swscale: reintroduce sws_format_name() symbol
...
Reintroduce the internal symbol which was removed in:
commit e1197b9e17
Author: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Date: Sun May 29 17:57:40 2011 +0200
swscale: remove sws_format_name()
Use av_get_pix_fmt_name() instead.
The symbol is used by some external libs (hi libx264!), this gives
time to them to use the recently added av_get_pix_fmt_name() rather
than an internal symbol.
14 years ago
Michael Niedermayer
6713989c23
swscale: dither for planar yuv outputs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Stefano Sabatini
e1197b9e17
swscale: remove sws_format_name()
...
Use av_get_pix_fmt_name() instead.
14 years ago
Michael Niedermayer
986f0d86cb
Commits that could not be pulled earlier due to bugs.
...
commit 93681fbd50
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 11:32:32 2011 -0400
swscale: fix compile on ppc.
commit e758573a88
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 10:36:47 2011 -0400
swscale: fix compile on x86-32.
commit 0f4eb8b043
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 09:17:52 2011 -0400
swscale: remove VOF/VOFW.
commit b4a224c5e4
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Wed May 25 14:30:09 2011 -0400
swscale: split chroma buffers into separate U/V planes.
Preparatory step to implement support for sizes > VOFW.
14 years ago
Ronald S. Bultje
485d73ef21
swscale: replace formatConvBuffer[VOF] by allocated array.
...
This allows to convert between formats of arbitrary width,
regardless of the value of VOF/VOFW.
14 years ago
Anton Khirnov
b8e893399f
sws: replace all long with int.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
009f829dde
swscale: fix crash in bilinear scaling.
14 years ago
Ronald S. Bultje
93681fbd50
swscale: fix compile on ppc.
14 years ago
Ronald S. Bultje
0f4eb8b043
swscale: remove VOF/VOFW.
14 years ago
Ronald S. Bultje
b4a224c5e4
swscale: split chroma buffers into separate U/V planes.
...
Preparatory step to implement support for sizes > VOFW.
14 years ago
Ronald S. Bultje
69645c021a
swscale: replace formatConvBuffer[VOF] by allocated array.
...
This allows to convert between formats of arbitrary width,
regardless of the value of VOF/VOFW.
14 years ago
Michael Niedermayer
895b616146
swscale: dont loose bits on planar >8bit yuv ind gray nput.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
e66149e714
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
14 years ago
Ronald S. Bultje
c8f487deae
swscale: fix YUV420P 9/10bit support.
...
Fix handling of input if not in native endianness, and add support for
9/10-bit output. This allows us to force endianness of YUV420P 9/10bit
in the H264/10bit fate tests, which should fix them on big-endian
systems.
14 years ago
ami_stuff
1d14edb724
Use VOFW 21503 as a default value for all types of the CPUs
14 years ago
Oskar Arvidsson
42239ced65
Add pixel formats for 9- and 10-bit yuv420p.
...
Also add support for these formats in libswscale.
Needed for high bit depth h264 decoding.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Baptiste Coudurier
b9e608492a
swscale: 9,10 bits pixel format output support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Peter Ross
1afbae100b
libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
Baptiste Coudurier
624a7e005c
Correctly support pal8 with alpha in libswscale, fix png pal8 with alpha.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Baptiste Coudurier
e91946ed23
Rename y400a to gray8a.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Luca Barbato
0e1a5434e2
swscale: Factorize FAST_BGR2YV12 definition.
...
It is used only for x86 so it will eventually be moved with that code
into the x86 arch subdirectory.
14 years ago
Oskar Arvidsson
d4497f6dfb
Add pixel formats for 9- and 10-bit yuv420p.
...
Also add support for these formats in libswscale.
Needed for high bit depth h264 decoding.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Michael Niedermayer
116758a358
Fix yuvj420p scaling artefact, issue1108.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Michael Niedermayer
ffd39f9d23
Fix typo from e3a84542
.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Frank Barchard
e3a8454205
SWSCALE: Increase maximim with from 5120 to 21504
...
Heres a benchmark
VOFW 5120 VOFW 21504 Note
10438.8 10344.2 timex ffmpeg -y -i tulip2.mp4 tulip2.yuv
25611.9 24256.9 timex ffmpeg -y -itulip2.mp4 -s 1272x724 tulip2.yuv
24485.7 26006.6
28573.1 24291.3
24069.1 26995.9
25684.95 25387.675 average
This is on a Nehalem i7. Despite being a 500 frame, 720p video, the numbers
fluctuate, so I took an average of 4 runs.
Another reason I'd like this change is youtube accepts videos with higher
resolutions than 5120.
16384 is vp8's maximum resolution, so that should keep us amused for a
little longer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Peter Ross
3e2523db20
libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Baptiste Coudurier
df0743e01e
Y400A (gray alpha) input support in libswscale
...
Originally committed as revision 32394 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
14 years ago
Reimar Döffinger
5a55d5b592
More const-correctness fixes to avoid warnings.
...
Originally committed as revision 31781 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
15 years ago