]> git.sesse.net Git - ffmpeg/log
ffmpeg
11 years agolavc: add codec descriptors.
Anton Khirnov [Sun, 5 Aug 2012 13:18:00 +0000 (15:18 +0200)]
lavc: add codec descriptors.

They describe properties that are inherent to a codec (as described by
an AVCodecID) without referring to a specific implementation.

11 years agolavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
Anton Khirnov [Wed, 8 Aug 2012 06:04:56 +0000 (08:04 +0200)]
lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.

C++ does not allow to mix different enums, so e.g. code comparing
ACodecID with CodecID would fail to compile with gcc.

This very evil hack should fix this problem.

11 years agodict: move struct AVDictionary definition to dict.c
Mans Rullgard [Wed, 8 Aug 2012 16:31:44 +0000 (17:31 +0100)]
dict: move struct AVDictionary definition to dict.c

This makes struct AVDictionary fully opaque now that nothing
needs to access it directly any more.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agodict: add av_dict_count()
Mans Rullgard [Wed, 8 Aug 2012 16:30:15 +0000 (17:30 +0100)]
dict: add av_dict_count()

This adds a function to retrieve the number of entries in a
dictionary and updates the places directly accessing what should
be an opaque struct to use this new function instead.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agog723.1: fix addition overflow
Mans Rullgard [Fri, 10 Aug 2012 00:17:20 +0000 (01:17 +0100)]
g723.1: fix addition overflow

This addition must be done as 64-bit to avoid overflow and for
the subsequent clipping to be meaningful.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agog723.1: simplify and fix multiplication overflow
Mans Rullgard [Fri, 10 Aug 2012 00:14:32 +0000 (01:14 +0100)]
g723.1: simplify and fix multiplication overflow

In 16-bit arithmetic, x * 0xffffc is simply x * -4 with extra overflows,
(and the constant was probably meant to be 0xfffc).  Combined with the
shift, this simplifies to -x >> 1.  Finally, clearing the low two bits
with a 32-bit mask and switching to a 32-bit type allows more efficient
code on 32-bit machines.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agog723.1: deobfuscate an expression
Mans Rullgard [Thu, 9 Aug 2012 23:13:46 +0000 (00:13 +0100)]
g723.1: deobfuscate an expression

(x << 2) - x is just an optimisation of 3 * x the compiler is
perfectly capable of doing on its own.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agog723.1: remove unused #includes
Mans Rullgard [Thu, 9 Aug 2012 20:02:46 +0000 (21:02 +0100)]
g723.1: remove unused #includes

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoARM: add missing "cc" clobber in av_clipl_int32_arm()
Mans Rullgard [Thu, 9 Aug 2012 21:45:51 +0000 (22:45 +0100)]
ARM: add missing "cc" clobber in av_clipl_int32_arm()

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agortmp: Factorize the code by adding handle_invoke_error
Samuel Pitoiset [Thu, 9 Aug 2012 12:57:51 +0000 (14:57 +0200)]
rtmp: Factorize the code by adding handle_invoke_error

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agortmp: Factorize the code by adding handle_invoke_status
Samuel Pitoiset [Thu, 9 Aug 2012 12:57:50 +0000 (14:57 +0200)]
rtmp: Factorize the code by adding handle_invoke_status

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agortmp: Factorize the code by adding handle_invoke_result
Samuel Pitoiset [Thu, 9 Aug 2012 12:57:49 +0000 (14:57 +0200)]
rtmp: Factorize the code by adding handle_invoke_result

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolibavutil: remove unused av_abort() macro
Mans Rullgard [Wed, 8 Aug 2012 21:58:07 +0000 (22:58 +0100)]
libavutil: remove unused av_abort() macro

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoffmenc: replace if/abort with assert()
Mans Rullgard [Wed, 8 Aug 2012 21:57:12 +0000 (22:57 +0100)]
ffmenc: replace if/abort with assert()

The condition is trivially true, but keeping the assert() is
sensible to avoid FFM_HEADER_SIZE ever getting out of sync with
the actual code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agolibavutil: drop offsetof() fallback definition
Mans Rullgard [Wed, 8 Aug 2012 19:09:33 +0000 (20:09 +0100)]
libavutil: drop offsetof() fallback definition

The only compiler I have that does not define the standard
offsetof() macro is "Bruce's C Compiler", a simple compiler
for producing 8/16-bit 8086 code, usually for use in early
stages of PC booting.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agolibavutil: drop fallback definitions of INTxx_MIN/MAX
Mans Rullgard [Wed, 8 Aug 2012 17:18:14 +0000 (18:18 +0100)]
libavutil: drop fallback definitions of INTxx_MIN/MAX

This list is incomplete (we also use UINT16_MAX), so there does
not appear to be any system we care about that needs these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoconfigure: Check for a sctp struct instead of just the header
Michael Niedermayer [Wed, 8 Aug 2012 14:01:01 +0000 (16:01 +0200)]
configure: Check for a sctp struct instead of just the header

This fixes build failures on debian/kfreebsd, which has the
sctp.h header, but it is currently broken (a cpp test succeeds,
but a compile test fails), see http://bugs.debian.org/684330 for
details.

Also remove the checked item from HAVE_LIST, since the corresponding
HAVE_* define isn't used by the source code.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoconfigure: suncc: Add -xc99 to dependency flags, required on Solaris
Diego Biurrun [Thu, 9 Aug 2012 15:14:32 +0000 (17:14 +0200)]
configure: suncc: Add -xc99 to dependency flags, required on Solaris

11 years agodoxygen: Fix function parameter names to match the code
Diego Biurrun [Thu, 9 Aug 2012 01:06:01 +0000 (03:06 +0200)]
doxygen: Fix function parameter names to match the code

11 years agodoc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs
Diego Biurrun [Thu, 9 Aug 2012 13:30:24 +0000 (15:30 +0200)]
doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs

11 years agoswf: Move shared table out of the header file
Diego Biurrun [Wed, 8 Aug 2012 13:54:02 +0000 (15:54 +0200)]
swf: Move shared table out of the header file

11 years agoswf: Move swf_audio_codec_tags table to the only place it is used
Diego Biurrun [Wed, 8 Aug 2012 13:51:59 +0000 (15:51 +0200)]
swf: Move swf_audio_codec_tags table to the only place it is used

11 years agofate: add G.723.1 decoder tests
Kostya Shishkov [Tue, 7 Aug 2012 17:47:55 +0000 (19:47 +0200)]
fate: add G.723.1 decoder tests

11 years agomotion_est: drop inline from sad_hpel_motion_search()
Mans Rullgard [Tue, 31 Jul 2012 13:58:09 +0000 (14:58 +0100)]
motion_est: drop inline from sad_hpel_motion_search()

This function is only ever called through a function pointer,
so marking it inline makes no sense.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agomotion_est: remove unused macros
Mans Rullgard [Tue, 31 Jul 2012 13:56:28 +0000 (14:56 +0100)]
motion_est: remove unused macros

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agomotion_est: remove useless no_motion_search() function
Mans Rullgard [Tue, 31 Jul 2012 13:53:57 +0000 (14:53 +0100)]
motion_est: remove useless no_motion_search() function

At both places this function is called, mb_[xy] == s->mb_[xy]
making the call together with following code equivalent to
simply assigning zeros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agolagarith: frame multithreading
Hendrik Leppkes [Wed, 8 Aug 2012 23:03:44 +0000 (23:03 +0000)]
lagarith: frame multithreading

About 2x speedup going from 1 to 2 threads.
1.7s to 0.85s on foreman CIF.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
11 years agodoxygen: qdm2: Drop documentation for non-existing function parameters
Diego Biurrun [Thu, 9 Aug 2012 01:03:26 +0000 (03:03 +0200)]
doxygen: qdm2: Drop documentation for non-existing function parameters

11 years agobuild: add HOSTOBJS to SUBDIR_VARS list
Diego Biurrun [Wed, 8 Aug 2012 13:41:36 +0000 (15:41 +0200)]
build: add HOSTOBJS to SUBDIR_VARS list

Even though HOSTOBJS are not referenced directly in subdirectory Makefile
snippets right now, robustness requires resetting the variable contents.

11 years agompegvideo: reduce excessive inlining of mpeg_motion()
Mans Rullgard [Sat, 4 Aug 2012 01:30:02 +0000 (02:30 +0100)]
mpegvideo: reduce excessive inlining of mpeg_motion()

The main benefit of inlining this function is from constant
propagation for the 'field_based' argument.  Instead of inlining
all calls, create two versions of the function for field_based
values of 0 and 1.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agompegvideo: convert mpegvideo_common.h to a .c file
Mans Rullgard [Fri, 3 Aug 2012 23:50:21 +0000 (00:50 +0100)]
mpegvideo: convert mpegvideo_common.h to a .c file

This file defines a single, huge function, MPV_motion(), which
although being declared inline is not actually inlined by the
compiler (for good reason).  There is thus no sense in defining
this function in a header file, resulting in multiple copies of
it in the final library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agobuild: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
Mans Rullgard [Fri, 3 Aug 2012 23:05:46 +0000 (00:05 +0100)]
build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO

This adds a hidden config variable for the mpegvideo.o dependency
and selects from the codecs which require it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoMove MASK_ABS macro to libavcodec/mathops.h
Mans Rullgard [Wed, 8 Aug 2012 16:13:26 +0000 (17:13 +0100)]
Move MASK_ABS macro to libavcodec/mathops.h

This macro is only used in two places, both in libavcodec, so this
is a more sensible place for it.

Two small tweaks to the macro are made:

- removing the trailing semicolon
- dropping unnecessary 'volatile' from the x86 asm

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agox86: move MANGLE() and related macros to libavutil/x86/asm.h
Mans Rullgard [Wed, 8 Aug 2012 13:37:57 +0000 (14:37 +0100)]
x86: move MANGLE() and related macros to libavutil/x86/asm.h

These x86-specific macros do not belong in generic code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agox86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
Mans Rullgard [Wed, 8 Aug 2012 12:51:52 +0000 (13:51 +0100)]
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h

This puts x86-specific things in the x86/ subdirectory where they
belong.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoaacdec: Don't fall back to the old output configuration when no old configuration...
Alex Converse [Tue, 7 Aug 2012 19:19:58 +0000 (12:19 -0700)]
aacdec: Don't fall back to the old output configuration when no old configuration is present.

Fixes MP4 files where the first frame is broken.

11 years agortmp: Add message tracking
Samuel Pitoiset [Wed, 8 Aug 2012 12:36:39 +0000 (14:36 +0200)]
rtmp: Add message tracking

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortsp: Support mpegts in raw udp packets
Martin Storsjö [Wed, 8 Aug 2012 20:05:52 +0000 (23:05 +0300)]
rtsp: Support mpegts in raw udp packets

This is basically the same way as mpegts packets are parsed in
rtpdec.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortsp: Support receiving plain data over UDP without any RTP encapsulation
Martin Storsjö [Wed, 8 Aug 2012 18:37:47 +0000 (21:37 +0300)]
rtsp: Support receiving plain data over UDP without any RTP encapsulation

EvoStream Media Server can serve data in this format, and
VLC/live555 already supports it.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Remove an unused include
Martin Storsjö [Wed, 8 Aug 2012 18:14:38 +0000 (21:14 +0300)]
rtpdec: Remove an unused include

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpenc: Remove an av_abort() that depends on user-supplied data
Martin Storsjö [Wed, 8 Aug 2012 20:23:28 +0000 (23:23 +0300)]
rtpenc: Remove an av_abort() that depends on user-supplied data

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agovsrc_movie: discourage its use with avconv.
Anton Khirnov [Sun, 5 Aug 2012 08:24:36 +0000 (10:24 +0200)]
vsrc_movie: discourage its use with avconv.

11 years agoavconv: allow no input files.
Anton Khirnov [Sun, 5 Aug 2012 06:37:43 +0000 (08:37 +0200)]
avconv: allow no input files.

It is now possible to use lavfi sources.

11 years agoavconv: prevent invalid reads in transcode_init()
Anton Khirnov [Sun, 5 Aug 2012 06:30:24 +0000 (08:30 +0200)]
avconv: prevent invalid reads in transcode_init()

11 years agoavconv: rename OutputStream.is_past_recording_time to finished.
Anton Khirnov [Wed, 8 Aug 2012 10:04:53 +0000 (12:04 +0200)]
avconv: rename OutputStream.is_past_recording_time to finished.

The new name is shorter and more accurate, since this variable is no
longer used only for checking recording time constraint.

11 years agoavconv: split the code for processing input packets out of transcode()
Anton Khirnov [Sat, 4 Aug 2012 16:35:27 +0000 (18:35 +0200)]
avconv: split the code for processing input packets out of transcode()

11 years agoavconv: send EOF to lavfi even if flushing the decoder fails
Anton Khirnov [Wed, 8 Aug 2012 10:27:50 +0000 (12:27 +0200)]
avconv: send EOF to lavfi even if flushing the decoder fails

11 years agoavconv: get rid of pointless temporary variable.
Anton Khirnov [Sat, 4 Aug 2012 10:17:43 +0000 (12:17 +0200)]
avconv: get rid of pointless temporary variable.

11 years agoavconv: simplify transcode().
Anton Khirnov [Sat, 4 Aug 2012 10:12:50 +0000 (12:12 +0200)]
avconv: simplify transcode().

Operate with a pointer to InputFile instead of its index in input_files.

11 years agoavconv: cosmetics
Anton Khirnov [Sat, 4 Aug 2012 10:06:30 +0000 (12:06 +0200)]
avconv: cosmetics

Replace for (;foo == 0;) with while (!foo)
This is prettier.

11 years agoavconv: replace no_packet array in transcode() with a var in InputStream
Anton Khirnov [Sat, 4 Aug 2012 10:04:02 +0000 (12:04 +0200)]
avconv: replace no_packet array in transcode() with a var in InputStream

This simplifies splitting code for reading from input out of
transcode().

11 years agoavconv: remove unused variable from InputFile.
Anton Khirnov [Sat, 4 Aug 2012 09:53:08 +0000 (11:53 +0200)]
avconv: remove unused variable from InputFile.

11 years agoavconv: remove commented out cruft.
Anton Khirnov [Sat, 4 Aug 2012 09:50:30 +0000 (11:50 +0200)]
avconv: remove commented out cruft.

11 years agoavconv: maintain sync on lavfi outputs.
Anton Khirnov [Fri, 3 Aug 2012 20:09:58 +0000 (22:09 +0200)]
avconv: maintain sync on lavfi outputs.

Before this commit, poll_filters() reads all frames available on each
lavfi output. This does not work for lavfi sources that produce
an unlimited number of frames, e.g. color and similar.

With this commit, poll_filters() reads from output with the lowest
timestamp and returns to wait for more input if no frames are available
on it.

11 years agobuild: cosmetics: Reorder some lists in a more logical fashion
Diego Biurrun [Wed, 8 Aug 2012 00:41:57 +0000 (02:41 +0200)]
build: cosmetics: Reorder some lists in a more logical fashion

11 years agox86: pngdsp: Fix assembly for OS/2
Dave Yeo [Wed, 8 Aug 2012 04:46:33 +0000 (21:46 -0700)]
x86: pngdsp: Fix assembly for OS/2

The a.out object format does not allow aligning sections.
On OS/2 LD aligns sections to 16 bytes.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agofate: add test for RTjpeg in nuv with frameheader
Janne Grunau [Mon, 6 Aug 2012 17:43:36 +0000 (19:43 +0200)]
fate: add test for RTjpeg in nuv with frameheader

Renames the old test to allow using fate-nuv as group for all
nuv tests.

11 years agortmp: send check_bw as notification
Luca Barbato [Wed, 8 Aug 2012 09:49:02 +0000 (11:49 +0200)]
rtmp: send check_bw as notification

Set the transactionId to 0 to signal the server a return _result/_error
is not expected.

Solves the problems experienced with strict rtmp servers.

11 years agog723_1: clip argument for 15-bit version of normalize_bits()
Kostya Shishkov [Tue, 7 Aug 2012 17:32:20 +0000 (19:32 +0200)]
g723_1: clip argument for 15-bit version of normalize_bits()

It expects maximum value to be 32767 but calculations in scale_vector()
which uses this function can give it ABS(-32768) which leads to wrong
result and thus clipping is needed.

11 years agog723_1: use all LPC vectors in formant postfilter
Kostya Shishkov [Mon, 6 Aug 2012 18:25:16 +0000 (20:25 +0200)]
g723_1: use all LPC vectors in formant postfilter

Due to some mistake LPC vector for the first subframe was used for all
subframes instead of their own LPC vectors.

11 years agoid3v2: Support v2.2 PIC
Mohammad Alsaleh [Tue, 7 Aug 2012 21:31:51 +0000 (21:31 +0000)]
id3v2: Support v2.2 PIC

id3 v2.2 uses image format ("JPG","PNG") instead of mimetypes.

Currently, the attached picture is skipped because the format string
does not match a known picture mimetype.

This patch fixes this behaviour.

Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoavplay: fix build with lavfi disabled.
Konstantin Pavlov [Wed, 8 Aug 2012 08:30:47 +0000 (12:30 +0400)]
avplay: fix build with lavfi disabled.

Issue introduced in 67339f6e.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years agoavconv: split configuring filter configuration to a separate file.
Anton Khirnov [Thu, 2 Aug 2012 06:24:02 +0000 (08:24 +0200)]
avconv: split configuring filter configuration to a separate file.

11 years agoavconv: split option parsing into a separate file.
Anton Khirnov [Wed, 1 Aug 2012 16:23:12 +0000 (18:23 +0200)]
avconv: split option parsing into a separate file.

11 years agompc8: do not leave padding after last frame in buffer for the next decode call
Kostya Shishkov [Tue, 7 Aug 2012 18:22:57 +0000 (20:22 +0200)]
mpc8: do not leave padding after last frame in buffer for the next decode call

11 years agompegaudioenc: list supported channel layouts.
Anton Khirnov [Wed, 1 Aug 2012 05:33:56 +0000 (07:33 +0200)]
mpegaudioenc: list supported channel layouts.

11 years agompegaudiodec: don't print an error on > 1 frame in a packet.
Anton Khirnov [Tue, 31 Jul 2012 13:44:00 +0000 (15:44 +0200)]
mpegaudiodec: don't print an error on > 1 frame in a packet.

It's a perfectly normal situation, nothing to spam about.

11 years agoapi-example: update to new audio encoding API.
Anton Khirnov [Tue, 31 Jul 2012 13:32:02 +0000 (15:32 +0200)]
api-example: update to new audio encoding API.

11 years agoconfigure: add --enable/disable-random option
Mans Rullgard [Wed, 9 May 2012 03:29:53 +0000 (04:29 +0100)]
configure: add --enable/disable-random option

This allows creating random configurations which is useful for
testing purposes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agodoc: cygwin: Update list of FATE package requirements
Diego Biurrun [Tue, 7 Aug 2012 12:56:38 +0000 (14:56 +0200)]
doc: cygwin: Update list of FATE package requirements

11 years agobuild: Remove all installed headers and header directories on uninstall
Diego Biurrun [Tue, 7 Aug 2012 15:05:34 +0000 (17:05 +0200)]
build: Remove all installed headers and header directories on uninstall

11 years agobuild: change checkheaders to use regular build rules
Mans Rullgard [Tue, 7 Aug 2012 01:11:25 +0000 (02:11 +0100)]
build: change checkheaders to use regular build rules

Many compilers need special flags to compile *.h files as regular
source code, if they will do so at all.  Rather than hoping all
compilers will have such a flag and adding mappings for it, create
wrapper .c files for test building single headers.

This allows using the regular rule for compiling C files without the
need for special flags, and it also provides proper dependency tracking
for these objects.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agortmp: Add a new option 'rtmp_subscribe'
Samuel Pitoiset [Tue, 7 Aug 2012 20:02:27 +0000 (22:02 +0200)]
rtmp: Add a new option 'rtmp_subscribe'

This option specifies the name of live stream to subscribe.
Defaults to rtmp_playpath.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Add support for subscribing live streams
Samuel Pitoiset [Tue, 7 Aug 2012 19:51:46 +0000 (21:51 +0200)]
rtmp: Add support for subscribing live streams

When streaming live streams using the Akamai, Edgecast or Limelight CDN,
players cannot simply connect to the live stream. Instead, they have to
subscribe to it, by sending an FC Subscribe call to the server.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: Factorize simultaneous URLProtocol / AVClass declarations with a macro
Samuel Pitoiset [Tue, 7 Aug 2012 10:21:31 +0000 (12:21 +0200)]
rtmp: Factorize simultaneous URLProtocol / AVClass declarations with a macro

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoARM: use Q/R inline asm operand modifiers only if supported
Mans Rullgard [Tue, 7 Aug 2012 16:43:29 +0000 (17:43 +0100)]
ARM: use Q/R inline asm operand modifiers only if supported

Some compilers do not support the Q/R modifiers used to access
the low/high parts of a 64-bit register pair.  Check for this
and disable all uses of it when not supported.

Fixes bug #337.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoconfigure: Add support for e500mc CPU
Derek Buitenhuis [Tue, 7 Aug 2012 16:49:01 +0000 (12:49 -0400)]
configure: Add support for e500mc CPU

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
11 years agox86: fix build with nasm 2.08
Mans Rullgard [Mon, 6 Aug 2012 01:26:15 +0000 (02:26 +0100)]
x86: fix build with nasm 2.08

It appears that something goes wrong in old nasm versions when the
%+ operator is used in the last argument of a macro invocation and
this argument is tested with %ifdef within the macro.  This patch
rearranges the macro arguments such that the %+ operator is never
used in the last argument.

11 years agox86: use nop cpu directives only if supported
Mans Rullgard [Sun, 5 Aug 2012 23:34:51 +0000 (00:34 +0100)]
x86: use nop cpu directives only if supported

nasm does not support 'CPU foonop' directives.  This adds a configure
test for the directive and uses it only if supported.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agox86: fix rNmp macros with nasm
Mans Rullgard [Sun, 5 Aug 2012 23:21:36 +0000 (00:21 +0100)]
x86: fix rNmp macros with nasm

For some reason, nasm requires this.  No harm done to yasm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agobuild: add trailing / to yasm/nasm -I flags
Mans Rullgard [Sun, 5 Aug 2012 23:17:40 +0000 (00:17 +0100)]
build: add trailing / to yasm/nasm -I flags

nasm requires a trailing / on paths specified with -I.
It does no harm with yasm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agox86: use 32-bit source registers with movd instruction
Mans Rullgard [Sun, 5 Aug 2012 23:16:13 +0000 (00:16 +0100)]
x86: use 32-bit source registers with movd instruction

yasm tolerates mismatch between movd/movq and source register size,
adjusting the instruction according to the register.  nasm is more
strict.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agox86: add colons after labels
Mans Rullgard [Sun, 5 Aug 2012 23:09:48 +0000 (00:09 +0100)]
x86: add colons after labels

nasm prints a warning if the colon is missing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoReplace all CODEC_ID_* with AV_CODEC_ID_*
Anton Khirnov [Sun, 5 Aug 2012 09:11:04 +0000 (11:11 +0200)]
Replace all CODEC_ID_* with AV_CODEC_ID_*

11 years agolavc: add AV prefix to codec ids.
Anton Khirnov [Sun, 5 Aug 2012 08:36:55 +0000 (10:36 +0200)]
lavc: add AV prefix to codec ids.

11 years agobuild: fix library installation on cygwin
Yaakov Selkowitz [Mon, 6 Aug 2012 23:32:48 +0000 (00:32 +0100)]
build: fix library installation on cygwin

This installs libraries using the proper names and locations,
generates an import lib for the DLL, and drops no longer needed
linker flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agompc8: add a flush function
Justin Ruggles [Mon, 6 Aug 2012 17:06:25 +0000 (13:06 -0400)]
mpc8: add a flush function

Ensures that the next frame decoded after seeking will be decoded as a
keyframe.

11 years agompc8: set packet duration and stream start time instead of tracking frames
Justin Ruggles [Mon, 6 Aug 2012 16:38:57 +0000 (12:38 -0400)]
mpc8: set packet duration and stream start time instead of tracking frames

Fixes mpc8 timestamps.

11 years agonuv: K&R formatting cosmetics
Diego Biurrun [Mon, 6 Aug 2012 13:49:51 +0000 (15:49 +0200)]
nuv: K&R formatting cosmetics

11 years agobuild: generalise rules and variable settings for av* programs
Mans Rullgard [Sat, 4 Aug 2012 18:04:08 +0000 (19:04 +0100)]
build: generalise rules and variable settings for av* programs

This simplifies adding extra flags for individual programs
and also allows more than one object file per program.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agonuv: check RTjpeg header for validity
Janne Grunau [Mon, 6 Aug 2012 11:59:04 +0000 (13:59 +0200)]
nuv: check RTjpeg header for validity

CC: libav-stable@libav.org
11 years agoRevert "nuv: check per-frame header for validity."
Janne Grunau [Mon, 6 Aug 2012 11:50:51 +0000 (13:50 +0200)]
Revert "nuv: check per-frame header for validity."

The check is bogus since the nuv frameheader is already skipped
and the (decompressed) RTjpeg header is checked.

This reverts commit f6afacdb3b708720c9fb85984b4f7fdbca2b2036.

CC: libav-stable@libav.org
11 years agoimc: remove unused field IMCContext.one_div_log2
Mans Rullgard [Sun, 5 Aug 2012 21:36:09 +0000 (22:36 +0100)]
imc: remove unused field IMCContext.one_div_log2

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoimc: fix size of a memset()
Mans Rullgard [Sun, 5 Aug 2012 21:32:20 +0000 (22:32 +0100)]
imc: fix size of a memset()

IMCContext was changed from an array to a pointer in 66b84e4,
but this memset() was not updated.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agoimc: remove empty if() block
Mans Rullgard [Sun, 5 Aug 2012 17:32:03 +0000 (18:32 +0100)]
imc: remove empty if() block

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agofate: simplify variable setting filter.mak
Mans Rullgard [Sun, 5 Aug 2012 11:06:19 +0000 (12:06 +0100)]
fate: simplify variable setting filter.mak

This removes some needless indirection and duplication.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agolavf: Declare an AVRational struct without a struct literal
Martin Storsjö [Sun, 5 Aug 2012 19:55:21 +0000 (22:55 +0300)]
lavf: Declare an AVRational struct without a struct literal

At this place, the normal way of initializing a struct works
fine, there's no need for a struct literal.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agox86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2
Diego Biurrun [Tue, 31 Jul 2012 22:17:43 +0000 (00:17 +0200)]
x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2

11 years agorational: add av_inv_q() returning the inverse of an AVRational
Mans Rullgard [Sun, 29 Jul 2012 13:58:53 +0000 (14:58 +0100)]
rational: add av_inv_q() returning the inverse of an AVRational

This allows simplifying a few expressions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
11 years agodpx: Make start offset unsigned
Derek Buitenhuis [Sat, 4 Aug 2012 23:41:20 +0000 (19:41 -0400)]
dpx: Make start offset unsigned

Some corrupted files would end up with a negative offset,
and segfault.

Fixes bug #177.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>