aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/utils.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-131-9/+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: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje2011-08-121-7/+13
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-08-051-54/+5
|\| | | | | | | | | | | | | | | | | | | | | * 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-051-66/+0
| | | | | | | | | | | | | | | | | | 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-051-122/+79
| | | | | | | | | | | | | | | | | | 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-021-8/+4
| | | | | | | | | | | | 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-021-4/+8
| |
* | lsws: remove deprecated and unused stuff after the 0->1 major bumpStefano Sabatini2011-08-041-7/+0
| |
* | lsws: apply logging factorization in sws_scale_init()Stefano Sabatini2011-07-281-6/+3
| |
* | lsws: remove redundant macros isSupportedIn/OutStefano Sabatini2011-07-271-6/+2
| | | | | | | | Directly call sws_isSupportedInput/Output.
* | lsws: factorize some logging code in sws_init_context()Stefano Sabatini2011-07-271-21/+9
| |
* | lsws: fix weird indentStefano Sabatini2011-07-251-1/+1
| |
* | lsws: use array for storing the supported in/out informationStefano Sabatini2011-07-251-123/+78
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-211-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-211-0/+2
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-151-6/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-141-6/+7
| | | | | | | | Fixes a crash when forcing libc to strictly adhere to malloc sizes.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-141-2/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-141-2/+6
| |
| * swscale: rename uv_off/uv_off2 to uv_off_px/byte.Ronald S. Bultje2011-07-081-2/+2
| |
| * swscale: fix 16-bit scaling when output is 8-bits.Ronald S. Bultje2011-07-081-1/+1
| | | | | | | | | | We would use the second half of the U plane buffer, rather than the V plane buffer, to output the V plane pixels.
| * swscale: disable full_chroma_int when converting to non-24/32bpp RGB.Ronald S. Bultje2011-07-021-0/+13
| | | | | | | | | | This functionality is only implemented for RGB24/32 and causes crashes otherwise.
| * swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje2011-07-011-1/+0
| | | | | | | | | | | | 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.
| * swscale: implement >8bit scaling support.Ronald S. Bultje2011-06-291-2/+7
| | | | | | | | | | | | This means that precision is retained when scaling between sample formats with >8 bits per component (48bit RGB, 16bit grayscale, 9/10/16bit YUV).
* | sws: dont mess with XInc when the code needing it isnt usedMichael Niedermayer2011-07-111-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | sws: Fix chroma init for 32bit buffers.Michael Niedermayer2011-07-111-2/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | swscale: fix 16-bit scaling when output is 8-bits.Ronald S. Bultje2011-07-111-1/+1
| | | | | | | | | | We would use the second half of the U plane buffer, rather than the V plane buffer, to output the V plane pixels.
* | sws: fix uv overwrite in 32btMichael Niedermayer2011-07-111-3/+3
| |
* | swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje2011-07-111-1/+0
| | | | | | | | | | | | 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.
* | Merge branch 'ronalds_buggy_gt8bit_sws'Michael Niedermayer2011-07-111-1/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ronalds_buggy_gt8bit_sws: 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. Conflicts: libswscale/swscale.c libswscale/utils.c libswscale/x86/swscale_template.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: implement >8bit scaling support.Ronald S. Bultje2011-06-301-2/+7
| |/ | | | | | | | | | | This means that precision is retained when scaling between sample formats with >8 bits per component (48bit RGB, 16bit grayscale, 9/10/16bit YUV).
* | swscale: Fix yuv422p10Michael Niedermayer2011-06-291-2/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-291-6/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (21 commits) swscale: Add Doxygen for hyscale_fast/hScale. fate: enable lavfi-pixmt tests on big endian systems PPC: swscale: disable altivec functions for unsupported formats fate: merge identical pixdesc_be/le tests swscale: Add Doxygen for yuv2planar*/yuv2packed* functions. build: call texi2pod.pl with full path instead of symlink build: include sub-makefiles using full path instead of symlinks swscale: update big endian reference values after dff5a835. wavpack: skip blocks with no samples cosmetics: remove outdated comment that is no longer true build: replace some addprefix/addsuffix with substitution refs avutil: Remove unused arbitrary precision integer code. configure: Drop check for availability of ten assembler operands. aacenc: Save channel configuration for later use. aacenc: Fix codebook trellising for zeroed bands. swscale: change prototypes of scaled YUV output functions. swscale: re-add support for non-native endianness. swscale: disentangle yuv2rgbX_c_full() into small functions. swscale: split yuv2packed[12X]_c() remainders into small functions. swscale: split yuv2packedX_altivec in smaller functions. ... Conflicts: Makefile configure libavcodec/x86/dsputil_mmx.c libavfilter/Makefile libavformat/Makefile libavutil/integer.c libavutil/integer.h libswscale/swscale.c libswscale/swscale_internal.h libswscale/x86/swscale_template.c tests/ref/lavfi/pixdesc_le tests/ref/lavfi/pixfmts_scale Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: re-add support for non-native endianness.Ronald S. Bultje2011-06-271-6/+12
| | | | | | | | This works through some non-obvious hacks in utils.c.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-161-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ac3enc: use correct alignment and length in channel coupling dsp functions. ffmpeg: don't abuse a global for passing framerate from input to output ffmpeg: don't abuse a global for passing channels from input to output ffmpeg: don't abuse a global for passing samplerate from input to output ARM: update ff_h264_idct8_add4_neon for 4:4:4 changes swscale: use SwsContext for av_log when available swscale: Remove HAVE_MMX from files that are only compiled with MMX enabled. swscale: Fix compilation with --disable-mmx2. Conflicts: ffmpeg.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: use SwsContext for av_log when availableJanne Grunau2011-06-151-4/+4
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-111-0/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: bitstream: Properly promote av_reverse values before shifting. libavutil/swscale: YUV444P10/YUV444P9 support. H.264: Fix high bit depth explicit biweight h264: Fix 10-bit H.264 x86 chroma v loopfilter asm. Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog. Update copyright year for ac3enc_opts_template.c. adts: Adjust frame size mask to follow the specification. movenc: Add RTP muxer/hinter options movenc: Pass the RTP AVFormatContext to the SDP generation rtspenc: Add RTP muxer options rtspenc: Add an AVClass for setting muxer specific options rtpenc_chain: Pass the rtpflags options through to the chained muxer rtpenc: Declare the rtp flags private AVOptions in rtpenc.h sdp: Reindent after the previous commit rtpenc: MP4A-LATM payload support avoptions: Add an av_opt_flag_is_set function for inspecting flag fields sdp: Allow passing an AVFormatContext to the SDP generation mov: Fix wrong timestamp generation for fragmented movies that have time offset caused by the first edit list entry. mpeg12: more advanced ffmpeg mpeg2 aspect guessing code. swscale: split YUYV output out of yuv2packed[12X]_c(). Conflicts: doc/APIchanges libavcodec/Makefile libavcodec/h264dsp_template.c libavcodec/mpeg12.c libavformat/aacdec.c libavformat/avidec.c libavformat/internal.h libavformat/movenc.c libavformat/rtpenc.c libavformat/rtpenc_latm.c libavformat/sdp.c libavformat/version.h libavutil/avutil.h libavutil/pixfmt.h libswscale/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil/swscale: YUV444P10/YUV444P9 support.Ronald S. Bultje2011-06-101-0/+6
| | | | | | | | | | | | | | Also add missing glue code for recently added YUV422P10 formats to swscale. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-101-5/+24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavf: make compute_pkt_fields2() return meaningful error values matroskadec: set timestamps for RealAudio packets. intelh263dec: aspect ratio processing fix. intelh263dec: fix "Strict H.263 compliance" file playback oss,sndio: simplify by using FFMIN. swscale: extract monowhite/black output from yuv2packed[12X]_c(). swscale: de-macro'ify RGB15/16/32 input functions. swscale: rearrange code. movdec: Add support for the 'wfex' atom. ffmpeg.c: Add a necessary const qualifier riff: Fix potential memleak. swscale: change 48bit RGB input macros to inline functions. swscale: change 9/10bit YUV input macros to inline functions. swscale: extract gray16 output functions from yuv2packed[12X](). swscale: use standard clipping functions. swscale: merge macros that are used only once. swscale: fix function declarations in swscale.c. swscale: fix function declaration keywords in x86/swscale_template.c. Conflicts: ffmpeg.c libavcodec/intelh263dec.c libswscale/swscale.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: de-macro'ify RGB15/16/32 input functions.Ronald S. Bultje2011-06-091-5/+24
| | | | | | | | | | | | | | | | Inline functions are easier to read, maintain, modify and test, which justifies the slightly increased source size. This patch also adds support for non-native endianness RGB15/16 and fixes isSupportedOutput() to no longer claim that we support writing non-native RGB565/555/444.
| * swscale: allocate larger buffer to handle altivec overreads.Ronald S. Bultje2011-06-021-1/+1
| | | | | | | | | | Altivec sws code intentionally overreads buffers for better performance, so we need to allocate larger buffers to handle that.
* | swscale: reintroduce sws_format_name() symbolStefano Sabatini2011-06-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reintroduce the internal symbol which was removed in: commit e1197b9e1746c03b1d13d816d1569aeaf1b71ecc 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.
* | swscale: remove sws_format_name()Stefano Sabatini2011-05-301-13/+5
| | | | | | | | Use av_get_pix_fmt_name() instead.
* | Merge remote-tracking branch 'qatar/master' into masterMichael Niedermayer2011-05-291-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits() ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits. ac3dsp: fix loop condition in ac3_update_bap_counts_c() ARM: unbreak build ac3enc: modify mantissa bit counting to keep bap counts for all values of bap instead of just 0 to 4. ac3enc: split mantissa bit counting into a separate function. ac3enc: store per-block/channel bap pointers by reference block in a 2D array rather than in the AC3Block struct. get_bits: add av_unused tag to cache variable sws: replace all long with int. ARM: aacdec: fix constraints on inline asm ARM: remove unnecessary volatile from inline asm ARM: add "cc" clobbers to inline asm where needed ARM: improve FASTDIV asm ac3enc: use LOCAL_ALIGNED macro APIchanges: fill in git hash for av_get_pix_fmt_name (0420bd7). lavu: add av_get_pix_fmt_name() convenience function cmdutils: remove OPT_FUNC2 swscale: fix crash in bilinear scaling. vpxenc: add VP8E_SET_STATIC_THRESHOLD mapping webm: support stereo videos in matroska/webm muxer ... Conflicts: Changelog cmdutils.c cmdutils.h doc/APIchanges doc/muxers.texi ffmpeg.c ffplay.c libavcodec/ac3enc.c libavcodec/ac3enc_float.c libavcodec/avcodec.h libavcodec/get_bits.h libavcodec/libvpxenc.c libavcodec/version.h libavdevice/libdc1394.c libavformat/matroskaenc.c libavutil/avutil.h libswscale/rgb2rgb.c libswscale/swscale.c libswscale/swscale_template.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: fix crash in bilinear scaling.Ronald S. Bultje2011-05-281-0/+1
| |
| * swscale: delay allocation of formatConvBuffer().Ronald S. Bultje2011-05-271-1/+1
| | | | | | | | | | That means it won't be allocated when not needed. Alongside this, it fixes valgrind/fate-detected memory leaks.
| * swscale: remove VOF/VOFW.Ronald S. Bultje2011-05-261-8/+7
| |
| * swscale: split chroma buffers into separate U/V planes.Ronald S. Bultje2011-05-261-7/+12
| | | | | | | | Preparatory step to implement support for sizes > VOFW.
| * swscale: replace formatConvBuffer[VOF] by allocated array.Ronald S. Bultje2011-05-261-4/+2
| | | | | | | | | | This allows to convert between formats of arbitrary width, regardless of the value of VOF/VOFW.
| * swscale: Remove commented-out printf cruft.Diego Biurrun2011-05-261-1/+0
| |