summaryrefslogtreecommitdiff
path: root/libavcodec/ac3tab.h
Commit message (Collapse)AuthorAge
* ac3tab.h: #include the correct headersDiego Biurrun2014-01-09
|
* Add support for building shared libraries with MSVCMartin Storsjö2012-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* mov: set channel layout for AC-3 streams based on the 'dac3' atom infoJustin Ruggles2012-02-22
| | | | fixes Bug 225
* ac3enc: add channel coupling supportJustin Ruggles2011-05-24
| | | | | | | | | Channel coupling is an optional AC-3 feature that increases quality by combining high frequency information from multiple channels into a single channel. The per-channel high frequency information is sent with less accuracy in both the frequency and time domains. This allows more bits to be used for lower frequencies while preserving enough information to reconstruct the high frequencies.
* ac3: move ff_ac3_bit_alloc_calc_bap to ac3dspMans Rullgard2011-03-29
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ac3: remove ff_ac3_critical_band_size_tab[] external declarationMans Rullgard2011-01-25
| | | | | | This fixes compilation broken by 6ed3b504f984dc6cefde8d57a57726f9d30e5033 Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add stereo rematrixing support to the AC-3 encoders.Justin Ruggles2011-01-08
| | | | | | | | This improves the audio quality significantly for stereo source with both the fixed-point and floating-point AC-3 encoders. Update acodec-ac3_fixed and seek-ac3_rm test references. Originally committed as revision 26271 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: use some size macros in ac3tab.c/hJustin Ruggles2010-12-14
| | | | Originally committed as revision 25969 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add channel layout support to the AC-3 decoder and AC-3 parser.Justin Ruggles2009-04-19
| | | | Originally committed as revision 18622 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ac3dec: reorder output channels to SMPTE channel orderJustin Ruggles2009-04-17
| | | | Originally committed as revision 18542 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ac3enc: reorder input channels to AC-3 channel orderJustin Ruggles2009-04-17
| | | | Originally committed as revision 18540 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: Remove pointless period after copyright statement non-sentences.Diego Biurrun2009-01-19
| | | | Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Globally rename the header inclusion guard names.Stefano Sabatini2008-08-31
| | | | | | | | | Consistently apply this rule: the guard name is obtained from the filename by stripping the leading "lib", converting '/' and '.' to '_' and uppercasing the resulting name. Guard names in the root directory have to be prefixed by "FFMPEG_". Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: make all references to AC-3 capitalized and hyphenatedJustin Ruggles2008-08-03
| | | | Originally committed as revision 14523 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full path for #includes from another directory.Diego Biurrun2008-05-09
| | | | Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()Bartlomiej Wolowiec2008-04-24
| | | | | | and then reads the channel_map stuff Originally committed as revision 12944 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: rename ac3 tablesJustin Ruggles2007-12-09
| | | | Originally committed as revision 11193 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add FFMPEG_ prefix to all multiple inclusion guards.Diego Biurrun2007-10-17
| | | | Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: alignAurelien Jacobs2007-04-25
| | | | Originally committed as revision 8817 to svn://svn.ffmpeg.org/ffmpeg/trunk
* move ac3 tables from a .h to a .cAurelien Jacobs2007-04-25
| | | | Originally committed as revision 8816 to svn://svn.ffmpeg.org/ffmpeg/trunk
* hardcode ff_ac3_frame_sizes tableJustin Ruggles2007-03-18
| | | | Originally committed as revision 8435 to svn://svn.ffmpeg.org/ffmpeg/trunk
* remove redundancy in AC-3 parser by using common tables from ac3tab.hJustin Ruggles2007-03-11
| | | | Originally committed as revision 8318 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove common code from AC-3 encoder and utilize ac3.c.Justin Ruggles2007-03-09
| | | | Originally committed as revision 8306 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change license headers to say 'FFmpeg' instead of 'this program/this library'Diego Biurrun2006-10-07
| | | | | | and fix GPL/LGPL version mismatches. Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add official LGPL license headers to the files that were missing them.Diego Biurrun2006-09-10
| | | | Originally committed as revision 6219 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix 2 bit allocation bugs. One fix enables using a higher bandwidth code. ↵Justin Ruggles2006-09-03
| | | | | | The other fixes an issue with floorcod=7. Originally committed as revision 6156 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Revert bad ac3enc commit, the commited code was bigger and slower.Benjamin Larsson2006-04-28
| | | | Originally committed as revision 5327 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Patch to generate the ac3 window, based on code by Justin Ruggles.Benjamin Larsson2006-04-22
| | | | Originally committed as revision 5310 to svn://svn.ffmpeg.org/ffmpeg/trunk
* switch ac3enc to av_crcMichael Niedermayer2006-03-06
| | | | Originally committed as revision 5116 to svn://svn.ffmpeg.org/ffmpeg/trunk
* COSMETICS: Remove all trailing whitespace.Diego Biurrun2005-12-17
| | | | Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
* make the tables staticAlex Beregszaszi2004-06-26
| | | | Originally committed as revision 3255 to svn://svn.ffmpeg.org/ffmpeg/trunk
* per file doxyMichael Niedermayer2003-03-06
| | | | Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
* * UINTX -> uintx_t INTX -> intx_tZdenek Kabelac2003-02-11
| | | | Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
* preparing integration of new AC3 decoderFabrice Bellard2002-10-28
| | | | Originally committed as revision 1089 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Initial revisionFabrice Bellard2001-07-22
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk