Stefano Sabatini [Sun, 24 Jan 2010 12:55:05 +0000 (12:55 +0000)]
Use av_get_bits_per_pixel() for computing the bits per pixel of the
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
kemuri [Sat, 23 Jan 2010 20:42:00 +0000 (20:42 +0000)]
Replace every usage of -lvfw32 with what is particularly necessary for
that case:
Avisynth -> -lavifil32
VFW Cap -> -lavicap32
Patch by kemuri <kemuri9 at gmail dot com>
Originally committed as revision 21410 to svn://svn.ffmpeg.org/ffmpeg/trunk
Ramiro Polla [Sat, 23 Jan 2010 20:38:17 +0000 (20:38 +0000)]
Use $vfwcap_indev_extralibs variable instead of duplicating "-lvfw32" in
capCreateCaptureWindow() check.
Based on patch by kemuri <kemuri9 at gmail dot com>
Originally committed as revision 21409 to svn://svn.ffmpeg.org/ffmpeg/trunk
Move +52 from the loop filter to the alpha/beta offsets in the context.
This should fix a segfault, also it might be faster on systems where the
+52 wasnt free.
Originally committed as revision 21406 to svn://svn.ffmpeg.org/ffmpeg/trunk
Reimar Döffinger [Sat, 23 Jan 2010 15:22:48 +0000 (15:22 +0000)]
Use AVPALETTE_COUNT instead of hard-coding 256.
This is consistent with other codecs and will also avoid a crash on the
memcpy to data[1] if AVPALETTE_SIZE ever increases.
Originally committed as revision 21399 to svn://svn.ffmpeg.org/ffmpeg/trunk
Reimar Döffinger [Fri, 22 Jan 2010 23:40:18 +0000 (23:40 +0000)]
The SSSE3 version of dct_quantize in mpegvideo_mmx_template.c needs
inv_zigzag_direct16 16-byte aligned, so mark it appropriately.
Fixes encoder crashes e.g. with MPlayer's -vf lavc.
Originally committed as revision 21389 to svn://svn.ffmpeg.org/ffmpeg/trunk
Alan Steremberg [Fri, 22 Jan 2010 16:04:15 +0000 (16:04 +0000)]
Use the control URI from the SDP (if present) rather than the input filename,
if present. This fixes playback of a number of MS-RTSP streams, mostly these
for which playback contains a session key in the URI. Fixes issue 1697.
Patch by Alan Steremberg <$firstname dot $lastname () gmail com>.
Originally committed as revision 21381 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård [Fri, 22 Jan 2010 03:25:25 +0000 (03:25 +0000)]
DECLARE_ALIGNED macro for TMS470 compiler
This compiler supports gcc-style alignment attributes for struct,
but not for global variables. For the latter, alignment can be
specified with a pragma, which does not work for struct members or
local variables. By using both pragma and attribute, one or the
other will always take effect.
Unfortunately, no means exists for aligning stack variables.
Originally committed as revision 21379 to svn://svn.ffmpeg.org/ffmpeg/trunk
Gcc idiocy fixes related to filter_mb_edge*.
Change order of operands as gcc uses a hardcoded register per operand it seems
even for static functions
thus reducing unneeded moved (now functions try to pass the same argument in
the same spot).
Change signed int to unsigned int for array indexes as signed requires signed
extension while unsigned is free.
move the +52 up and merge it where it will end as a lea instruction, gcc always
splits the 52 out there turning the free +52 into an expensive one otherwise.
The changed code becomes a little faster.
Originally committed as revision 21375 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård [Thu, 21 Jan 2010 12:59:22 +0000 (12:59 +0000)]
Make DECLARE_ALIGNED macros work with external array specifiers
The macro implementation might need the name of the variable being
declared for compiler-specific syntax. Moving array specifiers outside
the macro invocation allows this to work.
Originally committed as revision 21363 to svn://svn.ffmpeg.org/ffmpeg/trunk
David Conrad [Thu, 21 Jan 2010 09:47:02 +0000 (09:47 +0000)]
Set start_time and duration in AVStream instead of AVFormatContext for
formats with only one stream; the AVFormatContext values will be derived from
the AVStream and this helps in calculating stream bitrate.
Originally committed as revision 21361 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård [Wed, 20 Jan 2010 22:55:50 +0000 (22:55 +0000)]
Always call avcodec_thread_init()
The various avcodec_thread_init() functions are updated to return
immediately after setting avctx->thread_count. This allows -threads 0
to pass through to codecs. It also simplifies the usage for apps
using libavcodec.
Originally committed as revision 21358 to svn://svn.ffmpeg.org/ffmpeg/trunk
Laurent Aimar [Wed, 20 Jan 2010 18:54:51 +0000 (18:54 +0000)]
H264 DXVA2 implementation
It allows VLD H264 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
It is implemented by using AVHWAccel API. It has been tested successfully
for some time in VLC using an nvidia card on Windows 7.
To compile it, you need to have the system header dxva2api.h (either from
microsoft or using http://downloads.videolan.org/pub/videolan/testing/contrib/dxva2api.h)
The generated libavcodec.dll does not depend directly on any new lib as
the necessary objects are given by the application using FFmpeg.
Originally committed as revision 21353 to svn://svn.ffmpeg.org/ffmpeg/trunk
Martin Storsjö [Wed, 20 Jan 2010 17:26:14 +0000 (17:26 +0000)]
Use the configure check from r21351 and use it to properly define struct
sockaddr (in case it's not missing) so it always works on the system that
we are defining it for, in a RFC-2553/3493-compliant way (i.e. containing
a ss_family field). which is used in udp.c. Patch by Martin Storsjö
<$firstname $firstname st>.
Originally committed as revision 21352 to svn://svn.ffmpeg.org/ffmpeg/trunk
Ronald S. Bultje [Wed, 20 Jan 2010 17:24:23 +0000 (17:24 +0000)]
Add a check for struct sockaddr->sa_len, which is an indication of whether
the system wants a length entry in all socket structures or not. Patch by
Martin Storsjö <$firstname $firstname st>.
Originally committed as revision 21351 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård [Wed, 20 Jan 2010 06:42:39 +0000 (06:42 +0000)]
Add -timelimit option
This option limits the CPU time used by ffmpeg to the number of seconds
specified. After this time, the OS sends a SIGXCPU signal, which we
handle and attempt to exit cleanly. If the process is stuck, the OS
will deliver a SIGKILL one second later, forcibly terminating the
process.
This functionality is useful in automated setups where a runaway ffmpeg
process would otherwise go undetected.
Originally committed as revision 21347 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård [Wed, 20 Jan 2010 06:01:54 +0000 (06:01 +0000)]
Move COPY3_IF_LT to lavc/mathops.h
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense. See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html
Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
Stefano Sabatini [Wed, 20 Jan 2010 00:22:31 +0000 (00:22 +0000)]
Avoid more pointless tests, the input and output formats need to be
supported both as input and as output, as the conversion performed is:
yuva420p -> src -> dst -> yuva420p.
Originally committed as revision 30379 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Mark the h264 c loop filter as av_always_inline av_flatten to make sure its
all inlined, its small and horizontal & vertical versions are build out of
them. no change as gcc already did this.
Originally committed as revision 21333 to svn://svn.ffmpeg.org/ffmpeg/trunk