Commit Graph

28 Commits

Author SHA1 Message Date
Ronald S. Bultje 28c1115a91 swscale: use 15-bit intermediates for 9/10-bit scaling. 2011-08-12 11:54:25 -07:00
Ronald S. Bultje 62ee0e6a97 Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
This reverts commit ac0fb59348. It
causes valgrind errors which I'll want to investigate before
resubmitting this.
2011-08-02 12:27:43 -07:00
Ronald S. Bultje ac0fb59348 swscale: use 15-bit intermediates for 9/10-bit scaling. 2011-08-02 10:34:02 -07:00
Joseph Artsimovich eedb1f2034 swscale: mark YUV422P10(LE,BE) as supported for output
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 02:10:31 +01:00
Ronald S. Bultje 7d7bacf0f1 swscale: fix overflow in 16-bit vertical scaling.
We operated on 31-bits, but with e.g. lanczos scaling, values can
add up to beyond 0x80000000, thus leading to output of zeroes. Drop
one bit of precision fixes this.
2011-07-08 15:15:30 -07:00
Ronald S. Bultje f44d50a94c swscale: fix 16-bit horizontal scaling underflow.
When using e.g. lanczos scaling, values can drop below 0, so they
should never be unsigned.
2011-07-08 15:15:30 -07:00
Ronald S. Bultje 42d622fab3 swscale: fix 16-bit scaling when output is 8-bits.
We would use the second half of the U plane buffer, rather than the
V plane buffer, to output the V plane pixels.
2011-07-08 15:15:30 -07:00
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.
2011-07-01 09:08:26 -07:00
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).
2011-06-29 09:45:52 -07:00
Mans Rullgard b0da4903dd fate: enable lavfi-pixmt tests on big endian systems
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-28 23:35:00 +01:00
Mans Rullgard 842f463c77 fate: merge identical pixdesc_be/le tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-28 21:31:42 +01:00
Ronald S. Bultje 618230c7f4 swscale: update big endian reference values after dff5a835. 2011-06-28 08:58:21 -07:00
Ronald S. Bultje dff5a83532 swscale: re-add support for non-native endianness.
This works through some non-obvious hacks in utils.c.
2011-06-27 18:10:41 -07:00
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>
2011-06-14 09:46:49 -04:00
Ronald S. Bultje 845807494b fate: update 9/10bit refs. 2011-05-23 08:21:50 -04:00
Ronald S. Bultje 76f8a96e00 [PATCH] Update pixdesc_be fate refs after adding 9/10bit YUV420P formats.
Also remove code that overwrites the C versions of functions in
sws_init_swScale_altivec(), so that it uses the C functions of files
if no altivec-optimized version exists.
2011-05-14 06:37:39 -04:00
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.
2011-05-11 19:15:14 -04:00
Peter Ross c90626b2ea hflip: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Peter Ross a1f4d07563 crop: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Peter Ross 1afbae100b libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Mans Rullgard f4b1e21a63 fate: make lavfi tests output only md5
Instead of saving huge raw files, use the md5: output pseudo-protocol
to calculate the checksum of the file directly.  This is especially
useful when testing on remote targets as it avoids transferring 3.6GB
over the network.
2011-01-22 00:30:12 +00:00
Stefano Sabatini b567020943 Add copy filter, useful for testing the avfilter_draw_slice() copy
code.

Originally committed as revision 26112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-28 01:01:09 +00:00
Stefano Sabatini a1e171dfee Add hflip filter.
Originally committed as revision 24806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:59:12 +00:00
Stefano Sabatini 546017fc79 Sort lavfi pixdesc tests.
Increase readability and robustness, as the test result is not going
to differ if the order of the pixfmts codes changes.

Originally committed as revision 24665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 11:56:51 +00:00
Stefano Sabatini 213a4cbb39 Add lavfi-pixfmts LE tests.
The corresponding lavfi-pixfmts BE tests are not yet added, as there
are some bugs in the scaler (scaling rgba, argb, bgra, abgr, yuva420p)
which result in differences with the LE reference, and I cannot
visually check the generated files on BE.

Originally committed as revision 24657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 23:20:46 +00:00
Måns Rullgård 7c1bb9143e Fix lavfi pixdesc test
This test verifies the pixdesc code by comparing the output with and
without a filter which should have no effect on the image.  Since the
available pixel formats depend on the byte order of the machine, a
simple reference checksum is not possible.

The test originally tried to solve this by generating a reference file
on the fly.  The problem with this is that the test framework expects
the reference file in the source tree, and writing to the source tree
is not allowed.

To avoid complicating the test framework, we instead provide two
reference files and select which to use based on the byte order.

Originally committed as revision 24330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 17:17:49 +00:00
Stefano Sabatini c014631461 Update lavfitest reference after commit:
Author: bcoudurier
   Date:   Sat Jul 3 03:11:04 2010 +0000

       Set graph swscale opts before parsing it, that way opts are available
       when auto-adding scalers.

It changed the swscale flags used by the auto-added scalers, and so
the output video.

Originally committed as revision 24065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 22:32:56 +00:00
Stefano Sabatini cec96e8de3 Add some ad-hoc tests for libavfilter.
A patched version of ffmpeg supporting video filters is required for
getting this working; thus make lavfitest is supposed to work only in
the libavfilter repository for now.

Originally committed as revision 22586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:23:44 +00:00