OSDN Git Service
Michael Niedermayer [Sat, 20 Oct 2012 14:58:33 +0000 (16:58 +0200)]
matroskadec: fix double negation typo
Fixes CID602563
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 20 Oct 2012 14:55:45 +0000 (16:55 +0200)]
matroska_parse_rm_audio: check for malloc failure
Fixes CID733712
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 20 Oct 2012 13:32:59 +0000 (15:32 +0200)]
bgmc: check the correct pointers
Fixes CID90539, CID90538
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 20 Oct 2012 11:59:53 +0000 (13:59 +0200)]
lavc: revert broken hunk from
1cd9c81ddb317ca00061d11d3562d3a34888d91b
This should fix fate failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 20 Oct 2012 11:18:59 +0000 (13:18 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
configure: Group math functions into a separate variable
avutil/mem: K&R formatting cosmetics
avutil/lzo: K&R formatting cosmetics
Conflicts:
configure
libavutil/mem.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sat, 20 Oct 2012 10:37:52 +0000 (12:37 +0200)]
Merge commit '
c9ef43215c7d68c2cdcdbe02287aa114f27a32ed'
* commit '
c9ef43215c7d68c2cdcdbe02287aa114f27a32ed':
fate-vc1: add dependencies
ARM: fix overreads in neon h264 chroma mc
rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
gitignore: ignore files created by msvc
fate: Add proper dependencies for the tests in video.mak
configure: Disable Snow decoder and encoder by default
lzo: Drop obsolete fast_memcpy reference
build: Drop OBJS declaration for non-existing PCM_DVD encoder
mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all
Conflicts:
libavcodec/mpegvideo.c
libavformat/rtsp.c
tests/fate/microsoft.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Stefano Sabatini [Tue, 16 Oct 2012 16:15:58 +0000 (18:15 +0200)]
lavu/parseutils: rework rational reduction logic in av_parse_ratio()
Avoid to divide num and den by gcd in case of a parsed expression, since
that is already done in av_d2q(), and force reduction in case of "a:b"
form, allowing to honour the max parameter.
The latter change is consistent with the a/b case, and with the
documentation.
Stefano Sabatini [Sat, 20 Oct 2012 09:53:22 +0000 (11:53 +0200)]
examples/scaling_video: remove unnecessary intermediary variable in fill_yuv_frame()
Stefano Sabatini [Tue, 16 Oct 2012 11:26:51 +0000 (13:26 +0200)]
lavc/utils: fix a few case/punctuation inconsistencies in avcodec_open2()
Stefano Sabatini [Mon, 15 Oct 2012 13:21:00 +0000 (15:21 +0200)]
lavc/utils: extend feedback provided by avcodec_open2()
Stefano Sabatini [Sat, 20 Oct 2012 09:28:07 +0000 (11:28 +0200)]
examples/decoding_encoding: fix misc typos in the usage text
Stefano Sabatini [Sat, 20 Oct 2012 09:00:17 +0000 (11:00 +0200)]
examples/decoding_encoding: remove misplaced and confusing comment
Stefano Sabatini [Sat, 20 Oct 2012 08:59:02 +0000 (10:59 +0200)]
examples/decoding_encoding: add missing checks on avcodec_alloc_context3()
Diego Biurrun [Fri, 19 Oct 2012 16:58:39 +0000 (18:58 +0200)]
configure: Group math functions into a separate variable
This avoids some duplication when listing and testing for the functions.
Diego Biurrun [Thu, 18 Oct 2012 17:16:37 +0000 (19:16 +0200)]
avutil/mem: K&R formatting cosmetics
Diego Biurrun [Thu, 18 Oct 2012 17:15:43 +0000 (19:15 +0200)]
avutil/lzo: K&R formatting cosmetics
Mans Rullgard [Thu, 18 Oct 2012 02:18:39 +0000 (03:18 +0100)]
fate-vc1: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Fri, 19 Oct 2012 12:39:11 +0000 (13:39 +0100)]
ARM: fix overreads in neon h264 chroma mc
The loops were reading ahead one line, which could end up outside the
buffer for reference blocks at the edge of the picture. Removing
this readahead has no measurable performance impact.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Hendrik Leppkes [Fri, 19 Oct 2012 19:35:40 +0000 (21:35 +0200)]
swresample: include ff_log2_tab for shared builds
This is done in accordance with all other libraries, which no longer access ff_log2_tab from avutil directly for shared builds, and instead obtain their own copy.
This change is required for MSVC DLL builds, as well as avoids accessing a private symbol from another library.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Hendrik Leppkes [Fri, 19 Oct 2012 19:35:39 +0000 (21:35 +0200)]
Mark data symbols shared between libraries with av_export
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Wed, 17 Oct 2012 13:46:29 +0000 (16:46 +0300)]
rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
Signed-off-by: Martin Storsjö <martin@martin.st>
Hendrik Leppkes [Sun, 23 Sep 2012 11:52:52 +0000 (13:52 +0200)]
vc1: only disable interlaced b-frames for software decoding
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Hendrik Leppkes [Fri, 13 Jan 2012 21:13:51 +0000 (22:13 +0100)]
vc1: implement vc1 field interlaced dxva2 decoding
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 21:24:03 +0000 (23:24 +0200)]
hlsproto: fix integer overflow
Fixes CID703743
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 21:21:41 +0000 (23:21 +0200)]
gxfenc: fix null ptr dereference
Fixes CID703677
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 21:00:47 +0000 (23:00 +0200)]
hls: fix integer overflow
Fixes CID717892
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 20:35:32 +0000 (22:35 +0200)]
avio: fix sizeof argument
Fixes CID732284
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Hendrik Leppkes [Fri, 19 Oct 2012 20:07:10 +0000 (22:07 +0200)]
gitignore: ignore files created by msvc
exp files are created in every build and contain export information
of the libraries. Both pdb and ilk are created during debug builds,
and contain linking and debug information used by MSVC.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Michael Niedermayer [Fri, 19 Oct 2012 20:14:13 +0000 (22:14 +0200)]
url_alloc_for_protocol: fix use of uninitialized variable
Fixes CID703830
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 19:46:39 +0000 (21:46 +0200)]
avidec: remove unneeded null check
Fixes CID29555
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 17:55:01 +0000 (19:55 +0200)]
vf_mp: fix null ptr deref in case of ENOMEM
Fixes CID703675
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 17:51:33 +0000 (19:51 +0200)]
vf_mp: check list in querry_format()
Fixes CID717772
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 17:35:31 +0000 (19:35 +0200)]
vf_idet: reorder operations to avoid division by 0
Fixes CID733738
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Thu, 18 Oct 2012 22:40:47 +0000 (01:40 +0300)]
fate: Add proper dependencies for the tests in video.mak
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Fri, 19 Oct 2012 16:44:28 +0000 (18:44 +0200)]
utvideoenc: fix theoretical integer overflow
The image sizes needed for this overflow to happen are currently not
supported in lavc, thus this should have no effect execpt making the
code more robust in light of future changes.
Fixes CID732245
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 16:38:53 +0000 (18:38 +0200)]
avcodec_align_dimensions2: add missing breaks
This should have just cosmetic effects
Fixes CID603265
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ash Hughes [Fri, 19 Oct 2012 01:12:56 +0000 (01:12 +0000)]
lavc: enable recursively using avcodec_open2/close.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diego Biurrun [Mon, 15 Oct 2012 21:56:38 +0000 (23:56 +0200)]
configure: Disable Snow decoder and encoder by default
Snow has serious unfixed bugs and no real-world use.
Diego Biurrun [Thu, 18 Oct 2012 14:53:42 +0000 (16:53 +0200)]
lzo: Drop obsolete fast_memcpy reference
Diego Biurrun [Fri, 19 Oct 2012 14:16:06 +0000 (16:16 +0200)]
build: Drop OBJS declaration for non-existing PCM_DVD encoder
Petter Ericson [Wed, 17 Oct 2012 14:53:19 +0000 (16:53 +0200)]
mov.c: Check for stsd + m1s tag indicating MOV-wrapped MPEG-PS, and force continued probing if found.
Fixes Ticket241
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 12 Oct 2012 20:38:54 +0000 (22:38 +0200)]
mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all
Signed-off-by: Martin Storsjö <martin@martin.st>
jamal [Fri, 19 Oct 2012 05:22:12 +0000 (02:22 -0300)]
fate: Handle lavf-fate tests in a makefile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 12:15:47 +0000 (14:15 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
fate: Add proper dependencies in qt.mak
fate: Add proper dependencies in lossless-video.mak
indeo3: do not try to output more lines than we can fit
bmv: get a new frame on every decode_frame(), so we can use direct rendering
Conflicts:
libavcodec/bmv.c
tests/fate/lossless-video.mak
tests/fate/qt.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 11:58:14 +0000 (13:58 +0200)]
Merge commit '
1cd432e167b1a80853760c89a33606e2b5f229c2'
* commit '
1cd432e167b1a80853760c89a33606e2b5f229c2':
configure: fix libcdio check
rtsp: Allow setting the reordering buffer size via an AVOption
rtsp: Vertically align a constant definition
rtp: Update the check for distinguishing between RTP and RTCP
aac: fix build with hardcoded tables
fate: dependencies for screen codec tests
riff: Move functions around to be covered by appropriate #ifdefs
Conflicts:
configure
tests/fate/screen.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 11:47:47 +0000 (13:47 +0200)]
Merge commit '
0af1fe845a9d7112da0a58d33a4fc81fe7c47e95'
* commit '
0af1fe845a9d7112da0a58d33a4fc81fe7c47e95':
avformat: Fix references to the removed function av_write_header in comments
changelog: Mention the MSVC DLL support
fate: add dependencies for misc microsoft codecs
fate-twinvq: add dependencies
fate-mpc: add dependencies
fate-indeo: add dependencies
fate-als: add dependencies
fate: dependencies for demux tests
Conflicts:
Changelog
tests/Makefile
tests/fate/demux.mak
tests/fate/microsoft.mak
tests/fate/mpc.mak
tests/fate/vqf.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 11:29:24 +0000 (13:29 +0200)]
Merge commit '
c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72'
* commit '
c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72':
fate: add a dependency helper macro
Add support for building shared libraries with MSVC
avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
gxf: Add a local copy of the relevant parts of the frame rate table
configure: Split out msvc as a separate target OS
aviobuf: Remove a senseless ifdef in avio_seek
Conflicts:
configure
libavcodec/dirac.c
libavcodec/mpeg12data.h
libavcodec/mpeg12enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Thu, 18 Oct 2012 22:49:15 +0000 (01:49 +0300)]
fate: Add proper dependencies in qt.mak
The output of make fate-list is identical to before.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 18 Oct 2012 21:35:32 +0000 (00:35 +0300)]
fate: Add proper dependencies in lossless-video.mak
The output of make fate-list is identical to before.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Thu, 18 Oct 2012 09:45:42 +0000 (11:45 +0200)]
indeo3: do not try to output more lines than we can fit
Internally chroma planes have multiple of four height while allocated image
planes might be smaller if CODEC_FLAG_EMU_EDGE is set. Thus we should not
output more lines of chroma than frame can accept.
Also the decoder can be safely switched to direct rendering now.
Kostya Shishkov [Thu, 18 Oct 2012 09:08:01 +0000 (11:08 +0200)]
bmv: get a new frame on every decode_frame(), so we can use direct rendering
Michael Niedermayer [Fri, 19 Oct 2012 01:36:42 +0000 (03:36 +0200)]
tiffenc: fix integer overflow
Fixes CID700699
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 01:15:06 +0000 (03:15 +0200)]
roqvideodec: replace dead code by assert
Fixes CID732195
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Fri, 19 Oct 2012 00:53:06 +0000 (02:53 +0200)]
roqaudioenc: Fix crash with very small roq files
Fixes CID703669
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Paul B Mahol [Wed, 17 Oct 2012 08:27:54 +0000 (08:27 +0000)]
lavc/tta: do not overwrite bits_per_coded_sample
It is supposed to be set in libavformat only.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 15:42:24 +0000 (15:42 +0000)]
kmvc: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 14:45:00 +0000 (14:45 +0000)]
xxan: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 14:32:14 +0000 (14:32 +0000)]
lavc/yop: remove redudant YOP in av_log() messages
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 14:27:13 +0000 (14:27 +0000)]
jvdec: use more meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 14:04:12 +0000 (14:04 +0000)]
idcinvideo: if decoding fails return error
Previously if frame decoding failed it would be
silently reported as valid frame.
The fate ref is updated because sample have
truncated last video packet.
While here return meaningful error codes.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Wed, 17 Oct 2012 12:41:17 +0000 (12:41 +0000)]
lavc/c93: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Mans Rullgard [Thu, 18 Oct 2012 21:38:12 +0000 (22:38 +0100)]
configure: fix libcdio check
The compiler/linker flags passed to check_lib2 should not be quoted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Michael Niedermayer [Thu, 18 Oct 2012 23:20:27 +0000 (01:20 +0200)]
motionpixels/mp_decode_frame_helper: assert that the first pixel doesnt reuse the last.
reusing the last would use uninitialized data, this should be
impossible currently, but better to check by assert.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 22:05:03 +0000 (00:05 +0200)]
mlp_parser: print error when ff_combine_frame() fails to add the current buffer
Fixes part of CID602338
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Clément Bœsch [Sun, 14 Oct 2012 01:08:30 +0000 (03:08 +0200)]
lavc: add raw text subtitles decoder.
Martin Storsjö [Wed, 17 Oct 2012 12:46:30 +0000 (15:46 +0300)]
rtsp: Allow setting the reordering buffer size via an AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 17 Oct 2012 12:24:46 +0000 (15:24 +0300)]
rtsp: Vertically align a constant definition
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 16 Oct 2012 22:45:39 +0000 (01:45 +0300)]
rtp: Update the check for distinguishing between RTP and RTCP
Also add enums for more RTCP packet types, according to the IANA
list of registered types.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 18 Oct 2012 19:51:04 +0000 (21:51 +0200)]
ff_convert_matrix: fix integer overflow
Fixes CID608053
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 19:42:31 +0000 (21:42 +0200)]
mpegvideoenc: check return value of ff_MPV_frame_start()
Fixes CID703622
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 19:42:04 +0000 (21:42 +0200)]
lzwenc: change assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 18:49:20 +0000 (20:49 +0200)]
bmv: remove unreachable default case
Fixes CID732191
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Mans Rullgard [Thu, 18 Oct 2012 14:32:11 +0000 (15:32 +0100)]
aac: fix build with hardcoded tables
aac_tablegen.h includes aac.h for the POW_SF2_ZERO definition, but
this also pulls in a raft of other headers, some of which are not
safe to use in code built with the host compiler.
Moving POW_SF2_ZERO to aac_tablegen_decl.h, where the declaration
of the array it relates to already resides, fixes the problems.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Michael Niedermayer [Thu, 18 Oct 2012 18:41:51 +0000 (20:41 +0200)]
indeo4: prevent printing uninitialized variable
Fixes CID703822
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 18:29:03 +0000 (20:29 +0200)]
dv: change assert(a2 < 4) to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diego Biurrun [Thu, 18 Oct 2012 15:48:14 +0000 (17:48 +0200)]
fate: dependencies for screen codec tests
Diego Biurrun [Wed, 17 Oct 2012 19:32:13 +0000 (21:32 +0200)]
riff: Move functions around to be covered by appropriate #ifdefs
This fixes compilation with --disable-muxers.
Michael Niedermayer [Thu, 18 Oct 2012 02:58:20 +0000 (04:58 +0200)]
riff: retry reading metadata without padding if it fails with
Fixes Ticket1821
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 02:57:27 +0000 (04:57 +0200)]
riff: dont discard truncated metadata
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Wed, 17 Oct 2012 19:45:23 +0000 (22:45 +0300)]
avformat: Fix references to the removed function av_write_header in comments
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 18 Oct 2012 12:06:49 +0000 (15:06 +0300)]
changelog: Mention the MSVC DLL support
Also retroactively add a changelog entry to the 9beta1 list
for general MSVC support, which was present there already.
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Thu, 18 Oct 2012 02:19:41 +0000 (03:19 +0100)]
fate: add dependencies for misc microsoft codecs
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 02:12:54 +0000 (03:12 +0100)]
fate: add a dependency helper macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 02:16:35 +0000 (03:16 +0100)]
fate-twinvq: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 02:16:04 +0000 (03:16 +0100)]
fate-mpc: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 02:15:26 +0000 (03:15 +0100)]
fate-indeo: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 02:15:12 +0000 (03:15 +0100)]
fate-als: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Thu, 18 Oct 2012 01:25:58 +0000 (02:25 +0100)]
fate: dependencies for demux tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
Martin Storsjö [Thu, 18 Oct 2012 08:53:19 +0000 (11:53 +0300)]
Add support for building shared libraries with MSVC
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.
To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)
MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').
In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)
This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)
Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.
In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 18 Oct 2012 07:30:03 +0000 (10:30 +0300)]
avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
This table doesn't need to be shared with libavformat any longer.
Add mpeg12 to the name to make it less ambiguous, while renaming it.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 18 Oct 2012 07:23:12 +0000 (10:23 +0300)]
gxf: Add a local copy of the relevant parts of the frame rate table
This avoids having to share this table across the library
boundaries.
This shared table used to be problematic, if always declaring
all exported data symbols with the dllimport attribute (even
while building that same library), since it needs to be a
link-time constant when it is used in AVCodec declarations
(in mpeg12enc.c).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 13 Oct 2012 12:57:56 +0000 (15:57 +0300)]
configure: Split out msvc as a separate target OS
The name mingw32 as target OS is both misleading, and very little
of the target OS specific settings actually match.
Since the target OS default is set based on uname, the default
(which on MSYS is set to mingw) is overridden by --toolchain=msvc.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Thu, 18 Oct 2012 10:16:08 +0000 (12:16 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
mips64: mark hi/lo registers clobbered in MAC64/MLS64 macros
fate: list lavfi tests in a makefile
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 09:42:42 +0000 (11:42 +0200)]
Merge commit '
36ac9a16a19a365ce58cc871484c20cffe9b6401'
* commit '
36ac9a16a19a365ce58cc871484c20cffe9b6401':
fate: dependencies for seek tests
fate: handle lavf test dependencies entirely in make
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 09:01:53 +0000 (11:01 +0200)]
fate: dependencies for ffmpeg vsynth tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 09:01:15 +0000 (11:01 +0200)]
fate: dependencies for ffmpeg acodec tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Thu, 18 Oct 2012 08:29:17 +0000 (10:29 +0200)]
Merge commit '
292d1e78743855404c7d07e3e7cb3f9c9ae6275b'
* commit '
292d1e78743855404c7d07e3e7cb3f9c9ae6275b':
fate: dependencies for acodec tests
fate: dependencies for vsynth tests
fate: add macros useful for conditionally enabling things
libmp3lame: resize the output buffer if needed
Conflicts:
tests/fate/acodec.mak
tests/fate/vcodec.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 17 Oct 2012 22:55:03 +0000 (00:55 +0200)]
cache: check lseek() return
Fixes CID717496
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Wed, 17 Oct 2012 20:00:54 +0000 (23:00 +0300)]
aviobuf: Remove a senseless ifdef in avio_seek
This seemed to assume that one never used writing avio unless
muxers or networking was enabled.
This ifdef is a remnant since
8fa641f8.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Wed, 17 Oct 2012 22:10:59 +0000 (00:10 +0200)]
cmdutils: add missing check for ftell() return
Fixed CID703706
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>