aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/utils.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | sws: handle jpeg pixel formats in sws_init_context()Michael Niedermayer2011-11-171-0/+9
| | | | | | | | | | | | Fixes Ticket576 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-061-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: http: Remove the custom function for disabling chunked posts rtsp: Disable chunked http post through AVOptions movdec: Set frame_size for AMR h264_weight: remove duplication functions. swscale: align vertical filtersize by 2 on x86. libavfilter: reindent. matroskadec: empty blocks are in fact valid. avfilter: don't abort() on zero-size allocations. h264: improve calculation of codec delay. movenc: Set a correct packet size for AMR-NB mode 15, "no data" avformat: Add functions for doing global network initialization avformat: Add the https protocol avformat: Add the tls protocol, using OpenSSL or gnutls avformat: Initialize gnutls in ff_tls_init() w32threads: Wrap the mutex functions in inline functions returning int configure: Allow linking to the gnutls library avformat: Add ff_tls_init()/deinit() that initialize OpenSSL configure: Allow linking to openssl avcodec: Allow locking and unlocking an avformat specific mutex avformat: Split out functions from network.h to a new file, network.c Conflicts: Changelog configure doc/APIchanges libavcodec/internal.h libavcodec/version.h libavfilter/formats.c libavformat/matroskadec.c libavformat/mov.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: align vertical filtersize by 2 on x86.Ronald S. Bultje2011-11-051-1/+1
| | | | | | | | | | | | The vertical scaler handles 2 rows at a time and thus requires alignment by 2, or else it'll read invalid memory and result in corrupt output.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-221-8/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (35 commits) flvdec: Do not call parse_keyframes_index with a NULL stream libspeexdec: include system headers before local headers libspeexdec: return meaningful error codes libspeexdec: cosmetics: reindent libspeexdec: decode one frame at a time. swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables() Move timefilter code from lavf to lavd. mov: add support for hdvd and pgapmetadata atoms mov: rename function _stik, some indentation cosmetics mov: rename function _int8 to remove ambiguity, some indentation cosmetics mov: parse the gnre atom mp3on4: check for allocation failures in decode_init_mp3on4() mp3on4: create a separate flush function for MP3onMP4. mp3on4: ensure that the frame channel count does not exceed the codec channel count. mp3on4: set channel layout mp3on4: fix the output channel order mp3on4: allocate temp buffer with av_malloc() instead of on the stack. mp3on4: copy MPADSPContext from first context to all contexts. fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm ... Conflicts: libavcodec/arm/h264dsp_init_arm.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_ps.c libavcodec/h264dsp_template.c libavcodec/h264idct_template.c libavcodec/h264pred.c libavcodec/h264pred_template.c libavcodec/x86/h264dsp_mmx.c libavdevice/Makefile libavdevice/jack_audio.c libavformat/Makefile libavformat/flvdec.c libavformat/flvenc.c libavutil/pixfmt.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * sws/pixfmt/pixdesc: add support for yuv420p9le/be.Ronald S. Bultje2011-10-211-0/+2
| |
| * swscale: prevent overflow in coefficient calculation.Ronald S. Bultje2011-10-211-11/+12
| |
| * swscale: prevent overflow during initializationRonald Bultje2011-10-181-2/+4
| | | | | | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
| * sws: support yuv444p9/10 output.Anton Khirnov2011-10-121-4/+4
| |
* | sws: gbr24p input supportMichael Niedermayer2011-10-091-0/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Enable conversions to YUV444P9/YUV444P10, they seem to work fine.Reimar Döffinger2011-10-031-4/+4
| | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Add new pix_fmt RGBA64Jean First2011-09-241-0/+4
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-151-6/+10
|\| | | | | | | | | | | | | | | | | * qatar/master: swscale: fix byte overreads in SSE-optimized hscale(). matroskadec: fix typo. matroskadec: bail on parsing of incorrect seek index segments Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swscale: fix byte overreads in SSE-optimized hscale().Ronald S. Bultje2011-09-151-6/+10
| | | | | | | | | | | | SSE-optimized hScale() scales up to 4 pixels at once, so we need to allocate up to 3 padding pixels to prevent overreads. This fixes valgrind errors in various swscale-tests on fate.
* | sws: remove hScale16N() and use ronalds reformated version of it.Michael Niedermayer2011-08-141-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | 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>