* 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>
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.
* qatar/master: (21 commits)
build: simplify commands for clean target
swscale: split swscale.c in unscaled and generic conversion routines.
swscale: cosmetics.
swscale: integrate (literally) swscale_template.c in swscale.c.
swscale: split out x86/swscale_template.c from swscale.c.
swscale: enable hScale_altivec_real.
swscale: split out ppc _template.c files from main swscale.c.
swscale: remove indirections in ppc/swscale_template.c.
swscale: split out unscaled altivec YUV converters in their own file.
mpegvideoenc: fix multislice fate tests with threading disabled.
mpegts: Wrap #ifdef DEBUG and av_hex_dump_log() combination in a macro.
build: Simplify texi2html invocation through the --output option.
Mark some variables with av_unused
Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
svq3: Check negative mb_type to fix potential crash.
svq3: Move svq3-specific fields to their own context.
rawdec: initialize return value to 0.
Remove unused get_psnr() prototype
rawdec: don't leak option strings.
bktr: get default framerate from video standard.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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.
* 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>
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.
* qatar/master: (22 commits)
configure: enable memalign_hack automatically when needed
swscale: unbreak the build on non-x86 systems.
swscale: remove if(bitexact) branch from functions.
swscale: remove if(canMMX2BeUsed) conditional.
swscale: remove swScale_{c,MMX,MMX2} duplication.
swscale: use emms_c().
Move emms_c() from libavcodec to libavutil.
tiff: set palette in the context when specified in TIFF_PAL tag
rtsp: use strtoul to parse rtptime and seq values.
pgssubdec: fix incorrect colors.
dvdsubdec: fix incorrect colors.
ape: Allow demuxing of files with metadata tags.
swscale: remove dead macro WRITEBGR24OLD.
swscale: remove AMD3DNOW "optimizations".
swscale: remove duplicate code in ppc/ subdirectory.
swscale: remove duplicated x86/ functions.
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
vsrc_buffer.h: add file doxy
vsrc_buffer: tweak error message in init()
msmpeg4: reindent.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (33 commits)
rtpdec_qdm2: Don't try to parse data packet if no configuration is received
ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
srtdec: make sure we don't write past the end of buffer
wmaenc: improve channel count and bitrate error handling in encode_init()
matroskaenc: make sure we don't produce invalid file with no codec ID
matroskadec: check that pointers were initialized before accessing them
lavf: fix function name in compute_pkt_fields2 av_dlog message
lavf: fix av_find_best_stream when providing a wanted stream.
lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
ffmpeg: factorize quality calculation
tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
tiff: Prefer enum TiffCompr over int for TiffContext.compr.
mov: Support edit list atom version 1.
configure: Enable libpostproc automatically if GPL code is enabled.
Cosmetics: fix prototypes in oggdec
oggdec: fix memleak with continuous streams.
matroskaenc: add missing new line in av_log() call
dnxhdenc: add AVClass in private context.
...
swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.
Conflicts:
configure
ffmpeg.c
libavformat/matroskaenc.c
libavutil/pixfmt.h
libswscale/ppc/swscale_template.c
libswscale/swscale.c
libswscale/swscale_template.c
libswscale/utils.c
libswscale/x86/swscale_template.c
tests/fate/h264.mak
tests/ref/lavfi/pixdesc_le
tests/ref/lavfi/pixfmts_copy_le
tests/ref/lavfi/pixfmts_null_le
tests/ref/lavfi/pixfmts_scale_le
tests/ref/lavfi/pixfmts_vflip_le
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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.
* qatar/master: (32 commits)
libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
libvo-*: Fix up the long codec names
libavcodec: Mark AVCodec->priv_class const
swscale: Factorize FAST_BGR2YV12 definition.
libvo-aacenc: Only produce extradata if the global header flag is set
lavf: postpone removal of public metadata conversion API
lavc: postpone removal of request_channels
lavc: postpone removal of audioconvert and sample_fmt wrappers
lavf: postpone removal of deprecated avio functions
libopencore-amr: Cosmetics: Rewrap and align
libopencore-amr, libvo-amrbwenc: Rename variables and functions
libopencore-amr: Convert commented out debug logging into av_dlog
libopencore-amr: Remove an unused state variable
libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
libopencore-amr: Remove a useless local variable
libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
libopencore-amr: Don't print carriage returns in log messages
...
Conflicts:
doc/developer.texi
libavcodec/avcodec.h
libavcodec/libvo-aacenc.c
libavcodec/libvo-amrwbenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
x86_64 / Mac OS X gcc 4.0.1
x86_64 / Linux icc (all)
x86_64 / Linux gcc 4.0.4
x86_64 / OpenBSD gcc 3.3.5
x86_64 / Linux suncc 5.10
and there are some reports of crashes.
Originally committed as revision 31170 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
long was being incorrectly used as an x86-sized register, both for 32 and 64
bits, but this is not the case in win64.
Originally committed as revision 31153 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
converter with support for rgb444 output format.
Patch by Janusz Krzysztofik jkrzyszt chez tis icnet pl
Originally committed as revision 30841 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
libswscale.
Patch by Alexis Ballier, alexis D ballier A gmail
Originally committed as revision 30840 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
source and destination format, cache those values in the newly added
SwsContext:srcFormatBpp and SwsContext:dstFormatBpp fields, and remove
the fmt_depth() function.
Originally committed as revision 30419 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.
Originally committed as revision 29650 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
- Align asm code to the column 4 spaces after the call to __asm__();
- Align cases in switch statements to the same column as "switch".
Originally committed as revision 29524 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
- Place curly brackets in the same line as while/for/if/switch/else/do;
- Place curly brackets at column 0 in the next line starting a function.
Originally committed as revision 29523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
needed for DECLARE_ALIGNED.
Remove dependency from swscale-example.c to swscale_internal.h by duplicating
the necessary code. The duplicated code is a hack and should be removed once a
cleaner pixel format information system exists. swscale-example.c is example
code on how to use the library and therefore shouldn't rely on internal
headers.
Originally committed as revision 29415 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Fixes a couple of 'discards qualifiers from pointer target type' warnings.
Originally committed as revision 29281 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
not slower. Other archs are not changed as the larger VOFW was slower on PPC.
Originally committed as revision 29256 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
unscaled convertions).
This, like gray16 converts down to 8bit, which is a big FIXME & patch welcome,
we should preserve more bits.
Originally committed as revision 29217 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
swscale_internal.h is #included without HAVE_AV_CONFIG_H defined.
Originally committed as revision 28498 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
libswscale/swscale_internal.h:58: warning: `struct SwsContext' declared inside parameter list
libswscale/swscale_internal.h:58: warning: its scope is only this definition or declaration, which is probably not what you want
Originally committed as revision 28353 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Fixes icc warning #188: enumerated type mixed with another type
Originally committed as revision 27727 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Add a check that checks that the width is within the choosen constant.
This might have been exploitable.
Originally committed as revision 26165 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
swscale_template.c:1171: warning: implicit declaration of function ‘altivec_yuv2packedX’
swscale.c:1982: warning: implicit declaration of function ‘yuv2rgb_altivec_init_tables’
yuv2rgb.c:652: warning: implicit declaration of function ‘yuv2rgb_init_altivec’
Originally committed as revision 25319 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
patch by Denes Balatoni: [dbalatoni interware hu]
original thread: [FFmpeg-devel] [PATCH] UltraSPARC VIS yuv2rgb third try
date: 07/17/2007 08:35 PM
Originally committed as revision 23825 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
patch by Andreas Öman: \andreas olebyn nu/
original thread: [FFmpeg-devel] half vertical chroma resolution from JPEGs..
date: 07/03/2007 01:29 PM
Originally committed as revision 23811 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
YUV2 -> RGB BGR for 565, 555 and 888 a.k.a. 24bit color.
Speed-up compared to C version compiled with -O3 187.28%
Patch by Marc Hoffman %mmh A pleasantst P com%
Original thread:
Date: May 9, 2007 2:46 AM
Subject: [FFmpeg-devel] PATCH BlackFin yuv2rgb color space conversion
Originally committed as revision 23307 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
the +-1 issue is limited to >2tap vertical filters, so bilinear upscale was unaffected
the new code is sometime faster sometimes slower but the difference is significant (~20%) so its optional and enabled with arnd=1
Originally committed as revision 19177 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale