summaryrefslogtreecommitdiff
path: root/libswscale
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling. include stdint.h in adpcm_data.h mpeg12: reorder functions to avoid ugly forward declarations Fixed off by one packet size allocation in the smacker demuxer. Check for invalid packet size in the smacker demuxer. ape demuxer: fix segfault on memory allocation failure. xan: Add some buffer checks xan: Remove extra trailing newline Fixed size given to init_get_bits() in xan decoder. Conflicts: libavcodec/mpeg12.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling.Ronald S. Bultje2011-09-13
| | | | | | | | | | | | Speed: from 3.9x to 9.6x speed improvement over C, and some small (up to 15%) speed improvements over existing MMX code (particularly for bigger filters).
* | swscale: Fix unused asm and enable itMichael Niedermayer2011-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Author of the fix is ronald, the enabling & commit message are mine. This fixes commit 4e3e333a79272944b40695166438359b376d7864 Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Tue Jul 5 12:49:11 2011 -0700 swscale: error dithering for 16/9/10-bit to 8-bit. Based on a somewhat similar idea in FFmpeg's swscale copy. The Fix was originally commited in: (and i missed it due to the commit message) commit 5c391a161a1f71dcdafd3f59b45d80220845f501 Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Fri Jul 8 14:39:04 2011 -0700 swscale: rename uv_off/uv_off2 to uv_off_px/byte.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: AVOptions: fix av_set_string3() doxy to match reality. cmdutils: get rid of dummy contexts for examining AVOptions. lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions. AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find(). cpu detection: avoid a signed overflow Conflicts: avconv.c cmdutils.c doc/APIchanges ffmpeg.c libavcodec/options.c libavcodec/version.h libavformat/version.h libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.Anton Khirnov2011-09-03
| |
* | Remove unused variables.Reimar Döffinger2011-09-01
| | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | sws: fix a huge amount of incompatible pointer type arguments warnings.Clément Bœsch2011-09-01
| |
* | sws: use shift for chroma sample up convertionMichael Niedermayer2011-08-25
| | | | | | | | | | | | sws: use shifts for non full range luma sample upconvertion Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) h264: hide reference frame errors unless requested swscale: split hScale() function pointer into h[cy]Scale(). Move clipd macros to x86util.asm. avconv: reindent. avconv: rescue poor abused start_time global. avconv: rescue poor abused recording_time global. avconv: merge two loops in output_packet(). avconv: fix broken indentation. avconv: get rid of the arbitrary MAX_FILES limit. avconv: get rid of the output_streams_for_file vs. ost_table schizophrenia avconv: add a wrapper for output AVFormatContexts and merge output_opts into it avconv: make itsscale syntax consistent with other options. avconv: factor out adding input streams. avconv: Factorize combining auto vsync with format. avconv: Factorize video resampling. avconv: Don't unnecessarily convert ipts to a double. ffmpeg: remove unsed variable nopts RV3/4 parser: remove unused variable 'off' add XMV demuxer rmdec: parse FPS in RealMedia properly ... Conflicts: avconv.c libavformat/version.h libswscale/swscale.c tests/ref/fate/lmlm4-demux Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: split hScale() function pointer into h[cy]Scale().Ronald S. Bultje2011-08-17
| | | | | | | | | | | | This allows using more specific implementations for chroma/luma, e.g. we can make assumptions on filterSize being constant, thus avoiding that test at runtime.
* | sws: remove hScale16NX_c()Michael Niedermayer2011-08-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | sws: remove hScale16N() and use ronalds reformated version of it.Michael Niedermayer2011-08-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | sws: remove unneeded code from last mergeMichael Niedermayer2011-08-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-13
|\| | | | | | | | | | | | | | | | | | | * qatar/master: swscale: add dithering to yuv2yuvX_altivec_real rv34: free+allocate buffer instead of reallocating it to preserve alignment h264: add missing brackets. swscale: use 15-bit intermediates for 9/10-bit scaling. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: add dithering to yuv2yuvX_altivec_realLuca Barbato2011-08-13
| | | | | | | | | | | | | | It just does that part in scalar form, I doubt using a vector store over 2 array would speed it up particularly. The function should be written to not use a scratch buffer.
| * swscale: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje2011-08-12
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-05
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: lsws: remove optimization debug logs in sws_init_context() lsws: use array for storing the supported in/out information Conflicts: libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lsws: remove optimization debug logs in sws_init_context()Stefano Sabatini2011-08-05
| | | | | | | | | | | | | | | | | | The logged information is possibly false, and it tends to be outdated after each change since the logging code needs to be manually updated. Simplify and prevent confusing wrong debug messages. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * lsws: use array for storing the supported in/out informationStefano Sabatini2011-08-05
| | | | | | | | | | | | | | | | | | Also remove the unnecessary isSupportedIn/Out macros. Make the code more compact/readable, and simplify the access to lsws-specific pixel format information. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."Ronald S. Bultje2011-08-02
| | | | | | | | | | | | This reverts commit ac0fb5934893be554a44d2a1eb7a3bc7bf39da4a. It causes valgrind errors which I'll want to investigate before resubmitting this.
| * swscale: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje2011-08-02
| |
* | lsws: remove deprecated and unused stuff after the 0->1 major bumpStefano Sabatini2011-08-04
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE x11grab: add show_region AVOption. x11grab: add follow_mouse AVOption. Do not convert RGB buffer at once when stride does not fit exact samples. Conflicts: libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Do not convert RGB buffer at once when stride does not fit exact samples.Kostya Shishkov2011-07-30
| | | | | | | | | | | | | | | | | | | | | | When converting RGB format to RGB format with the same bits per sample, unscaled path performs conversion on the whole buffer at once. For non-multiple-of-16 BGR24 to RGB24 conversion it means that padding at the end of line will be converted too. Since it may be of arbitrary length (e.g. 8 bytes), operating on the whole buffer produces obviously wrong results. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | lsws: apply logging factorization in sws_scale_init()Stefano Sabatini2011-07-28
| |
* | lsws: remove redundant macros isSupportedIn/OutStefano Sabatini2011-07-27
| | | | | | | | Directly call sws_isSupportedInput/Output.
* | lsws: factorize some logging code in sws_init_context()Stefano Sabatini2011-07-27
| |
* | lsws: fix weird indentStefano Sabatini2011-07-25
| |
* | lsws: use array for storing the supported in/out informationStefano Sabatini2011-07-25
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rv30: return AVERROR(EINVAL) instead of EINVAL build: add -L flags before existing LDFLAGS simple_idct: whitespace cosmetics simple_idct: make repeated code a macro dsputil: remove huge #if 0 block simple_idct: change 10-bit add/put stride from pixels to bytes dsputil: allow 9/10-bit functions for non-h264 codecs dnxhd: rename some data tables dnxhdenc: remove inline from function only called through pointer dnxhdenc: whitespace cosmetics swscale: mark YUV422P10(LE,BE) as supported for output configure: add -xc99 to LDFLAGS for Sun CC Remove unused and non-compiling vestigial g729 decoder Remove unused code under G729_BITEXACT #ifdef. mpegvideo: fix invalid picture unreferencing. dsputil: Remove extra blank line at end. dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT. simple_idct: add 10-bit version Conflicts: Makefile libavcodec/g729data.h libavcodec/g729dec.c libavcodec/rv30.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: mark YUV422P10(LE,BE) as supported for outputJoseph Artsimovich2011-07-21
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: Automatically add more flags required on symbian mem.h: switch doxygen parameter order to match function prototype doxygen: replace @sa tag by the more readable but equivalent @see doxygen: use Doxygen markup for authors and web links where appropriate doxygen: do not include license boilerplate in Doxygen documentation ac3enc: Mark AVClasses const ffserver: Replace two loops with one loop. ffmpeg: Fix the check for experimental codecs swscale: extend mmx padding. swscale: clip unscaled colorspace conversion path. doxygen: misc consistency cosmetics doc: remove file name from @file directive in Doxygen usage example doxygen: consistently place brief description doxygen: place empty line between brief description and detailed description avformat_open_input(): Add braces to shut up gcc warning. Conflicts: libavcodec/8svx.c libavcodec/tiff.c libavcodec/tiff.h libavcodec/vaapi_h264.c libavcodec/vorbis.c libavcodec/vorbisdec.c libavcodec/vp6.c libswscale/swscale_unscaled.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: extend mmx padding.Ronald S. Bultje2011-07-14
| | | | | | | | Fixes a crash when forcing libc to strictly adhere to malloc sizes.
| * swscale: clip unscaled colorspace conversion path.Ronald S. Bultje2011-07-14
| | | | | | | | | | Prevents overflows on very bright scenes when adding dither, which may lead to black dots.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: APIchanges: fill in missing hashes and dates. Add an APIChanges entry and bump minor versions for recent changes. ffmpeg: print the low bitrate warning after the codec is openend. doxygen: Move function documentation into the macro generating the function. doxygen: Make sure parameter names match between .c and .h files. h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h H.264: Add more x86 assembly for 10-bit H.264 predict functions lavf: fix invalid reads in avformat_find_stream_info() cmdutils: replace opt_default with opt_default2() and remove set_context_opts ffmpeg: use new avcodec_open2 and avformat_find_stream_info API. ffplay: use new avcodec_open2 and avformat_find_stream_info API. cmdutils: store all codec options in one dict instead of video/audio/sub ffmpeg: check experimental flag after codec is opened. ffmpeg: do not set GLOBAL_HEADER flag in the options context Conflicts: cmdutils.c doc/APIchanges ffmpeg.c ffplay.c libavcodec/version.h libavformat/version.h libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: Make sure parameter names match between .c and .h files.Diego Biurrun2011-07-14
| |
* | Merge commit '142e76f1055de5dde44696e71a5f63f2cb11dedf'Michael Niedermayer2011-07-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '142e76f1055de5dde44696e71a5f63f2cb11dedf': swscale: fix crash with dithering due incorrect offset calculation. matroskadec: fix stupid typo (!= -> ==) build: remove duplicates from order-only directory prerequisite list build: rework rules for things in the tools dir configure: fix --cpu=host with gcc 4.6 ARM: use const macro to define constant data in asm bitdepth: simplify FUNC/FUNCC macros dsputil: remove ff_emulated_edge_mc macro used in one place 9/10-bit: simplify clipping macros matroskadec: reindent matroskadec: defer parsing of cues element until we seek. lavc: add support for codec-specific defaults. lavc: make avcodec_alloc_context3 officially public. lavc: remove a half-working attempt at different defaults for audio/video codecs. ac3dec: add a drc_scale private option lavf: add avformat_find_stream_info() lavc: introduce avcodec_open2() as a replacement for avcodec_open(). Conflicts: Makefile libavcodec/utils.c libavformat/avformat.h libswscale/swscale_internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: fix crash with dithering due incorrect offset calculation.Anton Mitrofanov2011-07-10
| | | | | | | | | | | | | | | | ptrdiff_t can be 4 bytes, which leads to the next element being 4-byte aligned and thus at a different offset than intended. Forcing 8-byte alignment forces equal offset of dither16/32 on x86-32 and x86-64. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * swscale: rename uv_off/uv_off2 to uv_off_px/byte.Ronald S. Bultje2011-07-08
| |
| * swscale: implement error dithering in planarCopyWrapper.Ronald S. Bultje2011-07-08
| | | | | | | | Based on a somewhat similar idea in FFmpeg's swscale.
| * swscale: error dithering for 16/9/10-bit to 8-bit.Ronald S. Bultje2011-07-08
| | | | | | | | Based on a somewhat similar idea in FFmpeg's swscale copy.
| * swscale: fix overflow in 16-bit vertical scaling.Ronald S. Bultje2011-07-08
| | | | | | | | | | | | 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.
| * swscale: fix crash in 8-bpc bilinear output without alpha.Ronald S. Bultje2011-07-08
| | | | | | | | | | We accessed the alpha array even it wasn't used and didn't exist, hence leading to a NULL pointer segfault.
| * swscale: fix 16-bit horizontal scaling underflow.Ronald S. Bultje2011-07-08
| | | | | | | | | | When using e.g. lanczos scaling, values can drop below 0, so they should never be unsigned.
| * swscale: fix 16-bit scaling when output is 8-bits.Ronald S. Bultje2011-07-08
| | | | | | | | | | We would use the second half of the U plane buffer, rather than the V plane buffer, to output the V plane pixels.
* | Merge branch 'sws_32bit_integration'Michael Niedermayer2011-07-11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sws_32bit_integration: regtests/sws: update checksums for recent changes sws: dont mess with XInc when the code needing it isnt used sws: Fix chroma init for 32bit buffers. swscale: error dithering for 16/9/10-bit to 8-bit. swscale: fix overflow in 16-bit vertical scaling. swscale: fix crash in 8-bpc bilinear output without alpha. swscale: fix 16-bit scaling when output is 8-bits. sws: fix non native endian 9-15 bit input with 16bit out sws: disable scale16 when int32 is used sws: fix rgb -> 16bit sws: fix uv overwrite in 32bt sws: fix gray16_1 sws:ix yuv2rgb48_1_c_template() sws: fix 16/32 bug from merge swscale: for >8bit scaling, read in native bit-depth. swscale: fix another yuv range conversion overflow in 16bit scaling. (cherry picked from commit 81cc7d0bd1eab0aa782ff8dd49e087025a42cdee) swscale: fix yuv range correction when using 16-bit scaling. (cherry picked from commit e0b8fff6c7a293e35079ba1931bd19372686b3f6) swscale: implement >8bit scaling support. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | sws: dont mess with XInc when the code needing it isnt usedMichael Niedermayer2011-07-11
| | | | | | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
| * | sws: Fix chroma init for 32bit buffers.Michael Niedermayer2011-07-11
| | | | | | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
| * | swscale: error dithering for 16/9/10-bit to 8-bit.Ronald S. Bultje2011-07-11
| | | | | | | | | | | | Based on a somewhat similar idea in FFmpeg's swscale copy.
| * | swscale: fix overflow in 16-bit vertical scaling.Ronald S. Bultje2011-07-11
| | | | | | | | | | | | | | | | | | 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.